Referência da API (OpenAPI)
A API REST completa da Certivant como um documento OpenAPI 3.1 — uma especificação JSON pública que você pode importar no Postman ou usar em um gerador de código, além de uma referência interativa com todos os endpoints, esquemas, escopos e eventos de webhook.
Todo endpoint que uma chave de API pode chamar é descrito em um único documento OpenAPI 3.1. Ele é público: não exige login nem chave, e pode ser baixado com segurança a partir de um CI ou de um gerador de código.
| Documento OpenAPI | /api/v1/openapi.json (alias /api/openapi.json) |
| Referência interativa | /api/v1/docs |
| Formato | OpenAPI 3.1.0, JSON |
| Autenticação | Authorization: Bearer <chave de API> — veja Autenticação |
| Cache | Cache-Control: public, max-age=300 e um ETag; envie If-None-Match para receber 304 quando nada tiver mudado |
O documento contém apenas a superfície de chaves de API (/api/v1/...). As rotas do painel e de administração não fazem parte dele.

O que o documento informa
- Cada operação tem uma tag (Verifications, KYB, Documents, Forms, Deliveries, Live verification, Fraud signals, EDD, Privacy, Analytics, Audit, Reuse), um
operationIdestável para clientes gerados, e os esquemas de requisição e resposta. - Escopos. Cada operação lista o escopo que exige em
x-required-scopee todos os escopos que também a satisfazem emx-accepted-scopes— os escopos amploskyc:*e os escopos por recurso, comoverifications:readouforms:write. Uma operação semx-required-scopeaceita qualquer chave válida. - Erros. Cada operação lista as respostas de erro que pode retornar (
400,401,402,403,404,409,429,502), e todas usam o mesmo envelope de erro descrito em Erros. - Limites de requisições. As respostas de sucesso declaram os cabeçalhos
X-RateLimit-*; veja Limites de requisições. - Webhooks. A seção
webhookslista todos os eventos que enviamos, com o esquema do payload e como verificar a assinatura. Veja Eventos de webhook e Verificação de assinatura.
Referência interativa
Navegue por todos os endpoints, leia os esquemas e monte requisições diretamente aqui. Use o painel Autenticação para colar uma chave de API e enviar requisições reais.
Se o quadro não carregar, abra a referência diretamente em /api/v1/docs.
Baixar o documento OpenAPI
# Save the spec
curl -sS https://app.certivant.com/api/v1/openapi.json -o certivant-openapi.json
# Only download again when it changed
curl -sS -D - -o /dev/null \
-H 'If-None-Match: "<etag from your last download>"' \
https://app.certivant.com/api/v1/openapi.json
import { writeFile } from "node:fs/promises";
const res = await fetch("https://app.certivant.com/api/v1/openapi.json");
if (!res.ok) throw new Error(`Spec download failed: ${res.status}`);
const spec = await res.json();
console.log(spec.info.title, spec.info.version, Object.keys(spec.paths).length, "paths");
await writeFile("certivant-openapi.json", JSON.stringify(spec, null, 2));
import json
import urllib.request
with urllib.request.urlopen("https://app.certivant.com/api/v1/openapi.json") as res:
spec = json.load(res)
print(spec["info"]["title"], spec["info"]["version"], len(spec["paths"]), "paths")
with open("certivant-openapi.json", "w") as f:
json.dump(spec, f, indent=2)
Como usar
Postman, Insomnia, Bruno. Importe a URL https://app.certivant.com/api/v1/openapi.json. Defina uma variável de ambiente para a sua chave e use-a como token Bearer na coleção.
Gere um cliente. Qualquer gerador compatível com OpenAPI 3.1 funciona. Por exemplo, com o OpenAPI Generator CLI:
npx @openapitools/openapi-generator-cli generate \
-i https://app.certivant.com/api/v1/openapi.json \
-g typescript-fetch \
-o ./certivant-client
Os operation ids, como createVerification, submitVerification e getVerification, viram os nomes dos métodos. Defina a URL do servidor e um token Bearer na configuração do cliente gerado.
Chame sem um cliente. Uma primeira requisição precisa apenas da chave:
curl -sS https://app.certivant.com/api/v1/kyc/requests?limit=5 \
-H "Authorization: Bearer $CERTIVANT_API_KEY"
Acompanhando as mudanças
O documento é gerado a partir da API em execução, por isso sempre corresponde aos endpoints publicados. Baixe-o novamente (com o ETag) sempre que gerar um cliente de novo. Trate os objetos de resposta como abertos: ignore os campos que você não conhece, porque novos campos opcionais podem surgir.
Segurança e limites
Como o servidor MCP da Certivant classifica os dados pessoais (PII), envolve o texto controlado pelo solicitante em um envelope não confiável, limita os lembretes a um por 24 horas e compartilha o limite de 120 requisições por minuto por locatário — além da lacuna de auditoria que você não deve mascarar.
Erros
Todos os códigos de erro da API da Certivant explicados — formato da resposta, correspondência com códigos HTTP, orientações de tratamento por código e um wrapper robusto de novas tentativas que você pode incluir na sua integração.