Endpoint
Consultar Score de CPF e CNPJ
Envie um documento e receba um score de risco judicial com detalhamento por tipo de processo. O resultado é entregue de forma assíncrona via webhook.
Endpoint#
/v1/scorePré-requisito
É necessário ter um webhook registrado antes de enviar consultas. Sem webhook, a API retorna 428 Precondition Required.
Corpo da requisição#
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
document | string | sim | CPF (11 dígitos) ou CNPJ (14 dígitos). Aceita formatação com pontos e traços. |
document_type | "cpf" | "cnpj" | sim | Tipo de documento enviado. |
external_id | string | não | Identificador externo para correlação no seu sistema. Máximo de 120 caracteres. Retornado no webhook. |
Aliases aceitos
Para conveniência, a API também aceita documento como alias de document e tipo como alias de document_type.
Exemplo de requisição#
curl -X POST https://api.faroway.tech/v1/score \
-H "Authorization: Bearer sua_chave_de_api" \
-H "Content-Type: application/json" \
-d '{
"document": "123.456.789-09",
"document_type": "cpf",
"external_id": "customer-123"
}'Resposta: 202 Accepted#
A consulta foi aceita e está sendo processada. O resultado será entregue no seu webhook.
{
"request_id": "req_8f2b4a2d",
"status": "processing",
"received_at": "2026-03-07T12:00:00Z"
}| Campo | Tipo | Descrição |
|---|---|---|
request_id | string | Identificador único da consulta. Formato: req_ seguido de 32 caracteres hexadecimais. |
status | "processing" | Status inicial da consulta. Sempre processing no 202. |
received_at | string (ISO 8601) | Timestamp de quando a consulta foi recebida. |
Resultado via webhook#
Quando a análise é concluída, a Faroway envia um POST para o webhook registrado com o evento score.completed ou score.failed.
score.completed#
{
"event": "score.completed",
"request_id": "req_8f2b4a2d",
"external_id": "customer-123",
"status": "completed",
"result": {
"document": "12345678909",
"score": 93,
"risk_level": "low",
"cases": {
"total": 1,
"open": 0,
"closed": 1
},
"case_breakdown": {
"labor": 0,
"civil": 1,
"criminal": 0,
"tax": 0
},
"completed_at": "2026-03-07T12:00:08Z"
}
}| Campo | Tipo | Descrição |
|---|---|---|
document | string | CPF ou CNPJ consultado (somente dígitos). |
score | number | Score de compliance de 0 a 100. Quanto maior, menor o risco. |
risk_level | "low" | "medium" | "high" | Classificação de risco. low: score ≥ 80, medium: score ≥ 50, high: score < 50. |
cases.total | number | Total de processos judiciais encontrados. |
cases.open | number | Processos em andamento. |
cases.closed | number | Processos encerrados. |
case_breakdown.labor | number | Processos trabalhistas. |
case_breakdown.civil | number | Processos cíveis. |
case_breakdown.criminal | number | Processos criminais. |
case_breakdown.tax | number | Processos tributários. |
completed_at | string (ISO 8601) | Timestamp de quando a análise foi concluída. |
Níveis de risco#
| risk_level | Faixa de score | Interpretação |
|---|---|---|
| low | 80–100 | Baixo risco judicial. Poucos ou nenhum processo relevante. |
| medium | 50–79 | Risco moderado. Alguns processos encontrados, recomendada análise complementar. |
| high | 0–49 | Alto risco judicial. Volume significativo de processos abertos. |
score.failed#
Se a consulta não puder ser processada, o webhook recebe o evento score.failed com detalhes sobre o erro.
{
"event": "score.failed",
"request_id": "req_1ac93e44",
"external_id": "customer-456",
"status": "failed",
"error": {
"code": "mock_processing_error",
"message": "The request could not be processed for this document."
}
}Erros de validação#
Se o corpo da requisição for inválido, a API retorna 400 Bad Request com uma mensagem descritiva. Exemplos:
Invalid document_type. Use cpf or cnpj.document_type não é cpf ou cnpjField document is required.document ausente ou vazioInvalid CPF. Expected 11 digits.CPF com número errado de dígitosInvalid CNPJ. Expected 14 digits.CNPJ com número errado de dígitosField external_id must be a string.external_id não é stringVeja a lista completa de status HTTP em códigos de resposta.