APIs¶
Acesso e formato¶
Os endpoints de domínio estão sob /api/v1/. A API aceita Token Authentication e Session Authentication e exige usuário autenticado por padrão. As respostas seguem os serializers DRF; a paginação padrão é de 20 registros. SearchFilter e OrderingFilter estão habilitados globalmente.
| Recurso | Rota base | Métodos disponíveis |
|---|---|---|
| Projetos | /api/v1/projetos/ |
GET lista/detalhe; POST; PUT/PATCH; DELETE lógico. |
| Etiquetas | /api/v1/etiquetas/ |
GET lista/detalhe; POST; PUT/PATCH; DELETE físico. |
| Tarefas | /api/v1/tarefas/ |
GET lista/detalhe; POST; PUT/PATCH; DELETE lógico. |
| Eventos | /api/v1/eventos/ |
GET lista/detalhe; POST; PUT/PATCH; DELETE lógico. |
| Notificações | /api/v1/notificacoes/ |
GET lista/detalhe, somente leitura. |
As rotas de listagem e detalhe usam o roteador DRF e aceitam identificadores inteiros.
Autenticação e documentação¶
- Token:
POST /api/v1/auth/token/, comusernameepassword. - Schema OpenAPI:
/api/schema/. - Swagger UI:
/api/docs/. - Redoc:
/api/redoc/. - Health check:
/health/(fora do prefixo/api/v1/).
Busca e ordenação¶
Campos declarados pelos ViewSets:
| Recurso | Busca | Ordenação |
|---|---|---|
| Projetos | nome, descricao |
nome, status, criado_em, atualizado_em |
| Etiquetas | nome |
nome |
| Tarefas | titulo, descricao |
titulo, prioridade, status, data_vencimento, criado_em |
| Eventos | titulo, descricao |
titulo, data_inicio, data_fim, criado_em |
| Notificações | titulo, mensagem |
criado_em, lida |
Escopo e comportamento¶
As consultas dos ViewSets limitam resultados ao usuário ou proprietário associado. Exclusões de projeto, tarefa e evento marcam o registro como excluído; etiqueta é removida fisicamente. Notificações só podem ser lidas pela API. A criação/edição de etiquetas, tarefas e eventos recebe IDs de relações nos serializers; consulte os limites de validação de propriedade na seção Governança.
Limites¶
As três ações de IA do Dashboard são POSTs HTML protegidos por sessão, não endpoints REST. A API REST não oferece endpoint para marcar notificações como lidas nem recursos para histórico de sugestões de IA.
Referências¶
- URLs:
core/urls.pye<app>/api/urls.py. - ViewSets e serializers:
projetos/api/,tarefas/api/,calendario/api/enotificacoes/api/. - Configuração:
REST_FRAMEWORKeSPECTACULAR_SETTINGSemcore/settings/base.py.