Documentação da API
Integre verificação facial em qualquer produto — evento, ponto, acesso, varejo. O ModFACE identifica pelo rosto e devolve o resultado; a regra de negócio é sua. Tudo via REST, autenticado por API key.
Introdução
O fluxo tem dois momentos: cadastro (enrollment) do rosto na inscrição, e reconhecimento na hora da verificação. Cada tenant tem uma galeria isolada, identificada pela API key — não há comparação cruzada entre tenants.
1. Cadastro
POST /faces com a captura + external_id + consentimento.
2. Reconhecimento
POST /recognize confirma liveness e compara 1:N.
3. Resultado
Retorna confirmado + external_id + score. Você decide o resto.
Autenticação
Toda requisição envia a API key da galeria no header. Aceitamos Authorization: Bearer ou X-Api-Key. A key é exibida uma única vez no painel — guarde-a com segurança; no servidor guardamos só o hash.
Authorization: Bearer mf_sua_api_key_aqui
Content-Type: application/json
Endpoints
| Método | Caminho | Descrição |
|---|---|---|
| POST | /faces | Cadastra (enrollment) o rosto de um participante na galeria do tenant. |
| POST | /recognize | Reconhece 1:N contra a galeria e confirma liveness. |
| DELETE | /faces/{external_id} | Exclui o participante e sua biometria (LGPD). |
| GET | /events/{event}/usage | Consumo faturável do evento (metering). |
| GET | /events/{event}/attendance | Lista as verificações/presenças do evento. |
/faces
Cadastra o rosto de um participante. Envie a imagem (multipart/base64) ou o embedding já extraído no navegador. O external_id é seu identificador — o ModFACE nunca guarda nome/CPF.
curl -X POST https://modface.gmscorporation.com.br/api/faces \
-H "Authorization: Bearer mf_sua_api_key_aqui" \
-F "external_id=cliente-8f3a" \
-F "consentimento=1" \
-F "imagem=@rosto.jpg"
{
"participante": {
"id": 42,
"external_id": "cliente-8f3a",
"nome": null,
"consentimento_em": "2026-09-05T12:00:00-03:00"
},
"embedding": [0.021, -0.114, 0.087, "..."],
"modelo_versao": "stub-v1",
"quality_score": 0.94
}
/recognize
Reconhece 1:N. Confirma o liveness da captura e compara contra a galeria enviada. Retorna match, score e o external_id. Só há match com score ≥ limiar e liveness aprovado.
{
"match": true,
"liveness_ok": true,
"score": 0.9812,
"limiar": 0.96,
"faturavel": true,
"participante": { "external_id": "cliente-8f3a", "nome": null }
}
Erros
Respostas seguem o padrão HTTP. O corpo traz sempre um campo message.
| Código | Significado |
|---|---|
| 401 | API key ausente ou inválida. |
| 403 | A API key não pertence a este evento/tenant. |
| 404 | Recurso não encontrado (ex.: external_id inexistente). |
| 422 | Dados inválidos (sem rosto na imagem, imagem vazia, campo faltando). |
| 429 | Rate limit excedido (120 req/min por key). |
Limites & billing
- Rate limit de 120 requisições por minuto por API key.
- R$ 0,35 por reconhecimento com match. No-match e falha de liveness não faturam.
- Dedup: a mesma pessoa reconhecida 2x em 10 min não cobra em dobro.
- Enrollment (cadastro) não tem custo por face.
Comece a integrar
Crie sua conta, gere a API key e faça a primeira chamada em minutos.
Gerar API key