Executar Consulta
Executa uma consulta e devolve o resultado diretamente na resposta. A requisição HTTP fica aberta enquanto a API enfileira o job, aguarda o provedor e monta o resultado — não é necessário fazer polling em fluxo normal.
Timeout
Se a execução demorar mais do que o limite configurado no servidor (alguns provedores levam até alguns minutos), a API responde 504 com um consultaId (hash). Nesse caso o processamento continua em segundo plano — recupere o resultado depois com GET /consultas/resultado/{consultaId} (polling) ou GET /consultas/stream/{consultaId} (SSE).
Parâmetros da consulta
Os campos do body variam de acordo com a consulta. Antes de executar, consulte GET /consultas/{id} para ver quais parâmetros são esperados e quais são obrigatórios. Deixar de enviar um campo obrigatório retorna 400.
Limites de uso
Cada usuário possui limites diários e mensais configurados por consulta (visíveis em GET /consultas). Ao atingir o limite, a API retorna 403.
Como descobrir os parâmetros
Cada consulta tem um conjunto diferente de parâmetros. Antes de executar, useGET /consultas/{id} para ver quais campos enviar e quais são obrigatórios:
{ "cpf": "..." }. Veja todos os campos retornados em Detalhes de uma Consulta.
O resultado vem direto na resposta
Diferente do que você pode esperar de uma API de processamento assíncrono, não é necessário fazer polling. A requisição HTTP fica aberta enquanto a consulta é processada e a API já devolve200 com o resultado completo:
Consultas com múltiplos produtos
Se a consulta combina mais de um produto internamente (ex: um checklist veicular que roda restrições + gravame),resultados vem como um array, um item por produto:
Quando um produto falha
Se o provedor de um produto específico retornar erro, a API ainda responde com o mesmo formato do sucesso — só que comsuccess: false e o(s) erro(s) no lugar dos dados, e o código HTTP muda para 500:
resultados) — trate cada item pelo seu próprio data ou error.
Uma falha técnica antes mesmo de chamar o provedor (ex: consulta sem produtos configurados) tem um formato mais enxuto, sem o envelope completo:
O caso raro: timeout (504)
Provedores excepcionalmente lentos podem ultrapassar o limite de espera do servidor. Nesse caso a API responde 504 e a execução continua rodando em segundo plano:
consultaId retornado em GET /consultas/resultado/{consultaId} (polling) ou GET /consultas/stream/{consultaId} (SSE) para recuperar o resultado assim que estiver pronto.
Exemplo completo em código
Authorizations
Token JWT retornado pelo endpoint POST /auth/login. Inclua este header em todas as requisições autenticadas.
Path Parameters
ID da consulta a ser executada. Obtenha via GET /consultas.
Body
Parâmetros da consulta. Os campos e suas obrigatoriedades variam por consulta — verifique em GET /consultas/{id}.
Mapa de parâmetros da consulta. Envie apenas os campos definidos para esta consulta.
Response
Consulta executada com sucesso. O campo resultados contém a resposta completa do(s) provedor(es).
Envelope de uma execução concluída — devolvido tanto por POST /consultas/executar/{id} quanto por GET /consultas/resultado/{consultaId} (formato hash).
completed "completed"
true se todos os produtos da consulta retornaram dados com sucesso. false se pelo menos um produto falhou — nesse caso a resposta HTTP é 500, mas o corpo mantém este mesmo formato (resultados traz o(s) erro(s) por produto).
true
ID da consulta executada (o mesmo {id} do path de POST /consultas/executar/{id})
1
Nome legível da consulta
"KYC — Pessoa Física"
ID permanente desta execução. Use em GET /consultas/logs/details/{id} ou em GET /consultas/resultado/{query_execution} para recuperar o resultado no futuro.
4201
Data e hora da execução no fuso de Brasília
"10/04/2026 14:32:00"
Dados retornados pelo(s) provedor(es). Se a consulta tem um único produto: este campo é o objeto de dados diretamente (sucesso) ou { product_name, error, status } (falha). Se a consulta tem múltiplos produtos: este campo é um array, um item por produto, cada um { product_name, data } (sucesso) ou { product_name, error, status } (falha) — misturando sucessos e falhas quando aplicável.
- object
- object[]

