Pular para conteúdo

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/, com username e password.
  • 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.py e <app>/api/urls.py.
  • ViewSets e serializers: projetos/api/, tarefas/api/, calendario/api/ e notificacoes/api/.
  • Configuração: REST_FRAMEWORK e SPECTACULAR_SETTINGS em core/settings/base.py.