API-Referenz
Jeder Endpunkt ist auf das angemeldete Konto beschränkt, und die REST-API authentifiziert sich mit dem Sitzungscookie, das die Web-App setzt. Skripte und Agenten nutzen stattdessen den MCP-Endpunkt.
Alle Anfragen und Antworten sind JSON. Jede Route unter /api/* authentifiziert sich mit dem Sitzungscookie, das POST /api/auth/login setzt:
curl -X POST https://trydone.app/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","password":"..."}' \
-c cookies.txt
curl -X GET https://trydone.app/api/tasks -b cookies.txtEin MCP-Token authentifiziert nicht gegenüber der REST-API. Ein Header Authorization: Bearer <mcp-token> wird auf genau einer Route akzeptiert, nämlich GET /api/events, damit ein Agent Änderungen mit dem Zugang abonnieren kann, den er schon hat. Jede andere Route unter /api/* beantwortet ein Bearer-Token mit 401.
Das ist Absicht und kein Versehen: So kann ein durchgesickertes MCP-Token nicht die gesamte REST-Oberfläche des Kontos steuern. Skripte und Agenten sollten stattdessen mit POST /mcp sprechen, denn dafür ist das Token da.
curl -X GET https://trydone.app/api/events \
-H "Authorization: Bearer <your-generated-mcp-token>"Anmeldung & Konto
/api/auth/signup/api/referrals/api/auth/login/api/auth/magic-link/api/auth/magic-link/verify/api/auth/2fa/verify/api/auth/logout/api/auth/me/api/bootstrap/api/auth/profile/api/auth/password/verify/api/auth/password/api/auth/forgot-password/api/auth/reset-password/api/auth/verify-email/api/auth/resend-verification/api/auth/mcp-token/api/auth/mcp-token/api/mcp-tokens/api/mcp-tokens/api/mcp-tokens/:id/api/auth/2fa/api/auth/2fa/setup/api/auth/2fa/enable/api/auth/2fa/api/auth/2fa/recovery-codes/api/auth/connections/api/auth/connections/:clientId/api/auth/accountAufgaben
/api/tasks/api/tasks/api/tasks/quick/api/tasks/import/api/tasks/:id/api/tasks/:id/api/tasks/:id/api/tasks/bulk-assign/api/tasks/bulk-delete/api/tasks/bulk-move/api/tasks/:id/decompose/api/tasks/:id/approve/api/tasks/:id/reject/api/tasks/:id/approve-plan/api/tasks/:id/reject-plan/api/tasks/:id/evidence/api/tasks/:id/runs/api/tasks/:id/decisions/api/tasks/:id/pause/api/tasks/:id/resume/api/resurfacePapierkorb
/api/trash/api/tasks/:id/restore/api/trash/:id/api/trashTags
/api/tags/api/tags/api/tags/:id/api/task-tags/api/tasks/:id/tags/api/tasks/:id/tags/:tagIdAbhängigkeiten
/api/dependencies/api/tasks/:id/dependencies/api/tasks/:id/dependencies/api/tasks/:id/dependencies/:blockerIdVerlauf
/api/tasks/:id/comments/api/tasks/:id/comments/api/activity/api/claude-shippedZusammenfassung & Rückblick
/api/digest/api/review/api/statsZiele
/api/goals/api/goals/api/goals/:id/api/goals/:id/api/goals/:id/breakdownErfassungseingang
/api/capture/api/capture/sweep/api/capture/:id/accept/api/capture/:id/dismissAufräumen
/api/grooming/api/grooming/proposals/api/grooming/items/:id/approve/api/grooming/items/:id/dismissAutonomie & Agenten
/api/autonomy/api/autonomy/revoke/api/agents/api/fleet/api/projects/:id/rejections/api/decisions/api/decisions/:id/answerAuslöser
/api/triggers/api/triggers/:id/api/trigger-webhook/api/trigger-webhook/api/trigger-webhookRoutine & Budget
/api/routine/api/routine/api/routine/nightProjekte
/api/projects/api/projects/api/projects/:id/api/projects/:idArbeitsbereiche & Teilen
/api/workspaces/api/workspaces/:id/pause/api/workspaces/:id/resume/api/workspaces/:id/members/api/workspaces/:id/members/:memberId/api/invites/api/invites/acceptAgentenläufe
/api/runsKalender & Google-Synchronisierung
/api/calendar/api/calendar/api/calendar/token/api/calendar/token/api/calendar/oauth/start/api/calendar/writeback/api/calendar/writeback/sync/api/calendar/writeback/api/google/accounts/api/google/sync/api/google/accounts/:id/api/calendar/events/api/calendar/matches/api/tasks/:id/calendar-links/api/tasks/:id/calendar-links/api/tasks/:id/calendar-links/:eventIdBenachrichtigungen & Live
/api/notifications/api/notifications/api/events/api/export/api/view-prefs/api/saved-views/api/widgetMCP
/mcp