Documentação da API TaskLeef

API REST para gerir tarefas, projetos e quadros Kanban

Última atualização:

Autenticação

A API suporta dois métodos de autenticação:

1. Autenticação por chave de API (recomendado)

Generate an API key from your Settings page and include it in the X-API-Key header:

curl -H "X-API-Key: your-api-key" \
  https://taskleef.com/api/todos

2. Token Bearer JWT

Para aplicações baseadas em navegador, autentique-se através do endpoint de início de sessão:

curl -X POST https://taskleef.com/api/login \
  -H "Content-Type: application/json" \
  -d '{"username": "your-username", "password": "your-password"}'

Em seguida, inclua o token nos pedidos seguintes:

curl -H "Authorization: Bearer your-jwt-token" \
  https://taskleef.com/api/todos

Tarefas

GET/api/todos

Obtenha todas as tarefas do utilizador autenticado.

curl -H "X-API-Key: your-api-key" \
  https://taskleef.com/api/todos
GET/api/todos/{id}

Obtenha uma tarefa específica por ID.

GET/api/inbox

Obtenha as tarefas que não estão atribuídas a nenhum projeto.

POST/api/todos

Crie uma nova tarefa.

curl -X POST -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"title": "Buy groceries", "description": "Milk, eggs, bread"}' \
  https://taskleef.com/api/todos

Corpo do pedido

CampoTipoObrigatórioDescrição
titlestringYesTodo title
descriptionstringNoDetailed description
dueDateISO 8601NoDue date/time
prioritystringNoLow, Medium, High, or Urgent
projectIdUUIDNoAssign to a project
PUT/api/todos/{id}

Atualize uma tarefa existente.

PATCH/api/todos/{id}/complete

Alterne o estado de conclusão da tarefa.

curl -X PATCH -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"isCompleted": true}' \
  https://taskleef.com/api/todos/{id}/complete
DELETE/api/todos/{id}

Elimine uma tarefa.

POST/api/todos/{parentId}/subtasks

Crie uma subtarefa sob uma tarefa principal.

curl -X POST -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"title": "Subtask title"}' \
  https://taskleef.com/api/todos/{parentId}/subtasks

Projetos

GET/api/projects

Liste todos os projetos do utilizador autenticado.

POST/api/projects

Crie um novo projeto.

curl -X POST -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"title": "Work Tasks", "description": "Tasks for work"}' \
  https://taskleef.com/api/projects
GET/api/projects/{id}

Obtenha um projeto específico com as suas tarefas.

PUT/api/projects/{id}

Atualize um projeto.

DELETE/api/projects/{id}

Elimine um projeto (as tarefas são movidas para a caixa de entrada).

Quadros Kanban

GET/api/boards

Liste todos os quadros a que o utilizador tem acesso.

POST/api/boards

Crie um novo quadro.

curl -X POST -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"title": "Sprint Board", "projectId": "project-uuid"}' \
  https://taskleef.com/api/boards
GET/api/boards/{id}

Obtenha um quadro específico.

GET/api/boards/{boardId}/columns

Obtenha todas as colunas de um quadro.

GET/api/boards/{boardId}/todos

Obtenha todas as tarefas que têm cartões neste quadro.

Colunas

POST/api/boards/{boardId}/columns

Crie uma nova coluna num quadro.

curl -X POST -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"title": "In Progress", "wipLimit": 3}' \
  https://taskleef.com/api/boards/{boardId}/columns
PUT/api/columns/{id}

Atualize uma coluna (título, limite de WIP, critérios de conclusão).

GET/api/columns/{columnId}/cards

Obtenha todos os cartões de uma coluna.

DELETE/api/columns/{id}

Elimine uma coluna.

Cartões

Os cartões representam tarefas num quadro Kanban. Uma tarefa pode ter cartões em vários quadros.

POST/api/columns/{columnId}/cards

Crie um cartão para uma tarefa numa coluna.

curl -X POST -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"todoId": "todo-uuid"}' \
  https://taskleef.com/api/columns/{columnId}/cards
PUT/api/cards/{id}

Atualize um cartão (mova para uma coluna ou subcoluna diferente).

# Move card to a different column
curl -X PUT -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"columnId": "new-column-uuid", "subColumn": "Inbox"}' \
  https://taskleef.com/api/cards/{id}

# Move card to Done subColumn
curl -X PUT -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"subColumn": "Done"}' \
  https://taskleef.com/api/cards/{id}

Valores de subcoluna

  • Inbox - Active items in the column
  • Done - Completed items within the column
  • Blocked - Items waiting on external dependencies
DELETE/api/cards/{id}

Remova um cartão do quadro (não elimina a tarefa).

Etiquetas

GET/api/tags

Liste todas as etiquetas do utilizador autenticado.

POST/api/tags

Crie uma nova etiqueta.

curl -X POST -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"name": "urgent"}' \
  https://taskleef.com/api/tags
PUT/api/tags/{id}

Atualize uma etiqueta.

DELETE/api/tags/{id}

Elimine uma etiqueta.

Comentários

GET/api/todos/{todoId}/comments

Obtenha todos os comentários de uma tarefa.

POST/api/todos/{todoId}/comments

Adicione um comentário a uma tarefa.

curl -X POST -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{"text": "This is my comment"}' \
  https://taskleef.com/api/todos/{todoId}/comments
PUT/api/comments/{id}

Atualize um comentário.

DELETE/api/comments/{id}

Elimine um comentário.

Formato da resposta

Respostas de sucesso

Os pedidos bem-sucedidos devolvem JSON com os dados solicitados:

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "title": "Buy groceries",
  "description": "Milk, eggs, bread",
  "isCompleted": false,
  "createdAt": "2024-01-15T10:30:00Z"
}

Respostas de erro

Os erros devolvem os códigos de estado HTTP apropriados:

  • 400 - Bad Request (invalid input)
  • 401 - Unauthorized (missing or invalid authentication)
  • 403 - Forbidden (insufficient permissions)
  • 404 - Not Found
  • 500 - Internal Server Error

Need help? Check your Settings to manage API keys.