{"openapi":"3.1.0","info":{"title":"API de Dados Abertos","version":"1.0.0","description":"API pública e somente leitura do Portal da Transparência. Respostas em UTF-8, sem necessidade de autenticação."},"servers":[{"url":"https://localhost:3000/api/dados-abertos/v1"}],"paths":{"/":{"get":{"summary":"Catálogo da API","responses":{"200":{"description":"Recursos disponíveis."}}}},"/{recurso}":{"get":{"summary":"Consulta um recurso público","parameters":[{"name":"recurso","in":"path","required":true,"schema":{"type":"string","enum":["receitas","despesas","licitacoes","contratos","convenios","diarias","servidores","legislacao","obras","emendas","noticias","diario-oficial","documentos","restos-a-pagar","vereadores","comissoes","sessoes"]}},{"name":"municipioId","in":"query","schema":{"type":"string"},"description":"Identificador do município. No domínio municipal, pode ser omitido."},{"name":"pagina","in":"query","schema":{"type":"integer","minimum":1,"default":1}},{"name":"limite","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"q","in":"query","schema":{"type":"string"},"description":"Busca textual em todos os campos públicos."},{"name":"campos","in":"query","schema":{"type":"string"},"description":"Lista de campos separados por vírgula."},{"name":"formato","in":"query","schema":{"type":"string","enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"Página de resultados.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse"}},"text/csv":{}}},"404":{"description":"Recurso inexistente."}}}}},"components":{"schemas":{"PaginatedResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","additionalProperties":true}},"meta":{"type":"object","additionalProperties":true},"links":{"type":"object","additionalProperties":{"type":["string","null"]}}}}}}}