Riferimento API
Ogni endpoint è limitato all’account autenticato, e l’API REST si autentica con il cookie di sessione impostato dall’app web. Script e agenti usano invece l’endpoint MCP.
Tutte le richieste e le risposte sono in JSON. Ogni route /api/* si autentica con il cookie di sessione impostato da POST /api/auth/login:
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.txtUn token MCP non autentica l’API REST. Un’intestazione Authorization: Bearer <mcp-token> viene accettata su una sola route, GET /api/events, così un agente può iscriversi alle modifiche con la credenziale che ha già. Ogni altra route /api/* risponde a un bearer token con un 401.
È una scelta voluta, non una dimenticanza: impedisce che un token MCP trapelato possa pilotare l’intera superficie REST dell’account. Script e agenti devono parlare con POST /mcp, che è ciò a cui serve il token.
curl -X GET https://trydone.app/api/events \
-H "Authorization: Bearer <your-generated-mcp-token>"Autenticazione e account
/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/accountAttività
/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/resurfaceCestino
/api/trash/api/tasks/:id/restore/api/trash/:id/api/trashTag
/api/tags/api/tags/api/tags/:id/api/task-tags/api/tasks/:id/tags/api/tasks/:id/tags/:tagIdDipendenze
/api/dependencies/api/tasks/:id/dependencies/api/tasks/:id/dependencies/api/tasks/:id/dependencies/:blockerIdCronologia
/api/tasks/:id/comments/api/tasks/:id/comments/api/activity/api/claude-shippedRiepilogo e revisione
/api/digest/api/review/api/statsObiettivi
/api/goals/api/goals/api/goals/:id/api/goals/:id/api/goals/:id/breakdownPosta in arrivo delle acquisizioni
/api/capture/api/capture/sweep/api/capture/:id/accept/api/capture/:id/dismissRiordino
/api/grooming/api/grooming/proposals/api/grooming/items/:id/approve/api/grooming/items/:id/dismissAutonomia e agenti
/api/autonomy/api/autonomy/revoke/api/agents/api/fleet/api/projects/:id/rejections/api/decisions/api/decisions/:id/answerAvvii
/api/triggers/api/triggers/:id/api/trigger-webhook/api/trigger-webhook/api/trigger-webhookRoutine e budget
/api/routine/api/routine/api/routine/nightProgetti
/api/projects/api/projects/api/projects/:id/api/projects/:idSpazi di lavoro e condivisione
/api/workspaces/api/workspaces/:id/pause/api/workspaces/:id/resume/api/workspaces/:id/members/api/workspaces/:id/members/:memberId/api/invites/api/invites/acceptEsecuzioni degli agenti
/api/runsCalendario e sincronizzazione con Google
/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/:eventIdNotifiche e tempo reale
/api/notifications/api/notifications/api/events/api/export/api/view-prefs/api/saved-views/api/widgetMCP
/mcp