TaskLeef API-Dokumentation

REST-API zur Verwaltung von Todos, Projekten und Kanban-Boards

Zuletzt aktualisiert:

Authentifizierung

Die API unterstützt zwei Authentifizierungsmethoden:

1. API-Schlüssel-Authentifizierung (empfohlen)

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. JWT-Bearer-Token

Authentifizieren Sie sich bei browserbasierten Anwendungen über den Login-Endpunkt:

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

Fügen Sie das Token dann in nachfolgende Anfragen ein:

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

Todos

GET/api/todos

Alle Todos für den authentifizierten Benutzer abrufen.

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

Ein bestimmtes Todo anhand der ID abrufen.

GET/api/inbox

Todos abrufen, die keinem Projekt zugeordnet sind.

POST/api/todos

Ein neues Todo erstellen.

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

Anfragetext

FeldTypErforderlichBeschreibung
titlestringYesTodo title
descriptionstringNoDetailed description
dueDateISO 8601NoDue date/time
prioritystringNoLow, Medium, High, or Urgent
projectIdUUIDNoAssign to a project
PUT/api/todos/{id}

Ein bestehendes Todo aktualisieren.

PATCH/api/todos/{id}/complete

Erledigungsstatus eines Todos umschalten.

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}

Ein Todo löschen.

POST/api/todos/{parentId}/subtasks

Eine Teilaufgabe unter einem übergeordneten Todo erstellen.

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

Projekte

GET/api/projects

Alle Projekte für den authentifizierten Benutzer auflisten.

POST/api/projects

Ein neues Projekt erstellen.

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}

Ein bestimmtes Projekt mit seinen Todos abrufen.

PUT/api/projects/{id}

Ein Projekt aktualisieren.

DELETE/api/projects/{id}

Ein Projekt löschen (Todos werden in den Posteingang verschoben).

Kanban-Boards

GET/api/boards

Alle Boards auflisten, auf die der Benutzer Zugriff hat.

POST/api/boards

Ein neues Board erstellen.

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}

Ein bestimmtes Board abrufen.

GET/api/boards/{boardId}/columns

Alle Spalten eines Boards abrufen.

GET/api/boards/{boardId}/todos

Alle Todos abrufen, die Karten auf diesem Board haben.

Spalten

POST/api/boards/{boardId}/columns

Eine neue Spalte auf einem Board erstellen.

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}

Eine Spalte aktualisieren (Titel, WIP-Limit, Erledigungskriterien).

GET/api/columns/{columnId}/cards

Alle Karten in einer Spalte abrufen.

DELETE/api/columns/{id}

Eine Spalte löschen.

Karten

Karten repräsentieren Todos auf einem Kanban-Board. Ein Todo kann Karten auf mehreren Boards haben.

POST/api/columns/{columnId}/cards

Eine Karte für ein Todo in einer Spalte erstellen.

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}

Eine Karte aktualisieren (in eine andere Spalte oder subColumn verschieben).

# 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}

SubColumn-Werte

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

Eine Karte vom Board entfernen (löscht das Todo nicht).

Tags

GET/api/tags

Alle Tags für den authentifizierten Benutzer auflisten.

POST/api/tags

Ein neues Tag erstellen.

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}

Ein Tag aktualisieren.

DELETE/api/tags/{id}

Ein Tag löschen.

Kommentare

GET/api/todos/{todoId}/comments

Alle Kommentare zu einem Todo abrufen.

POST/api/todos/{todoId}/comments

Einen Kommentar zu einem Todo hinzufügen.

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}

Einen Kommentar aktualisieren.

DELETE/api/comments/{id}

Einen Kommentar löschen.

Antwortformat

Erfolgsantworten

Erfolgreiche Anfragen geben JSON mit den angeforderten Daten zurück:

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

Fehlerantworten

Fehler geben entsprechende HTTP-Statuscodes zurück:

  • 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.