MCP 服务器

editalmd

com.editalmd/editalmd

此 MCP 可以做什么

Searches Brazilian public procurement opportunities and documents, tracks deadlines and alerts, and supports tender document access, analysis, and company participation workflows.

adicionar_empresa
Adicionar empresa
Importa e vincula o CNPJ ao próprio dono. 201 ao criar, 200 na repetição sem nova consulta/escrita. Até 20 empresas. Importa os dados cadastrais disponíveis, sem sócios ou contatos; nenhuma análise é iniciada.
可能执行破坏性操作 幂等
输入模式
{'type': 'object', 'required': ['cnpj'], 'properties': {'cnpj': {'type': 'string', 'description': 'CNPJ completo, 14 dígitos com verificação válida.'}}}
alerta_por_cnpj
Alerta por CNPJ
Alertas de compra nova pelo CNPJ da empresa (precisa do token edm_…): as atividades (CNAE) viram famílias de termos e sai um alerta por família, principal primeiro, até max_familias. O que passa da franquia é cobrado numa vez só (x402 ou crédito). CNAE fora do dicionário vem listado na resposta com familia nula. Dois modos. Por `termos`: espaço exige todas as palavras, `|` aceita qualquer uma do grupo (`uniforme|fardamento escolar`). Por `cnpj`: o cadastro da empresa informa as atividades (CNAE), o dicionário (`GET /api/cnaes`) transforma cada CNAE numa família de termos e sai um alerta por família distinta, principal primeiro, até `max_familias`; CNAE fora do dicionário não vira alerta e é listado em `empresa.cnaes` com `familia: null`. O primeiro alerta ativo é grátis (`FRANQUIA_ALERTAS`); os seguintes custam `PRECO_ALERTA` por 30 dias cada — no modo CNPJ, numa cobrança só (N × preço), por x402 ou crédito. O cron confere a cada 30 minutos. Canal e-mail exige a sessão da conta — o aviso vai para o e-mail verificado dela, sem código de confirmação — e só existe com `EMAIL_ALERTAS=1`.
输入模式
{'type': 'object', 'required': ['cnpj'], 'properties': {'uf': {'type': 'string', 'description': 'Sigla da UF (opcional)'}, 'cnpj': {'type': 'string', 'description': 'CNPJ com 14 dígitos, com ou sem pontuação'}, 'canal': {'enum': ['pull', 'webhook', 'email'], 'type': 'string', 'default': 'pull', 'description': 'pull, webhook ou email (padrão pull)'}, 'destino': {'type': 'string', 'description': 'URL https (webhook); ignorado no pull e no email (vai para o e-mail da conta)'}, 'filtros': {'type': 'object', 'properties': {'cnaes': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\d{4}-?\\d/?\\d{2}$'}, 'maxItems': 8}, 'abertas': {'type': 'boolean'}, 'excluir': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10}, 'valor_max': {'type': 'number', 'minimum': 0}, 'valor_min': {'type': 'number', 'minimum': 0}, 'municipios': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10}, 'modalidades': {'type': 'array', 'items': {'type': 'integer', 'maximum': 13, 'minimum': 1}, 'maxItems': 10}}, 'description': 'Recorte adicional: modalidades, municípios, exclusões, valores, propostas abertas e CNAEs. PATCH substitui o recorte inteiro; {} limpa.', 'additionalProperties': False}, 'max_familias': {'type': 'number', 'default': 8, 'description': '1 a 8 (padrão 8): quantas famílias viram alerta'}}}
alertas_compras
Alertas compras
Compras que já casaram com um alerta (canal pull), com prazos e status de entrega. Precisa do token edm_….
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'id do alerta'}, 'limite': {'type': 'number', 'description': '1 a 100 (padrão 50)'}, 'antes_compra': {'type': 'number', 'description': 'proximo_antes da página anterior'}}}
analisar_participacao
Analisar participacao
Inicia/retoma análise com cadastro, anexos e edital. Só chame por solicitação do usuário; acompanhe por consultar_participacao. 202 após aceitar e preservar o pedido; 200 ao reaproveitar análise concluída. Usa perfil e anexos deste dono. Pedidos interrompidos podem ser retomados; falhas informam motivo e próxima ação. POST explícito retoma uma pausa. Até 2 mil fatos e 100 editais por empresa, sujeitos à capacidade e ao orçamento disponíveis. Não cobra nova compra nesta operação. Acompanhamento somente por GET. A análise oferece triagem com evidências, não decisão definitiva de habilitação nem consulta jurídica externa.
输入模式
{'type': 'object', 'required': ['cnpj', 'id', 'v'], 'properties': {'v': {'type': 'string', 'description': 'SHA-256 do Markdown aberto, 64 hex minúsculos.'}, 'id': {'type': 'integer', 'description': 'ID do documento.'}, 'cnpj': {'type': 'string', 'description': 'CNPJ de 14 dígitos vinculado ao dono.'}}}
anexar_documento_empresa
Anexar documento empresa
Envia comprovante PDF da empresa. Não inicia OCR. Sessão necessária; prefira HTTP para arquivos grandes. 201. JSON até 11.200.000 bytes; PDF até 8 MiB, 20 documentos/80 MiB/50 páginas por empresa. Arquivo idêntico é reaproveitado. A leitura automática acontece somente ao solicitar a análise.
输入模式
{'type': 'object', 'required': ['cnpj', 'nome', 'tipo', 'arquivo_base64'], 'properties': {'cnpj': {'type': 'string', 'description': 'CNPJ de 14 dígitos vinculado ao dono.'}, 'nome': {'type': 'string', 'description': 'Nome do PDF.'}, 'tipo': {'type': 'string', 'description': 'atestado, certidao, licenca, contrato_social ou outro.'}, 'arquivo_base64': {'type': 'string', 'description': 'PDF em base64, até 8 MiB decodificado.'}}}
api_access
API access
Monthly data package and private purchase status, without charging.
只读 幂等
输入模式
{'type': 'object', 'properties': {'api_pass': {'type': 'string', 'description': 'Private pass: api_<32 random hex>_<64 random hex>. Save before buying.'}}, 'additionalProperties': False}
api_access_buy
API access buy
Buy 1,000 basic data reads for US$1, valid for 30 days. Requires explicit payment. Same pass in retries recovers the same purchase. No automatic renewal. OCR, AI, documents and delivery keep their own tariffs. Send X-API-Pass on eligible data reads; remaining credits come in X-API-Credits-Remaining.
输入模式
{'type': 'object', 'required': ['api_pass'], 'properties': {'payment': {'type': 'string', 'description': 'Signed x402 payload, after authorizing the quote.'}, 'api_pass': {'type': 'string', 'description': 'Private pass: api_<32 random hex>_<64 random hex>. Save before buying.'}, 'transaction': {'type': 'string', 'description': 'Base transaction hash to reconcile an uncertain payment with the same pass and original payload.'}, 'credit_token': {'type': 'string', 'description': 'Existing prepaid credit token.'}}, 'additionalProperties': False}
api_index
API index
Índice da API do EditalMD: rotas, regime de cobrança e preço.
只读 幂等
输入模式
{'type': 'object', 'properties': {}}
avaliacao_basico
Avaliacao basico
Texto nativo/OCR básico de PDF até 50 páginas/32 MiB, sem revisão nem tabelas estruturadas. Até 100 documentos por agente. Não libera premium. Não cobra. Franquia por credencial, até a menor data entre os 30 dias do agente e o fim do piloto. Repetição do mesmo documento não consome outra unidade. Não envie pagamento. Premium: guarde evaluation.access_code e use X-Editalmd-Avaliacao junto de X-Agent-Pass nas leituras e no GET /geracao. Básico não abre conteúdo premium. Piloto sujeito ao orçamento global; sem renovação automática.
输入模式
{'type': 'object', 'required': ['agent_pass', 'id'], 'properties': {'id': {'type': 'number', 'description': 'ID do documento do acervo.'}, 'agent_pass': {'type': 'string', 'description': 'Credencial individual persistente obtida em POST https://api.editalmd.com/licitacoes/api/agente. Não é User-Agent.'}}}
avaliacao_basico_resultado
Avaliacao basico resultado
Acompanhe a leitura básica após retry_after_s e recupere texto por página com hash da fonte. Não cobra. Franquia por credencial, até a menor data entre os 30 dias do agente e o fim do piloto. Repetição do mesmo documento não consome outra unidade. Não envie pagamento. Premium: guarde evaluation.access_code e use X-Editalmd-Avaliacao junto de X-Agent-Pass nas leituras e no GET /geracao. Básico não abre conteúdo premium. Piloto sujeito ao orçamento global; sem renovação automática.
只读 幂等
输入模式
{'type': 'object', 'required': ['agent_pass', 'id'], 'properties': {'id': {'type': 'number', 'description': 'ID do documento do acervo.'}, 'agent_pass': {'type': 'string', 'description': 'Credencial individual persistente obtida em POST https://api.editalmd.com/licitacoes/api/agente. Não é User-Agent.'}}}
avaliacao_cotas
Avaliacao cotas
Cota individual: um premium e 100 básicos, com validade. Não cobra.
只读 幂等
输入模式
{'type': 'object', 'required': ['agent_pass'], 'properties': {'agent_pass': {'type': 'string', 'description': 'Credencial individual persistente obtida em POST https://api.editalmd.com/licitacoes/api/agente. Não é User-Agent.'}}}
avaliacao_premium
Avaliacao premium
Use seu único premium patrocinado em um documento de até 50 páginas. Guarde evaluation.access_code como avaliacao_codigo e acompanhe por estado_geracao com agent_pass. Repetir recupera o mesmo acesso. Franquia por credencial, até a menor data entre os 30 dias do agente e o fim do piloto. Repetição do mesmo documento não consome outra unidade. Não envie pagamento. Premium: guarde evaluation.access_code e use X-Editalmd-Avaliacao junto de X-Agent-Pass nas leituras e no GET /geracao. Básico não abre conteúdo premium. Piloto sujeito ao orçamento global; sem renovação automática.
输入模式
{'type': 'object', 'required': ['agent_pass', 'id'], 'properties': {'id': {'type': 'number', 'description': 'ID do documento do acervo.'}, 'agent_pass': {'type': 'string', 'description': 'Credencial individual persistente obtida em POST https://api.editalmd.com/licitacoes/api/agente. Não é User-Agent.'}}}
billing
Billing
Payment discovery and billing summary; does not create a charge.
只读 幂等
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
buscar_empresa
Buscar empresa
Busca na base cadastral por CNPJ ou razão social; exige conta ou convidado.
只读 幂等
输入模式
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'CNPJ completo ou nome de 3 a 120 caracteres.'}}}
buscar_licitacao
Buscar licitacao
Busca compras públicas por termo. Grátis. Devolve objeto, órgão, UF, modalidade e o id da compra.
只读 幂等
输入模式
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Termo de busca, mínimo 3 letras'}, 'uf': {'type': 'string', 'description': 'Sigla da UF (opcional)'}, 'limite': {'type': 'number', 'description': '1 a 50 (padrão 20)'}, 'abertas': {'enum': ['1'], 'type': 'string', 'description': "'1' para só compras com prazo de proposta aberto"}}}
cnaes
Cnaes
Sugestões de termos de busca por atividade econômica (CNAE), com descrição, família e indicadores de cobertura. Grátis. Sem `q`, lista atividades com mais fornecedores registrados. Com `q`, busca por prefixo do código (`1412`, `1412-6/01`) ou por palavra da descrição. `familia`/`termos` nulos dizem que o CNAE ainda não está no dicionário: um alerta por CNPJ não o usa.
只读 幂等
输入模式
{'type': 'object', 'properties': {'q': {'type': 'string', 'description': 'Prefixo do código (1412) ou palavra da descrição (opcional)'}, 'limite': {'type': 'number', 'description': '1 a 100 (padrão 20)'}}}
compra
Compra
Ficha da compra e seus documentos no acervo (até 50), com títulos, tipos, páginas e disponibilidade. Consulta grátis; o acesso ao conteúdo é comprado por documento. Servida do cache da borda por até 6 horas — a ficha raramente muda; prazos e preços são calculados a cada pedido. `Cache-Control: no-cache` no pedido lê a origem na hora. O cabeçalho `x-origem-cache` diz `hit`, `miss` ou `bypass`.
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'id da compra (vem da busca)'}}}
consulta_cep
Consultar CEP
Endereços de um CEP com coordenada (CNEFE/IBGE) e as empresas registradas nele. 10 grátis por dia; depois, do saldo. Uma consulta, paga como a do CNPJ: franquia grátis do dia, depois o saldo. Devolve até 20 endereços e até 20 empresas; o total de endereços vem em `pontos_total`.
只读 幂等
输入模式
{'type': 'object', 'required': ['cep'], 'properties': {'cep': {'type': 'string', 'description': 'CEP com 8 dígitos'}}, 'additionalProperties': False}
consulta_cnpj
Consultar CNPJ
Ficha de empresa pelo CNPJ (Receita) com as sanções dela (CEIS, CNEP, CEPIM, leniência, TCU e o CNIA do CNJ, conferido na hora), os sócios na lista de pessoas expostas politicamente (CGU), a situação fiscal (dívida ativa da União, parcelamentos, benefícios e obras), o risco socioambiental (lista suja do trabalho escravo, embargos e autos do Ibama), os contratos com o governo (PNCP) e o endereço no mapa (CNEFE/IBGE). 10 grátis por dia; depois, do saldo (plano ou pacote) da conta ou do crédito. Uma consulta: sai da franquia grátis do dia (10 por rede) e, depois dela, do saldo da conta ou do crédito (plano ou pacote). Sem franquia nem saldo, 402 com as ofertas. Aceita o CNPJ numérico e o alfanumérico. Não encontrado, fonte fora do ar ou limite por minuto não são cobrados. O dado pessoal da ficha vem mascarado. Em `sancoes`, o que os cadastros públicos registram contra a empresa inteira (a raiz do CNPJ): CEIS, CNEP, CEPIM e acordos de leniência da CGU e licitantes inidôneos do TCU, atualizados todo dia — serve para checar fornecedor em lote.
只读 幂等
输入模式
{'type': 'object', 'required': ['cnpj'], 'properties': {'cnpj': {'type': 'string', 'description': 'CNPJ, com ou sem pontuação'}}, 'additionalProperties': False}
consulta_comprar
Comprar consultas
Compra o pacote avulso ou um plano da consulta de CNPJ e endereço. Exige pagamento explícito: sem ele, devolve o 402 com o preço (crédito pré-pago ou x402). O saldo fica com a conta (cookie da sessão ou `X-Api-Key: mmk_…`) ou, sem conta, com a carteira do crédito que pagou (`X-Credito`). Sem pagamento, 402 com o preço e as portas: crédito pré-pago (comprado também por Pix) ou x402. Plano soma 30 dias e a quota dele ao que já existe; o pacote vale 90 dias. Sem renovação automática.
幂等
输入模式
{'type': 'object', 'required': ['oferta'], 'properties': {'compra': {'type': 'string', 'description': 'Marca desta compra (8 a 64 caracteres A-Za-z0-9_-)'}, 'oferta': {'type': 'string', 'description': 'pacote, basico, profissional ou empresa'}, 'payment': {'type': 'string', 'description': 'Pagamento x402 assinado, a partir da cotação'}, 'credit_token': {'type': 'string', 'description': 'Token do crédito pré-pago (cred_…)'}}, 'additionalProperties': False}
consulta_planos
Planos da consulta
A franquia grátis de hoje, o pacote avulso e os três planos da consulta de CNPJ e endereço, e o saldo de quem pede. Não cobra. Sem credencial mostra a franquia e as ofertas; com a conta (cookie ou `X-Api-Key: mmk_…`) ou o crédito (`X-Credito`), também o saldo, que vale em todos os portais da casa (Radar CNPJ, PontoFato, EditalMD).
只读 幂等
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
consultar_participacao
Consultar participacao
Consulta estado, Pendências e Atendidos com motivos, ações e evidências. Nunca inicia análise. Pendências reúne precisa_comprovar (falta prova), divergente (evidência incompatível) e acompanhar (obrigação futura). Cadastro, anexos ou dossiê diferentes retornam outdated sem resultados atuais. A data de referência é conservada na retomada; dia anterior retorna data_atual=false. Os lotes validados continuam disponíveis durante falhas/processamento com parcial=true e processados/total; nunca representam conclusão das exigências ainda não comparadas. GET não executa a fila nem inicia IA.
只读 幂等
输入模式
{'type': 'object', 'required': ['cnpj', 'id', 'v'], 'properties': {'v': {'type': 'string', 'description': 'SHA-256 do Markdown aberto, 64 hex minúsculos.'}, 'id': {'type': 'integer', 'description': 'ID do documento.'}, 'cnpj': {'type': 'string', 'description': 'CNPJ de 14 dígitos vinculado ao dono.'}, 'kind': {'type': 'string', 'description': 'requirement, attestation ou obligation.'}, 'after': {'type': 'integer', 'description': 'Último ID recebido; padrão 0.'}, 'grupo': {'type': 'string', 'description': 'pendencias, atendidos ou nao_aplicavel.'}, 'limit': {'type': 'integer', 'maximum': 30, 'minimum': 1, 'description': '1 a 30; padrão 30.'}}}
conta_acompanhamento
Conta acompanhamento
Confere que Salvas/Alertas/Vigias são da conta da sessão. As listas de um convidado edm_… passam para a conta em `POST /api/auth/claim`; o POST desta rota responde 410 com o caminho.
只读 幂等
输入模式
{'type': 'object', 'required': [], 'properties': {}}
conta_vincular_acompanhamento
Conta vincular acompanhamento
Traz para a conta da sessão o que o convidado edm_… criou (o claim do SDK): as Salvas, Alertas e Vigias que a conta ainda não tem e as compras dele. Exige bootstrap/CSRF deste navegador; a página faz isso logo depois de entrar. Só passa o que o convidado ainda tem, numa transação, e o que colide com o que a conta já tem fica com o convidado. O que o convidado comprou passa junto. Token antigo, sem assinatura, que não é dono de nada aqui é recusado. Repetir não faz mal (move zero).
输入模式
{'type': 'object', 'required': ['guest_token'], 'properties': {'guest_token': {'type': 'string', 'description': 'Token edm_… do convidado.'}}}
credito_recarregar
Credito recarregar
Recarrega crédito: paga uma vez com x402 (pacotes de 1, 5, 10 ou 25 dólares) e devolve o token que desconta em qualquer API da casa.
输入模式
{'type': 'object', 'required': ['usd'], 'properties': {'usd': {'type': 'number', 'description': '1, 5, 10 ou 25'}}}
credito_saldo
Credito saldo
Saldo e extrato do crédito pré-pago (precisa do token `cred_…`).
只读 幂等
输入模式
{'type': 'object', 'properties': {}}
criar_alerta
Criar alerta
Alerta de compra nova por termos do objeto e UF (precisa do token edm_…). Canal pull (ler por alertas_compras), webhook (POST https assinado com o whsec_… do dono) ou email (só com a sessão da conta: vai para o e-mail verificado dela). O primeiro é grátis; os seguintes custam por 30 dias (x402 ou crédito). Dois modos. Por `termos`: espaço exige todas as palavras, `|` aceita qualquer uma do grupo (`uniforme|fardamento escolar`). Por `cnpj`: o cadastro da empresa informa as atividades (CNAE), o dicionário (`GET /api/cnaes`) transforma cada CNAE numa família de termos e sai um alerta por família distinta, principal primeiro, até `max_familias`; CNAE fora do dicionário não vira alerta e é listado em `empresa.cnaes` com `familia: null`. O primeiro alerta ativo é grátis (`FRANQUIA_ALERTAS`); os seguintes custam `PRECO_ALERTA` por 30 dias cada — no modo CNPJ, numa cobrança só (N × preço), por x402 ou crédito. O cron confere a cada 30 minutos. Canal e-mail exige a sessão da conta — o aviso vai para o e-mail verificado dela, sem código de confirmação — e só existe com `EMAIL_ALERTAS=1`.
输入模式
{'type': 'object', 'required': ['termos'], 'properties': {'uf': {'type': 'string', 'description': 'Sigla da UF (opcional)'}, 'canal': {'enum': ['pull', 'webhook', 'email'], 'type': 'string', 'default': 'pull', 'description': 'pull, webhook ou email (padrão pull)'}, 'termos': {'type': 'string', 'description': 'Palavras do objeto, 3 a 200 letras; espaço = todas, | = qualquer uma (uniforme|fardamento)'}, 'destino': {'type': 'string', 'description': 'URL https (webhook); ignorado no pull e no email (vai para o e-mail da conta)'}, 'filtros': {'type': 'object', 'properties': {'cnaes': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\d{4}-?\\d/?\\d{2}$'}, 'maxItems': 8}, 'abertas': {'type': 'boolean'}, 'excluir': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10}, 'valor_max': {'type': 'number', 'minimum': 0}, 'valor_min': {'type': 'number', 'minimum': 0}, 'municipios': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10}, 'modalidades': {'type': 'array', 'items': {'type': 'integer', 'maximum': 13, 'minimum': 1}, 'maxItems': 10}}, 'description': 'Recorte adicional: modalidades, municípios, exclusões, valores, propostas abertas e CNAEs. PATCH substitui o recorte inteiro; {} limpa.', 'additionalProperties': False}}}
criar_cobranca
Criar cobranca
Reserva endereço USDC/Base para pagar US$ 0,02/página sem carteira no navegador. Confira cotacao antes, conserve cobranca_token. Não gera antes da confirmação real. Consulte GET /geracao e envie cotacao. Cada comprador paga, inclusive pronto. O serviço confirma USDC no bloco safe da Base; safe aguarda inclusão na L1, sem finalidade absoluta. Envie em até 30 min; observação por 24 h. Pagamento tardio, rede/moeda errada ou extração falha exige atendimento. Carteira/corretora pode cobrar taxa. Mesma X-Cobranca conserva cobrança/endereço. GET pago devolve acesso.codigo e cookie; para guardar na conta, POST /api/documento/:id/vincular com esse código (o site faz isso sozinho para quem está conectado). O pagamento simulado do ambiente de desenvolvimento não vale para depósito.
输入模式
{'type': 'object', 'required': ['id', 'cobranca_token', 'cotacao'], 'properties': {'id': {'type': 'number', 'description': 'ID do documento.'}, 'cotacao': {'type': 'object', 'description': 'Cotação recebida em estado_geracao.'}, 'cobranca_token': {'type': 'string', 'description': '32 bytes aleatórios em 64 hex minúsculos, gerados e guardados pelo cliente antes da criação.'}}}
criar_dono
Criar dono
Cria o convidado (token edm_…, emitido pela biblioteca de conta) que abre alertas e vigias, e o segredo whsec_… que assina os webhooks. Sem cadastro; o token é mostrado uma única vez — guarde e mande em Authorization: Bearer nas tools de alerta e vigia. O token é emitido e assinado pela biblioteca de conta, com teto por rede e por hora, para a franquia grátis não virar infinita. Ele é mostrado uma única vez e não tem recuperação — entre na conta e traga as listas para ela (`POST /api/auth/claim`, que a página da conta faz sozinha ao entrar) para não depender dele. O `webhook_segredo` pode ser relido em `GET /api/dono`. Todo POST do webhook leva `webhook-id`, `webhook-timestamp` (segundos Unix) e `webhook-signature: v1,<base64>`: HMAC-SHA256 de `id.timestamp.corpo` com a chave do seu `whsec_…` (o base64 depois do prefixo). É o padrão Standard Webhooks — qualquer biblioteca dele confere; rejeite timestamp fora de 5 minutos. Depois de `POST /api/dono/segredo`, o anterior ainda assina por 24 h (duas partes `v1,` no cabeçalho).
输入模式
{'type': 'object', 'properties': {}}
documento
Documento
Consulta grátis do título, tipo, páginas e compra vinculada a um documento. Use compra para listar os documentos relacionados. Não abre conteúdo nem inicia OCR.
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'integer', 'minimum': 1, 'description': 'ID do documento'}}}
documento_acesso
Documento acesso
Estado do acesso e código privado de recuperação, sem nova compra.
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'Documento comprado.'}, 'acesso_codigo': {'type': 'string', 'description': 'Código privado de acesso.'}}}
documento_arquivos
Documento arquivos
Catálogo dos arquivos originais do documento, com links de download e páginas. Use /api/documento/{id}/original para baixar o original completo.
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'id do documento retornado pela compra'}, 'agent_pass': {'type': 'string', 'description': 'Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.'}, 'acesso_codigo': {'type': 'string', 'description': 'Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito global da conta (cookie HttpOnly), e o do convidado edm_… vale com o token. Recibo público não concede acesso.'}, 'avaliacao_codigo': {'type': 'string', 'description': 'evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.'}}}
documento_dossie
Documento dossie
Itens, exigências, atestados, prazos e obrigações com condições, exceções e trechos/páginas. Usa o mesmo acesso_codigo da leitura. Não inicia IA. Dossiê incluído no acesso documental, sem nova análise ao consultar. Dados parciais informam cobertura; exportação exige versão concluída.
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'v': {'type': 'string', 'description': 'SHA-256 do texto'}, 'id': {'type': 'number', 'description': 'ID do documento'}, 'kind': {'type': 'string', 'description': 'identity, item, requirement, attestation, deadline ou obligation'}, 'after': {'type': 'number', 'description': 'Cursor next anterior'}, 'limit': {'type': 'number', 'description': '1 a 30 fatos'}, 'agent_pass': {'type': 'string', 'description': 'Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.'}, 'acesso_codigo': {'type': 'string', 'description': 'Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito global da conta (cookie HttpOnly), e o do convidado edm_… vale com o token. Recibo público não concede acesso.'}, 'avaliacao_codigo': {'type': 'string', 'description': 'evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.'}}}
documento_leitura
Documento leitura
Manifesto do documento comprado: páginas, imagens, SHA-256 e versão. Envie acesso_codigo; exemplos são gratuitos. Não inicia OCR. A mesma autorização libera ZIP e imagens pela API. Somente recursos prontos. Não inicia OCR. `document_approved: false` identifica a extração automática e não impede sua leitura.
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'id do documento'}, 'agent_pass': {'type': 'string', 'description': 'Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.'}, 'acesso_codigo': {'type': 'string', 'description': 'Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito global da conta (cookie HttpOnly), e o do convidado edm_… vale com o token. Recibo público não concede acesso.'}, 'avaliacao_codigo': {'type': 'string', 'description': 'evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.'}}}
documentos_empresa
Documentos empresa
Lista os PDFs privados da empresa. Downloads binários usam GET HTTP autenticado /documentos/:arquivo.
只读 幂等
输入模式
{'type': 'object', 'required': ['cnpj'], 'properties': {'cnpj': {'type': 'string', 'description': 'CNPJ de 14 dígitos vinculado ao dono.'}}}
documento_vincular
Documento vincular
Vincula aquisição à conta da sessão usando a autorização privada comprada. Exige sessão e prova privada da aquisição. Grava o direito global da conta pelo recibo do pagamento: idempotente para o mesmo dono, e outro dono não pode reivindicar. O código continua abrindo o documento sozinho.
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'Documento comprado.'}, 'acesso_codigo': {'type': 'string', 'description': 'Código privado de acesso.'}}}
dono
Dono
Estado do dono (precisa do token edm_… ou da sessão da conta): conta ou convidado, e-mail dos avisos, franquia e o segredo whsec_… que assina cada webhook (Standard Webhooks: webhook-id, webhook-timestamp, webhook-signature). Todo POST do webhook leva `webhook-id`, `webhook-timestamp` (segundos Unix) e `webhook-signature: v1,<base64>`: HMAC-SHA256 de `id.timestamp.corpo` com a chave do seu `whsec_…` (o base64 depois do prefixo). É o padrão Standard Webhooks — qualquer biblioteca dele confere; rejeite timestamp fora de 5 minutos. Depois de `POST /api/dono/segredo`, o anterior ainda assina por 24 h (duas partes `v1,` no cabeçalho).
只读 幂等
输入模式
{'type': 'object', 'properties': {}}
edital_markdown
Edital markdown
Lê Markdown com acesso_codigo comprado, ou avaliacao_codigo + agent_pass do premium patrocinado. Cinco exemplos livres. Além da avaliação, gerar_markdown compra por US$ 0,02/página, inclusive pronto.
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'id do documento (vem de `compra`)'}, 'agent_pass': {'type': 'string', 'description': 'Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.'}, 'acesso_codigo': {'type': 'string', 'description': 'Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito global da conta (cookie HttpOnly), e o do convidado edm_… vale com o token. Recibo público não concede acesso.'}, 'avaliacao_codigo': {'type': 'string', 'description': 'evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.'}}}
editar_alerta
Editar alerta
Edita interesse ou pausa/reativa o alerta do dono. Reativação além da franquia exige pagamento. Filtros substituem o recorte inteiro.
可能执行破坏性操作
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Identificador do alerta.'}, 'uf': {'type': 'string', 'description': 'Sigla da UF; vazio libera.'}, 'ativo': {'type': 'boolean', 'description': '`false` pausa sem apagar; `true` reativa.'}, 'canal': {'enum': ['pull', 'webhook', 'email'], 'type': 'string', 'description': 'Novo canal: `pull`, `webhook` ou `email` (e-mail verificado da conta; exige sessão).'}, 'termos': {'type': 'string', 'description': 'Termos do objeto; espaço exige todos, | aceita alternativas.'}, 'destino': {'type': 'string', 'description': 'Nova URL https na porta 443 (webhook). Ignorado no pull e no e-mail.'}, 'filtros': {'type': 'object', 'properties': {'cnaes': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\d{4}-?\\d/?\\d{2}$'}, 'maxItems': 8}, 'abertas': {'type': 'boolean'}, 'excluir': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10}, 'valor_max': {'type': 'number', 'minimum': 0}, 'valor_min': {'type': 'number', 'minimum': 0}, 'municipios': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10}, 'modalidades': {'type': 'array', 'items': {'type': 'integer', 'maximum': 13, 'minimum': 1}, 'maxItems': 10}}, 'description': 'Recorte adicional: modalidades, municípios, exclusões, valores, propostas abertas e CNAEs. PATCH substitui o recorte inteiro; {} limpa.', 'additionalProperties': False}}}
estado_cobranca
Estado cobranca
Consulta pagamento e liberação com o mesmo cobranca_token. Gratuito; intervalo mínimo 30 s; não inicia trabalho. Reutilize X-Cobranca e respeite Retry-After. Consulta não escreve nem faz RPC blockchain. Quando gerando, use GET /geracao para fases/páginas; pronto libera os links de leitura. Em revisao, conserve ID e transações para atendimento, sem pagar novamente.
只读 幂等
输入模式
{'type': 'object', 'required': ['id', 'cobranca_token'], 'properties': {'id': {'type': 'number', 'description': 'ID do documento.'}, 'cobranca_token': {'type': 'string', 'description': '32 bytes aleatórios em 64 hex minúsculos, gerados e guardados pelo cliente antes da criação.'}}}
estado_geracao
Estado geracao
Acompanha as fases reais e a conclusão gratuitamente, sem iniciar processamento.
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'ID do documento.'}, 'agent_pass': {'type': 'string', 'description': 'Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.'}, 'acesso_codigo': {'type': 'string', 'description': 'Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito global da conta (cookie HttpOnly), e o do convidado edm_… vale com o token. Recibo público não concede acesso.'}, 'avaliacao_codigo': {'type': 'string', 'description': 'evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.'}}}
exemplos
Exemplos
Lista cinco provas reais gratuitas para conferir Markdown, PDF original e ZIP com imagens antes de gerar outro documento.
只读 幂等
输入模式
{'type': 'object', 'properties': {}}
gerar_markdown
Gerar markdown
Compra acesso individual por US$ 0,02/página (x402/crédito), inclusive ao texto pronto. Confira cotacao em estado_geracao. Guarde acesso.codigo para as tools de leitura; geração, se necessária, está incluída. Não use POST como polling. Cada comprador paga, inclusive pronto. Consulte GET ou 402, confira páginas/hash/total e envie cotacao. Sessão da conta (cookie + CSRF do navegador) grava a compra no direito global da conta antes da entrega, sem código avulso; com o convidado edm_… (Bearer), o direito é dele e o código sai junto; agente usa X-Credito. Sem conta, conserve acesso.codigo para reabrir ou vincular depois. Após vínculo somente a conta abre. Texto pronto reutiliza OCR; geração necessária incluída. Cotação desconhecida/alterada não cobra. 152 páginas = US$ 3,04. Corpo até 4096 bytes. Após 202 acompanhe por GET. Pagou e a gravação do direito falhou: 502 `pago_nao_registrado` com o `recibo` — guarde-o, o suporte entrega ou estorna.
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'ID do documento.'}, 'cotacao': {'type': 'object', 'description': 'Cotação recebida no estado, confirmada antes de pagar.'}, 'agent_pass': {'type': 'string', 'description': 'Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.'}, 'idempotencia': {'type': 'string', 'description': 'Chave da tentativa de crédito, até 80 caracteres; conserve ao repetir.'}, 'acesso_codigo': {'type': 'string', 'description': 'Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito global da conta (cookie HttpOnly), e o do convidado edm_… vale com o token. Recibo público não concede acesso.'}, 'credito_token': {'type': 'string', 'description': 'Token cred_… privado. Enviado em X-Credito, preservando a sessão Bearer do pedido MCP.'}, 'avaliacao_codigo': {'type': 'string', 'description': 'evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.'}}}
habilitacao
Habilitacao
Lista de habilitação do edital, com trechos literais. Exige acesso_codigo do documento comprado, ou um dos cinco exemplos; nesta fase não há cobrança adicional pela lista. Condições, exceções e evidências por página da análise disponível. A consulta não inicia outra análise. Prazos, propostas e demais obrigações estão no dossie; esta lista cobre habilitação e atestados exigidos, sem afirmar o que a empresa possui.
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'id do documento (vem de `compra`)'}, 'agent_pass': {'type': 'string', 'description': 'Credencial individual do agente, obrigatória junto de X-Editalmd-Avaliacao.'}, 'acesso_codigo': {'type': 'string', 'description': 'Código privado em acesso.codigo após pagamento de quem não está na conta; até 4096 caracteres. Autoriza este documento ao portador. Compra feita com a sessão da conta não emite código: vale o direito global da conta (cookie HttpOnly), e o do convidado edm_… vale com o token. Recibo público não concede acesso.'}, 'avaliacao_codigo': {'type': 'string', 'description': 'evaluation.access_code do premium patrocinado, exclusivo deste documento e agente, com expiração. Use junto de X-Agent-Pass; não é recibo ou compra.'}}}
health
Health
Saúde da origem e tamanho do acervo (compras e documentos com texto).
只读 幂等
输入模式
{'type': 'object', 'properties': {}}
meus_compras
Meus compras
Coleção privada da conta. Exige a sessão da conta (cookie + CSRF do navegador).
只读 幂等
输入模式
{'type': 'object', 'required': [], 'properties': {'antes': {'type': 'string', 'description': 'proximo_antes da página anterior; hex, cursor exclusivo do cliente.'}}}
meus_documentos
Meus documentos
Coleção privada da conta. Exige a sessão da conta (cookie + CSRF do navegador).
只读 幂等
输入模式
{'type': 'object', 'required': [], 'properties': {'antes': {'type': 'string', 'description': 'proximo_antes da página anterior; hex, cursor exclusivo do cliente.'}}}
minha_conta
Minha conta
Identidade e contadores privados da sessão da conta (cookie) enviada no pedido MCP. A conta global já é a pessoa no EditalMD: não há ativação por produto.
只读 幂等
输入模式
{'type': 'object', 'required': [], 'properties': {'locais': {'type': 'string', 'description': 'Até 90 IDs positivos de documentos separados por vírgula para conferir quais já pertencem à conta; no máximo 1529 caracteres.'}}}
minhas_empresas
Minhas empresas
Lista privada de empresas e seleção; use a sessão da conta ou o convidado edm_….
只读 幂等
输入模式
{'type': 'object', 'required': [], 'properties': {}}
prazos
Prazos
Prazos da compra: fim das propostas publicado e último dia de impugnação (estimado: 3 dias úteis antes da sessão, Lei 14.133 art. 164, feriados nacionais). Grátis. Servida do cache da borda por até 6 horas — a ficha raramente muda; prazos e preços são calculados a cada pedido. `Cache-Control: no-cache` no pedido lê a origem na hora. O cabeçalho `x-origem-cache` diz `hit`, `miss` ou `bypass`.
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'id da compra (vem da busca)'}}}
precos_homologados
Precos homologados
O preço que ganha para um item parecido, em resumo grátis: quantos preços, a mediana e a faixa (p25/p75) do mesmo produto do catálogo na mesma unidade, sem os extremos, o volume comprado, o preço para a sua quantidade e os outros grupos que a busca achou (peça produto e unidade de um deles para trocar). O completo — quem vence, quem compra, por UF, por mês, por tamanho da compra e os itens — é GET /api/precos/detalhe, pago por consulta (x402 ou crédito). Consulte resultados homologados por descrição do item. O resumo grátis traz `n`, a mediana e a faixa (p25/p75) dos comparáveis — o mesmo produto do catálogo, na mesma unidade, sem os extremos (`comparacao`) —, os outros grupos que a busca achou (`grupos`: peça `produto` e `unidade` de um deles para trocar), o volume comprado, o preço para a sua `quantidade` (ou a do item da `compra` aberta) e quanto a compra pequena paga a mais, `amostra` (o critério: até 2.000 itens mais parecidos pelo texto) e `detalhe`: o endereço (do mesmo grupo), o preço e o tamanho do preço que ganha completo (`GET /api/precos/detalhe`, pago por consulta) — quem vence, quem compra, por UF, por mês, os outros números do resumo e os itens. Aceita também POST, PUT ou PATCH com os mesmos parâmetros em JSON ou formulário; `query`, `termo`, `busca` e `search` valem como `q`, `estado` como `uf`, `limit` como `limite`. Todo 400 traz `exemplo` e `doc`. `Accept: text/html` abre a aba Preços pagos com a consulta.
只读 幂等
输入模式
{'type': 'object', 'required': ['q'], 'properties': {'q': {'type': 'string', 'description': 'Descrição do item, mínimo 3 letras'}, 'uf': {'type': 'string', 'description': 'Sigla da UF do órgão (opcional)'}, 'meses': {'type': 'number', 'default': 12, 'description': 'Janela de homologação em meses, 1 a 36 (padrão 12)'}, 'catmat': {'type': 'string', 'description': 'Código do item no catálogo do governo (opcional)'}, 'limite': {'type': 'number', 'default': 50, 'description': '1 a 100 (padrão 50)'}, 'produto': {'type': 'string', 'description': 'Produto do catálogo, como em grupos (opcional)'}, 'unidade': {'type': 'string', 'description': 'Unidade, como em grupos: 500 FL, 1 UN (opcional)'}, 'quantidade': {'type': 'number', 'description': 'Quanto você vai vender: o preço da faixa dessa quantidade (opcional)'}}}
previa_alerta
Previa alerta
Amostra gratuita de compras por termos/filtros ou sugestões editáveis pelo CNPJ. Não cria alertas.
输入模式
{'type': 'object', 'properties': {'uf': {'type': 'string', 'description': 'Sigla da UF; vazio libera.'}, 'cnpj': {'type': 'string', 'description': 'CNPJ para sugerir até 8 famílias de termos, sem ativá-las.'}, 'termos': {'type': 'string', 'description': 'Termos do objeto; espaço exige todos, | aceita alternativas.'}, 'filtros': {'type': 'object', 'properties': {'cnaes': {'type': 'array', 'items': {'type': 'string', 'pattern': '^\\d{4}-?\\d/?\\d{2}$'}, 'maxItems': 8}, 'abertas': {'type': 'boolean'}, 'excluir': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10}, 'valor_max': {'type': 'number', 'minimum': 0}, 'valor_min': {'type': 'number', 'minimum': 0}, 'municipios': {'type': 'array', 'items': {'type': 'string'}, 'maxItems': 10}, 'modalidades': {'type': 'array', 'items': {'type': 'integer', 'maximum': 13, 'minimum': 1}, 'maxItems': 10}}, 'description': 'Recorte adicional: modalidades, municípios, exclusões, valores, propostas abertas e CNAEs. PATCH substitui o recorte inteiro; {} limpa.', 'additionalProperties': False}}}
pricing
Pricing
Current public prices and free allowances; no charge.
只读 幂等
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
quem_fornece
Quem fornece
Os CNAEs que costumam vencer compras como esta, do mais provável ao menos, com a descrição oficial e, por CNAE, quantos itens e quanto do valor estimado apontaram para ele. Treinado com quem venceu itens parecidos no PNCP. Grátis. Cada item da compra (até 99, os de maior valor) aponta os 3 CNAEs mais prováveis, por um classificador treinado com a atividade de quem venceu itens parecidos nos resultados homologados do PNCP; a compra soma os pontos (3, 2 e 1 pela posição). Sem itens no acervo, vale o objeto da compra, e saem os 5 mais prováveis sem `itens` nem `valor_estimado`. Na medida de 27/09/2026, em 87% dos itens um dos 3 primeiros era CNAE da empresa que venceu. Para receber as novas compras desses CNAEs, crie um alerta (`POST /api/alertas`).
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'id da compra (vem da busca)'}}}
recibo
Recibo
Recibo de uma entrega: preço, modo de pagamento e hash do conteúdo entregue.
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'id do recibo (vem no header x-editalmd-recibo)'}}}
remover_documento_empresa
Remover documento empresa
Remove um comprovante da própria empresa; análises que o usavam ficam desatualizadas.
可能执行破坏性操作 幂等
输入模式
{'type': 'object', 'required': ['cnpj', 'arquivo'], 'properties': {'cnpj': {'type': 'string', 'description': 'CNPJ de 14 dígitos vinculado ao dono.'}, 'arquivo': {'type': 'string', 'description': 'SHA-256 do PDF privado.'}}}
remover_empresa
Remover empresa
Remove somente o vínculo do próprio dono e limpa a seleção se necessário.
可能执行破坏性操作 幂等
输入模式
{'type': 'object', 'required': ['cnpj'], 'properties': {'cnpj': {'type': 'string', 'description': 'CNPJ completo, 14 dígitos com verificação válida.'}}}
remover_salva
Remover salva
Remove a compra da lista pessoal do dono. Salvar não cria vigia nem notificação. O cliente fornece somente o ID; o retrato vem do acervo.
可能执行破坏性操作 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'Identificador da compra no acervo.'}}}
rotacionar_segredo_webhook
Rotacionar segredo webhook
Troca o segredo que assina os webhooks (precisa do token edm_…). O anterior ainda assina por 24 h, para trocar sem janela de falha. Durante as 24 h o cabeçalho `webhook-signature` traz duas partes `v1,…`: uma com o novo, outra com o anterior. Basta o receptor aceitar qualquer uma que bata.
输入模式
{'type': 'object', 'properties': {}}
salvar_compra
Salvar compra
Salva a compra sem cobrança nem notificação, até 200 por dono. Salvar não cria vigia nem notificação. O cliente fornece somente o ID; o retrato vem do acervo.
可能执行破坏性操作 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'number', 'description': 'Identificador da compra no acervo.'}}}
salvas
Salvas
Lista até 200 licitações salvas pelo dono, gratuitamente.
只读 幂等
输入模式
{'type': 'object', 'required': [], 'properties': {}}
selecionar_empresa
Selecionar empresa
Seleciona empresa cadastrada; não executa análise. Seleção persistida para este dono; vincular a conta permite recuperá-la em outros aparelhos. Não executa análise; repetir a seleção atual não grava.
可能执行破坏性操作 幂等
输入模式
{'type': 'object', 'required': ['cnpj'], 'properties': {'cnpj': {'type': 'string', 'description': 'CNPJ completo, 14 dígitos com verificação válida.'}}}
vigia_eventos
Vigia eventos
Eventos de uma compra vigiada (o que mudou, de quê para quê, quando) e a fotografia atual. Precisa do token edm_….
只读 幂等
输入模式
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'id da vigia'}, 'limite': {'type': 'number', 'description': '1 a 100 (padrão 50)'}}}
vigiar_compra
Vigiar compra
Vigia uma compra (precisa do token edm_…): fotografa agora e registra eventos de retificação, documento novo, suspensão, prazo adiado e valor, mais avisos de prazo. A primeira é grátis; as seguintes custam até 30 dias após o encerramento. A primeira vigia ativa é grátis (`FRANQUIA_VIGIAS`); as seguintes custam `PRECO_VIGIA` até 30 dias após o encerramento. As verificações são periódicas; confira a data da última verificação na vigia. Avisos `prazo_impugnacao` (no dia) e `prazo_proposta` (24 h antes) saem uma vez cada.
输入模式
{'type': 'object', 'required': ['compra_id'], 'properties': {'canal': {'enum': ['pull', 'webhook', 'email'], 'type': 'string', 'default': 'pull', 'description': 'pull, webhook ou email (padrão pull)'}, 'destino': {'type': 'string', 'description': 'URL https (webhook); ignorado no pull e no email (vai para o e-mail da conta)'}, 'compra_id': {'type': 'number', 'description': 'id da compra (vem da busca)'}}}
已添加
consulta_comprar
2026年10月1日 02:53
已添加
consulta_planos
2026年10月1日 02:53
已添加
consulta_cep
2026年10月1日 02:53
已添加
consulta_cnpj
2026年10月1日 02:53
已更改
billing
2026年9月29日 03:01
已更改
pricing
2026年9月29日 03:01
已更改
api_access_buy
2026年9月29日 03:01
已更改
api_access
2026年9月29日 03:01
已更改
recibo
2026年9月29日 03:01
已更改
credito_recarregar
2026年9月29日 03:01
已更改
credito_saldo
2026年9月29日 03:01
已更改
vigia_eventos
2026年9月29日 03:01
已更改
vigiar_compra
2026年9月29日 03:01
已更改
alertas_compras
2026年9月29日 03:01
已更改
cnaes
2026年9月29日 03:01
已更改
alerta_por_cnpj
2026年9月29日 03:01
已更改
criar_alerta
2026年9月29日 03:01
已更改
rotacionar_segredo_webhook
2026年9月29日 03:01
已更改
dono
2026年9月29日 03:01
已更改
criar_dono
2026年9月29日 03:01
已更改
documento_leitura
2026年9月29日 03:01
已更改
habilitacao
2026年9月29日 03:01
已更改
edital_markdown
2026年9月29日 03:01
已添加
quem_fornece
2026年9月29日 03:01
已更改
compra
2026年9月29日 03:01
已更改
prazos
2026年9月29日 03:01
已更改
buscar_licitacao
2026年9月29日 03:01
已更改
health
2026年9月29日 03:01
已更改
api_index
2026年9月29日 03:01
已更改
documento_arquivos
2026年9月29日 03:01