Referência da API#
Esta seção fornece uma referência técnica e detalhada para todos os endpoints disponíveis na API iaEditais.
Convenções#
- Todos os endpoints base seguem o formato
http://localhost:8000. - Os tipos de dados são definidos pelos schemas Pydantic encontrados em
iaEditais/schemas/. - A autenticação não é abordada nesta documentação inicial.
Source#
Recursos para gerenciar as fontes de referência (leis, normas, etc.).
POST /source/#
Cria uma nova fonte de referência. Permite o upload opcional de um arquivo PDF.
- Status:
201 CREATED - Request Body:
multipart/form-dataname:string(required)description:string(required)file:UploadFile(optional)
- Response Body:
Source{ "id": "a1b2c3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d6", "name": "string", "description": "string", "has_file": false, "created_at": "2024-01-01T00:00:00.000Z", "updated_at": null }
GET /source/#
Lista todas as fontes cadastradas.
- Status:
200 OK - Response Body:
list[Source]
GET /source/{source_id}/#
Retorna o arquivo PDF associado a uma fonte.
- Status:
200 OK - Path Parameter:
source_id: UUID - Response Body:
FileResponse
DELETE /source/{source_id}/#
Exclui uma fonte e seu arquivo associado.
- Status:
204 NO CONTENT - Path Parameter:
source_id: UUID
Typification#
Recursos para gerenciar as tipificações (nível 1 da árvore).
POST /typification/#
Cria uma nova tipificação.
- Status:
201 CREATED - Request Body:
CreateTypification{ "name": "string", "source": ["a1b2c3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d6"] } - Response Body:
Typification
GET /typification/#
Lista todas as tipificações.
- Status:
200 OK - Response Body:
list[Typification]
Taxonomy#
Recursos para gerenciar a taxonomia (nível 2 da árvore).
POST /taxonomy/#
Cria um novo item de taxonomia associado a uma tipificação.
- Status:
201 CREATED - Request Body:
CreateTaxonomy{ "typification_id": "a1b2c3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d6", "title": "string", "description": "string", "source": [] } - Response Body:
Taxonomy
GET /taxonomy/{typification_id}/#
Lista todos os itens de taxonomia de uma tipificação específica.
- Status:
200 OK - Path Parameter:
typification_id: UUID - Response Body:
list[Taxonomy]
Branch#
Recursos para gerenciar os ramos (nível 3 da árvore).
POST /taxonomy/branch/#
Cria um novo ramo associado a uma taxonomia.
- Status:
201 CREATED - Request Body:
CreateBranch{ "taxonomy_id": "a1b2c3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d6", "title": "string", "description": "string" } - Response Body:
Branch
GET /taxonomy/branch/{taxonomy_id}/#
Lista todos os ramos de uma taxonomia específica.
- Status:
200 OK - Path Parameter:
taxonomy_id: UUID - Response Body:
list[Branch]
Doc & Release#
Recursos para gerenciar os documentos (editais) e suas análises (releases).
POST /doc/#
Cria um novo registro de documento.
- Status:
201 CREATED - Request Body:
CreateDoc{ "name": "Edital de Exemplo", "typification": ["a1b2c3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d6"] } - Response Body:
Doc
GET /doc/#
Lista todos os documentos.
- Status:
200 OK - Response Body:
list[Doc]
POST /doc/{doc_id}/release/#
Inicia a análise de um documento. Faz o upload do arquivo PDF e dispara o pipeline RAG.
- Status:
201 CREATED - Path Parameter:
doc_id: UUID - Request Body:
multipart/form-datafile:UploadFile(required,.pdfonly)
- Response Body:
Release(contém a árvore de verificação com os resultados da análise)
GET /doc/{doc_id}/release/#
Lista todas as análises (releases) de um documento.
- Status:
200 OK - Path Parameter:
doc_id: UUID - Response Body:
list[Release]
GET /doc/release/{release_id}/#
Retorna o arquivo PDF de uma análise específica.
- Status:
200 OK - Path Parameter:
release_id: UUID - Response Body:
FileResponse