{"openapi":"3.1.0","info":{"title":"NextraID Consultas API","version":"v1","description":"Consultas de CPF, CNPJ, placa, compliance e certidões com relatório em PDF.\n\nAutorização: nxq_xxxx•••••••••••••••• no cabeçalho Authorization: Bearer. A chave é criada em /minha-conta/chaves-api e gasta o mesmo saldo da carteira da conta.\n\nLimite: 20 consultas por hora, por chave e por endereço. Retenção do histórico concluído: 180 dias. Aceite de LGPD registrado na criação da chave (consultas-lgpd-v1).","termsOfService":"https://www.nextraid.com.br/termos","contact":{"url":"https://www.nextraid.com.br/consultas/api"}},"servers":[{"url":"https://www.nextraid.com.br","description":"Produção"}],"security":[{"apiKey":[]}],"paths":{"/api/v1/consultas":{"post":{"summary":"Executa uma consulta","description":"Desconta o preço do SKU da carteira, consulta a fonte e devolve o resultado já concluído. Limite: 20 consultas por hora, por chave e por endereço.","operationId":"createConsulta","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Repetir a mesma chave de idempotência devolve a mesma consulta em vez de gastar crédito de novo (8 a 128 caracteres).","schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["sku","document"],"properties":{"sku":{"type":"string","enum":["cpf_basico","cpf_completo","cpf_premium","cpf_receita","cpf_obito","cpf_socioeconomico","cpf_kyc","cnpj_basico","cnpj_completo","cnpj_premium","cnpj_receita","cnpj_receita_live","cnpj_filiais","cnpj_participacao","cnpj_ubo","cnpj_qsa_cpf","placa_basica","gravame","veicular_top","cnh","frotas","pep","ceis","cnep","cnia","aml","listas_restritivas","midia_adversa","sicaf","tcu_licitante","score","negativacoes","protestos","protestos_sp","scr","processos","processos_agrupados","processos_completo","antecedentes","mandados","trt","pgfn","cadin","sintegra","fgts","ccd_pf","ccd_pj","cndt","ibama"],"description":"49 códigos publicados, com preço em /consultas."},"document":{"type":"string","minLength":1,"maxLength":32,"description":"CPF, CNPJ ou placa, com ou sem máscara, conforme o SKU."}}},"example":{"sku":"cnpj_basico","document":"11.222.333/0001-81"}}}},"responses":{"200":{"description":"Consulta concluída; crédito descontado.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"run":{"type":"object","description":"A consulta executada. Documento sempre mascarado; a entrada crua nunca sai da API.","properties":{"id":{"type":"string","description":"Id usado para baixar o PDF."},"sku":{"type":"string","description":"Código consultado."},"inputMasked":{"type":"string","description":"Documento mascarado (CPF 000.***.***-**)."},"status":{"type":"string","enum":["completed","failed","pending"]},"priceCents":{"type":"integer","description":"Crédito gasto, em centavos."},"provider":{"type":"string","description":"Fonte do dado usada na consulta."},"createdAt":{"type":"string","description":"Data e hora no formato ISO 8601."},"pdfUrl":{"type":"string","description":"Caminho relativo do PDF: /api/v1/consultas/runs/{id}/pdf."}}},"balanceCents":{"type":"integer","description":"Saldo restante em centavos."}}}}}},"400":{"description":"Corpo inválido ou SKU fora dos códigos publicados.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"balanceCents":{"type":"integer","description":"Saldo restante em centavos."}}}}}},"401":{"description":"Sem Authorization: Bearer <chave>, ou chave revogada.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"balanceCents":{"type":"integer","description":"Saldo restante em centavos."}}}}}},"402":{"description":"Saldo insuficiente. Compre créditos na conta e repita.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"balanceCents":{"type":"integer","description":"Saldo restante em centavos."}}}}}},"409":{"description":"Idempotência em conflito, consulta em andamento ou falha anterior com a mesma chave.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"balanceCents":{"type":"integer","description":"Saldo restante em centavos."}}}}}},"429":{"description":"Limite atingido: 20 consultas por hora, por chave e por endereço.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"balanceCents":{"type":"integer","description":"Saldo restante em centavos."}}}}}},"502":{"description":"A fonte não respondeu. O crédito volta para a carteira sozinho.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"balanceCents":{"type":"integer","description":"Saldo restante em centavos."}}}}}}}}},"/api/v1/consultas/runs/{id}/pdf":{"get":{"summary":"Baixa o PDF do resultado","description":"Só existe consulta concluída. O PDF traz o documento mascarado e a mesma regra de retenção do histórico web.","operationId":"getConsultaPdf","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Relatório em PDF.","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"Chave ausente ou revogada.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"balanceCents":{"type":"integer","description":"Saldo restante em centavos."}}}}}},"404":{"description":"Consulta inexistente, de outra conta ou ainda não concluída.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"},"balanceCents":{"type":"integer","description":"Saldo restante em centavos."}}}}}}}}}},"components":{"securitySchemes":{"apiKey":{"type":"http","scheme":"bearer","description":"Chave com o prefixo nxq_, criada uma vez em /minha-conta/chaves-api. Guardamos só o hash: se perder a chave, revogue e crie outra.","example":"nxq_xxxx••••••••••••••••"}}}}