{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_8utefntcuwtt","handle":"editalmd-editalmd","url":"https://wellknown.network/agents/editalmd-editalmd","links":{"self":"https://wellknown.network/agents/editalmd-editalmd/record.json","html":"https://wellknown.network/agents/editalmd-editalmd","markdown":"https://wellknown.network/agents/editalmd-editalmd/record.md","api":"https://wellknown.network/api/v1/agents/editalmd-editalmd","status":"https://wellknown.network/api/v1/agents/editalmd-editalmd/status","claim":"https://wellknown.network/agents/editalmd-editalmd/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/editalmd-editalmd/claim.json","badge":"https://wellknown.network/agents/editalmd-editalmd/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/editalmd-editalmd/history","tools":"https://wellknown.network/api/v1/agents/editalmd-editalmd/tools"},"ard":{"identifier":"urn:air:editalmd.com:agent:editalmd-editalmd","type":"application/a2a-agent-card+json"},"kind":"agent","declared":{"name":"EditalMD","summary":"Busque licitações por produto, serviço e estado. Veja prazos e documentos. Compare exigências com sua empresa e receba alertas de novas compras.","description":"Busque licitações por produto, serviço e estado. Veja prazos e documentos. Compare exigências com sua empresa e receba alertas de novas compras.","publisher":{"name":"EditalMD","url":"https://editalmd.com"},"homepage":"https://editalmd.com/llms.txt","repository":null,"version":null,"license":null,"protocols":["a2a"],"tags":[],"pricing":null,"endpoints":[{"url":"https://editalmd.com","type":"a2a","auth":"none","probeable":true}],"skills":[{"id":"evaluation_quota","name":"evaluation_quota","tags":[],"description":"Cota individual: um premium e 100 básicos, com validade. Não cobra."},{"id":"evaluation_premium","name":"evaluation_premium","tags":[],"description":"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 ab…"},{"id":"evaluation_basic","name":"evaluation_basic","tags":[],"description":"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çament…"},{"id":"evaluation_basic_result","name":"evaluation_basic_result","tags":[],"description":"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."},{"id":"company_documents","name":"company_documents","tags":[],"description":"Lista os PDFs privados da empresa. Downloads binários usam GET HTTP autenticado /documentos/:arquivo."},{"id":"attach_company_document","name":"attach_company_document","tags":[],"description":"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."},{"id":"remove_company_document","name":"remove_company_document","tags":[],"description":"Remove um comprovante da própria empresa; análises que o usavam ficam desatualizadas."},{"id":"analyze_participation","name":"analyze_participation","tags":[],"description":"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 …"},{"id":"get_participation","name":"get_participation","tags":[],"description":"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 repres…"},{"id":"list_my_companies","name":"list_my_companies","tags":[],"description":"Empresas = organizações da conta com o EditalMD; use a sessão ou a chave de organização."},{"id":"search_companies","name":"search_companies","tags":[],"description":"Busca na base cadastral por CNPJ ou razão social; exige conta ou convidado."},{"id":"add_company","name":"add_company","tags":[],"description":"Importa o CNPJ numa organização nova ou na da chave de organização. Sem X-Organization-Id, cria a organização com a razão social e o EditalMD ligado, ou devolve a que a pessoa tirou da lista (201). Com X-Organization-Id ou chave de organização, a ficha vai para essa organização, se quem pede a gere e ela não tem empresa. 200 quando o CNPJ já está numa organização de quem pede. Até 100 empresas; sem sócios ou contatos; nenhuma análise é iniciada."},{"id":"select_company","name":"select_company","tags":[],"description":"Seleciona empresa cadastrada; não executa análise. Escolha de cada pessoa, guardada na conta. Não executa análise; repetir a escolha atual não grava."},{"id":"remove_company","name":"remove_company","tags":[],"description":"Tira a empresa da lista (dona ou administradora); organização e PDFs ficam, e adicionar o CNPJ a devolve."},{"id":"awarded_prices","name":"awarded_prices","tags":[],"description":"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 desc…"},{"id":"framework_agreements","name":"framework_agreements","tags":[],"description":"Atas de registro de preço vigentes no PNCP pelo objeto, as mais relevantes primeiro: órgão gerenciador, vigência, se aceita adesão (carona) e o link da ata. Grátis. Busca as atas de registro de preço publicadas no PNCP que ainda valem (não canceladas, vigência até hoje ou depois), as mais relevantes para os termos primeiro: o órgão gerenciador, o objeto, a vigência, se aceita adesão (a carona) e o endereço da ata no PNCP. `adesao=1` traz só as que aceitam. A ficha da compra (`/api/compra/:id`) …"},{"id":"procurement_plans","name":"procurement_plans","tags":[],"description":"O que os órgãos planejam comprar (planos de contratações anuais do PNCP), antes de a licitação abrir: item, órgão, quantidade, valor estimado e data desejada. Grátis. Busca os itens dos planos de contratações anuais (PCA) que os órgãos publicam no PNCP: o que cada um pretende comprar, quanto, por quanto e para quando — a demanda antes de a licitação abrir. Só a versão em vigor de cada plano; sem `ano`, do ano corrente em diante. Para saber quando a licitação abrir, crie um alerta com os mesmos …"},{"id":"my_account","name":"my_account","tags":[],"description":"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."},{"id":"my_documents","name":"my_documents","tags":[],"description":"Coleção privada da conta. Exige a sessão da conta (cookie + CSRF do navegador)."},{"id":"my_procurements","name":"my_procurements","tags":[],"description":"Coleção privada da conta. Exige a sessão da conta (cookie + CSRF do navegador)."},{"id":"documento_vincular","name":"documento_vincular","tags":[],"description":"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."},{"id":"documento_acesso","name":"documento_acesso","tags":[],"description":"Estado do acesso e código privado de recuperação, sem nova compra."},{"id":"account_tracking","name":"account_tracking","tags":[],"description":"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."},{"id":"claim_guest_tracking","name":"claim_guest_tracking","tags":[],"description":"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)."}],"tools":["evaluation_quota","evaluation_premium","evaluation_basic","evaluation_basic_result","company_documents","attach_company_document","remove_company_document","analyze_participation","get_participation","list_my_companies","search_companies","add_company","select_company","remove_company","awarded_prices","framework_agreements","procurement_plans","my_account","my_documents","my_procurements","documento_vincular","documento_acesso","account_tracking","claim_guest_tracking"],"extra":{"inputModes":["application/json"],"outputModes":["application/json","text/markdown"],"capabilities":{"streaming":true,"pushNotifications":false}},"attribution":{"kind":"a2a_card","name":"a2a_card","summary":"a2a_card","description":"a2a_card","homepageUrl":"a2a_card","publisherUrl":"a2a_card","publisherName":"a2a_card"}},"derived":{"capabilities":[{"slug":"ai.evaluation","name":"Evaluation & Benchmarks","confidence":0.554,"provenance":"derived"}],"categories":["ai"],"language":"pt"},"observed":{"status":"live","statusReason":"Responded 4h ago.","lastOkAt":"2026-10-18T08:28:55.877Z","lastProbedAt":"2026-10-18T08:28:55.877Z","statusComputedAt":"2026-10-18T08:31:08.994Z","reliability30d":{"probes":106,"successRate":1,"p50Ms":249,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":106,"ok":106,"authBoundaryOk":0,"serviceOk":106,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-18T08:28:55.877Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":571,"error":null,"detail":{"name":"EditalMD","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-18T02:24:38.894Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":198,"error":null,"detail":{"name":"EditalMD","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-17T19:27:49.523Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":194,"error":null,"detail":{"name":"EditalMD","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-17T13:26:01.476Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":208,"error":null,"detail":{"name":"EditalMD","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-17T06:21:51.578Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":215,"error":null,"detail":{"name":"EditalMD","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-16T23:25:16.478Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":218,"error":null,"detail":{"name":"EditalMD","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-16T16:29:18.069Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":232,"error":null,"detail":{"name":"EditalMD","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-16T09:31:31.423Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":245,"error":null,"detail":{"name":"EditalMD","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-16T03:29:02.304Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":210,"error":null,"detail":{"name":"EditalMD","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}},{"at":"2026-10-15T20:32:51.186Z","kind":"a2a_card","ok":true,"httpStatus":200,"latencyMs":509,"error":null,"detail":{"name":"EditalMD","signed":false,"cardPath":"/.well-known/agent-card.json","skillCount":24}}],"tools":null,"package":null,"toolSurface":null,"endpointFacts":[{"id":"ep_dsu3eh4t94gw","url":"https://editalmd.com","type":"a2a","factsCheckedAt":"2026-10-16T03:29:02.317Z","auth":null,"tls":{"observedAt":"2026-10-16T03:29:03.002Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"editalmd.com","issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validFrom":"2026-09-23T01:50:47.000Z","validTo":"2026-12-22T01:50:46.000Z","daysToExpiry":64,"sanCount":2,"fingerprint256":"97:CE:80:CC:C5:95:C0:1B:F1:0C:7C:61:4A:15:81:24:56:B3:33:86:9D:0F:68:4E:02:F1:82:D2:0C:BE:73:03"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"a2a_card","key":"https://editalmd.com/.well-known/agent-card.json","url":"https://editalmd.com/.well-known/agent-card.json","firstSeenAt":"2026-09-19T18:24:11.477Z","fetchedAt":"2026-10-17T20:27:09.958Z","normalizedAt":"2026-10-17T20:27:09.958Z"}]},"firstSeenAt":"2026-09-19T18:24:11.477Z","updatedAt":"2026-10-17T20:27:24.606Z"}