{"openapi":"3.1.0","info":{"title":"Endereços e CEPs","version":"1.0.0","description":"# Endereços e CEPs\n\nFonte: IBGE — CNEFE 2022.\n\nComece em https://pontofato.com/enderecos/index.json. Siga itens[].url, links.pai e links.proximo; não enumere IDs nem invente caminhos. Cada página traz até 20 itens. Use /index.md para Markdown, /index.okf.md para OKF ou / para HTML no mesmo nó. O cursor depois pertence ao recorte e é opaco. Não representa snapshot de uma base mutável.\n\nAs páginas públicas permitem indexação. O header Link rel=canonical aponta para o HTML equivalente, preservando o cursor; links.json continua sendo a referência estruturada para agentes.\n\nLeitura pública, sem autenticação ou cobrança. GET e HEAD não coletam nem escrevem. 400: entrada inválida; 404: nó ausente; 405: método não aceito; 421: host desconhecido; 429: limite de capacidade; 503: fonte indisponível. Em 429/503 respeite Retry-After.\n\n- [Árvore](https://pontofato.com/enderecos/index.json)\n- [OpenAPI](https://pontofato.com/enderecos/openapi.json)\n- [MCP](https://pontofato.com/enderecos/mcp): tools/list e tools/call, ferramenta navegar(caminho, depois).\n- [Mapa OKF](https://pontofato.com/enderecos/okf/index.md)\n- [llm.txt](https://pontofato.com/enderecos/llm.txt)\n\n## Exemplo MCP\n\n```sh\nORIGIN='https://pontofato.com/enderecos'\ncurl -fsS \"$ORIGIN/mcp\" -H 'Content-Type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"navegar\",\"arguments\":{\"caminho\":\"/\"}}}'\n```\n\n## Como consultar\n\nConsulte CEPs e endereços observados pelo IBGE no CNEFE 2022, com município e coordenadas disponíveis.\n\nEstado → município → bairro/localidade → rua → endereços\n\nLeitura pública, gratuita e sem chave. Até 20 itens por página; siga links.proximo. Total e contadores da trilha/categorias representam o recorte indexado, na unidade informada; filhos conta categorias imediatas. Na TV, programas são ocorrências nas grades arquivadas. A hierarquia e os totais são preparados separadamente no c3, com atualização manual e incremental; detalhes são lidos na fonte. Respeite Retry-After em 429 ou 503.\n\nRetrato do CNEFE 2022. No DF, localidades podem trazer nomes de RAs; não inventamos divisões ausentes. Não certifica CEP vigente nem contém nomes de moradores.\n\n### Índice do acervo\n\n[HTML](https://pontofato.com/enderecos/) · [JSON](https://pontofato.com/enderecos/index.json) · [MD](https://pontofato.com/enderecos/index.md) · [OKF](https://pontofato.com/enderecos/index.okf.md)\n\n```sh\ncurl -fsS 'https://pontofato.com/enderecos/index.json'\n```\n\n### Estado: Distrito Federal\n\n[HTML](https://pontofato.com/enderecos/uf/DF/) · [JSON](https://pontofato.com/enderecos/uf/DF/index.json) · [MD](https://pontofato.com/enderecos/uf/DF/index.md) · [OKF](https://pontofato.com/enderecos/uf/DF/index.okf.md)\n\n```sh\ncurl -fsS 'https://pontofato.com/enderecos/uf/DF/index.json'\n```\n\n### Município: Brasília\n\n[HTML](https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/) · [JSON](https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/index.json) · [MD](https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/index.md) · [OKF](https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/index.okf.md)\n\n```sh\ncurl -fsS 'https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/index.json'\n```\n\n### Localidade: Planaltina\n\n[HTML](https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/bairro/planaltina-907275909fa5d738/) · [JSON](https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/bairro/planaltina-907275909fa5d738/index.json) · [MD](https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/bairro/planaltina-907275909fa5d738/index.md) · [OKF](https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/bairro/planaltina-907275909fa5d738/index.okf.md)\n\n```sh\ncurl -fsS 'https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/bairro/planaltina-907275909fa5d738/index.json'\n```\n\n### Logradouro na localidade\n\n[HTML](https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/bairro/planaltina-907275909fa5d738/rua/edf-condominio-estancia-mestre-darmas-iv-5d64b6ab4686daad/) · [JSON](https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/bairro/planaltina-907275909fa5d738/rua/edf-condominio-estancia-mestre-darmas-iv-5d64b6ab4686daad/index.json) · [MD](https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/bairro/planaltina-907275909fa5d738/rua/edf-condominio-estancia-mestre-darmas-iv-5d64b6ab4686daad/index.md) · [OKF](https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/bairro/planaltina-907275909fa5d738/rua/edf-condominio-estancia-mestre-darmas-iv-5d64b6ab4686daad/index.okf.md)\n\n```sh\ncurl -fsS 'https://pontofato.com/enderecos/uf/DF/cidade/brasilia-3fc9b36d48613cd3/bairro/planaltina-907275909fa5d738/rua/edf-condominio-estancia-mestre-darmas-iv-5d64b6ab4686daad/index.json'\n```\n\n### CEP 70002-900\n\n[HTML](https://pontofato.com/enderecos/uf/DF/cep/70002900/) · [JSON](https://pontofato.com/enderecos/uf/DF/cep/70002900/index.json) · [MD](https://pontofato.com/enderecos/uf/DF/cep/70002900/index.md) · [OKF](https://pontofato.com/enderecos/uf/DF/cep/70002900/index.okf.md)\n\n```sh\ncurl -fsS 'https://pontofato.com/enderecos/uf/DF/cep/70002900/index.json'\n```\n\n## Outros acervos\n\n- [Endereços e CEPs](https://pontofato.com/enderecos/)\n- [Licitações e compras públicas](https://editalmd.com/licitacoes/)\n"},"servers":[{"url":"https://pontofato.com/enderecos"}],"paths":{"/index.json":{"get":{"operationId":"navegar0_json","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Nó do acervo","content":{"application/json":{"schema":{"$ref":"#/components/schemas/No"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/index.md":{"get":{"operationId":"navegar0_md","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/index.okf.md":{"get":{"operationId":"navegar0_okf_md","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown com frontmatter OKF.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/index.json":{"get":{"operationId":"navegar1_json","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Nó do acervo","content":{"application/json":{"schema":{"$ref":"#/components/schemas/No"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/index.md":{"get":{"operationId":"navegar1_md","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/index.okf.md":{"get":{"operationId":"navegar1_okf_md","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown com frontmatter OKF.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cidade/{cidade}/index.json":{"get":{"operationId":"navegar2_json","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cidade","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Nó do acervo","content":{"application/json":{"schema":{"$ref":"#/components/schemas/No"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cidade/{cidade}/index.md":{"get":{"operationId":"navegar2_md","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cidade","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cidade/{cidade}/index.okf.md":{"get":{"operationId":"navegar2_okf_md","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cidade","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown com frontmatter OKF.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cidade/{cidade}/bairro/{bairro}/index.json":{"get":{"operationId":"navegar3_json","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cidade","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"bairro","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Nó do acervo","content":{"application/json":{"schema":{"$ref":"#/components/schemas/No"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cidade/{cidade}/bairro/{bairro}/index.md":{"get":{"operationId":"navegar3_md","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cidade","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"bairro","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cidade/{cidade}/bairro/{bairro}/index.okf.md":{"get":{"operationId":"navegar3_okf_md","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cidade","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"bairro","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown com frontmatter OKF.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cidade/{cidade}/bairro/{bairro}/rua/{rua}/index.json":{"get":{"operationId":"navegar4_json","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cidade","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"bairro","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"rua","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Nó do acervo","content":{"application/json":{"schema":{"$ref":"#/components/schemas/No"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cidade/{cidade}/bairro/{bairro}/rua/{rua}/index.md":{"get":{"operationId":"navegar4_md","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cidade","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"bairro","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"rua","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cidade/{cidade}/bairro/{bairro}/rua/{rua}/index.okf.md":{"get":{"operationId":"navegar4_okf_md","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cidade","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"bairro","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"rua","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown com frontmatter OKF.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cep/{cep}/index.json":{"get":{"operationId":"navegar5_json","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cep","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Nó do acervo","content":{"application/json":{"schema":{"$ref":"#/components/schemas/No"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cep/{cep}/index.md":{"get":{"operationId":"navegar5_md","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cep","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cep/{cep}/index.okf.md":{"get":{"operationId":"navegar5_okf_md","description":"Siga as URLs de /index.json. Cidade, bairro e rua usam identificadores estáveis devolvidos pela árvore; não monte slugs pelo título. PNCP navega por modalidade, UF, ano, mês, dia e município de publicação; os caminhos anteriores permanecem válidos. CT usa ano, mês e dia da primeira observação (UTC), com lista diária paginada; prefixos antigos continuam válidos, sem contagem materializada. Campos de data ausentes usam sem-data.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cep","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown com frontmatter OKF.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}}},"components":{"schemas":{"No":{"type":"object","required":["versao","servico","titulo","descricao","fonte","itens","links","pagina"],"properties":{"versao":{"const":"1"},"servico":{"type":"string"},"titulo":{"type":"string"},"descricao":{"type":"string"},"fonte":{"type":"string"},"guia":{"type":"object","description":"Na raiz: resumo, hierarquia, limites, exemplos com URLs por formato e links entre acervos.","additionalProperties":true},"atualizado_em":{"type":"string"},"total":{"type":"integer","minimum":0,"description":"Total materializado do recorte indexado; não é uma contagem da fonte viva."},"filhos":{"type":"integer","minimum":0,"description":"Categorias imediatamente abaixo deste nó; não é o total de registros descendentes."},"unidade":{"type":"string","enum":["endereços","compras","domínios","programas"]},"trilha":{"type":"array","maxItems":9,"description":"Ancestrais desde a raiz até o nó atual, com totais na mesma unidade. Disponível na hierarquia com contagens.","items":{"type":"object","required":["titulo","url","total","filhos"],"properties":{"titulo":{"type":"string"},"url":{"type":"string","format":"uri"},"total":{"type":"integer","minimum":0,"description":"Total materializado do recorte indexado; não é uma contagem da fonte viva."},"filhos":{"type":"integer","minimum":0}}}},"dados":{"type":"object","additionalProperties":true},"itens":{"type":"array","maxItems":20,"items":{"type":"object","required":["titulo","tipo","url"],"properties":{"titulo":{"type":"string"},"tipo":{"enum":["colecao","registro"]},"url":{"type":"string","format":"uri"},"total":{"type":"integer","minimum":0,"description":"Total materializado do recorte indexado; não é uma contagem da fonte viva."}}}},"links":{"type":"object","required":["self","raiz","pai","proximo","json","markdown","html","okf"],"properties":{"self":{"type":"string","format":"uri"},"raiz":{"type":"string","format":"uri"},"json":{"type":"string","format":"uri"},"markdown":{"type":"string","format":"uri"},"html":{"type":"string","format":"uri"},"okf":{"type":"string","format":"uri"},"pai":{"type":["string","null"],"format":"uri"},"proximo":{"type":["string","null"],"format":"uri"}}},"pagina":{"type":"object","required":["limite","continuacao"],"properties":{"limite":{"const":20},"continuacao":{"type":"boolean"}}}}}}}}