Entwickler
API-Referenz
Die Trackr-API ist REST über HTTPS mit JSON-Bodies unter /api/v1 deiner Instanz. Es ist dieselbe API, die iOS-App und CLI verwenden.
Aktualisiert am 1. Sept. 2026 beta 2 Min. Lesezeit
Konventionen #
- Basis-URL:
https://<deine-instanz>/api/v1 (für das gehostete Produkt https://app.trackr.dev/api/v1). - Authentifizierung:
Authorization: Bearer <token>. Siehe Authentifizierung. - Bodies und Antworten sind JSON. Daten sind ISO-8601-Strings.
- Fehler liefern ein JSON-Objekt mit
error und einem HTTP-Status: 400 ungültige Eingabe, 401 keine Sitzung, 403 keine Berechtigung, 404 nicht sichtbar. - Jeder Endpunkt setzt dieselben Berechtigungen durch wie die Web-App.
list-my-tasks.sh bash curl "https://app.trackr.dev/api/v1/tasks?scope=mine" \
-H "Authorization: Bearer $TRACKR_TOKEN"
response json [
{
"id": "7a4d…",
"ref": "SCM-1",
"title": "CAD-Modelle für die Messe vorbereiten",
"status": "todo",
"priority": "high",
"type": "task",
"estimate": 360,
"due": "2026-09-12",
"assignees": [{ "id": "…", "name": "Ertugul Kilic" }]
}
]
Sitzung #
| Methode | Pfad | Beschreibung |
GET | /instance | Unauthentifizierte Prüfung. Liefert { name, version, api }. |
GET | /me | Nutzer, Capability-Manifest, Organisationen und ungelesene Anzahl. |
GET PATCH | /me/preferences | Aufgelöste Einstellungen. PATCH merged ein Teilobjekt. |
PATCH | /me/profile | name und image ändern. |
GET POST | /me/views | Gespeicherte Ansichten pro Seite, geteilt mit der Web-App. |
GET | /events | Server-Sent-Events-Stream mit Invalidierungshinweisen (entity, inbox). |
GET | /search?q= | Globale Suche über Tickets, Aufgaben, Projekte, Wiki und Notizen. Optional types, orgId. |
Posteingang #
| Methode | Pfad | Beschreibung |
GET | /inbox | Cursor-paginierter Feed. |
GET | /inbox/badge | Nur die ungelesene Anzahl. |
POST | /inbox/read | Body { all: true }, { id } oder { entityType, entityId }. |
Aufgaben #
| Methode | Pfad | Beschreibung |
GET | /tasks?scope=mine\|all | Aufgaben auflisten. |
POST | /tasks | Anlegen. Body: title, projectKey, description, status, priority, type, due, estimate, tags, assigneeIds, plannedFor. |
GET | /tasks/:id | Detail, View-Model, canEdit, mögliche Verantwortliche. |
PATCH | /tasks/:id | Beliebiges editierbares Feld ändern. |
DELETE | /tasks/:id | Löschen (braucht tasks.delete). |
POST | /tasks/:id/comments | Kommentar hinzufügen. |
POST | /tasks/:id/time | Zeit buchen: { minutes, date, note }. |
GET | /tasks/:id/meetings | Mit der Aufgabe verknüpfte Meeting-Notizen. |
Tickets #
| Methode | Pfad | Beschreibung |
GET | /tickets?segment=mine\|watched\|all&status= | Tickets nach letzter Aktivität. |
POST | /tickets | Anlegen: { orgId, subject, description? }. |
GET | /tickets/:id | Detail mit vollständigem Nachrichtenverlauf und Anhängen. |
PATCH | /tickets/:id | Nur Agents: status, priority, category, assigneeIds, tags. |
DELETE | /tickets/:id | Löschen. |
POST | /tickets/:id/messages | Öffentliche Antwort, oder { internal: true } für eine Team-Notiz. |
PUT | /tickets/:id/checklist | Gesamte Checkliste ersetzen. |
POST | /tickets/:id/tasks | In eine verknüpfte Projektaufgabe umwandeln (nur Team). |
Projekte #
| Methode | Pfad | Beschreibung |
GET | /projects | Sichtbare Projekte. |
GET | /projects/:id | Projektzusammenfassung. |
GET POST | /projects/:id/activity | Verlauf als Klartext; POST fügt einen Projektkommentar hinzu. |
Chat, Notizen, Wiki #
| Methode | Pfad | Beschreibung |
GET POST | /chat/threads?orgId= | Thread-Feed mit Tags und ungelesenen IDs; POST { orgId, title, body }. |
GET | /chat/threads/:id | Nachrichten; markiert den Thread als gelesen. |
POST | /chat/threads/:id/messages | Antworten. |
POST | /notes | Schnellnotiz (nur Staff). |
GET | /notes/list | Eigene Schnell- und Meeting-Notizen sowie geteilte. |
GET | /notes/:id | Notiz lesen. |
GET | /wiki | Flacher Baum: id, parentId, title, folder. |
GET | /wiki/:id | Gerendertes HTML einer Seite. |
Geräte #
| Methode | Pfad | Beschreibung |
POST DELETE | /push/tokens | Geräte-Token registrieren oder entfernen. platform: ios, android, ios-live-activity. |
Diese Seite auf GitHub bearbeiten