REST endpoints for tasks, objectives, sessions, and week plans. Designed for AI agents and external integrations.
https://api.trydeepwork.comx-api-key: tdw_xxxxxxxxhttps://api.trydeepwork.com/openapi.jsonGenerate API key → openapi.json trydeepwork.com
| Method | Path | Summary | Params |
|---|---|---|---|
| GET | /getTasks |
List tasks | ?status,impact,urgency,objective_id,limit |
| GET | /getTask |
Get single task | ?task_id |
| POST | /createTask |
Create task | {title,estimated_hours,impact?,deadline?,is_hard_deadline?,objective_id?,steps?,inbox?} |
| POST | /updateTask |
Update task fields | {task_id,title?,estimated_hours?,impact?,deadline?,is_hard_deadline?,objective_id?,steps?} |
| POST | /completeTask |
Mark task complete/incomplete | {task_id,completed?} |
| POST | /abandonTask |
Abandon task | {task_id} |
| GET | /getObjectives |
List objectives | ?status,limit |
| GET | /getObjective |
Get single objective | ?objective_id |
| POST | /createObjective |
Create objective | {title,description,color?,deadline?,milestones?} |
| POST | /updateObjective |
Update objective | {objective_id,title?,description?,color?,deadline?,milestones?} |
| POST | /completeObjective |
Complete objective | {objective_id,completed?} |
| POST | /archiveObjective |
Archive objective | {objective_id,archived?} |
| GET | /getWeekPlan |
Get week plan | ?week_start |
| POST | /updateWeekPlan |
Add/remove tasks in week plan | {week_start,add?,remove?} |
| POST | /lockWeekPlan |
Lock week plan (Mon-Wed, >=3 tasks, >=1 high-impact) | {week_start} |
| GET | /getSessions |
List session history | ?from,to,task_id,objective_id,level,min_rating,limit |
| GET | /getScheduledSessions |
List scheduled sessions | ?from,to,task_id,limit |
| POST | /createScheduledSession |
Schedule a session | {task_id,scheduled_start_ts,duration_minutes,timezone} |
| POST | /deleteScheduledSession |
Delete scheduled session | {session_id} |
export TDW_KEY=tdw_xxxxxxxx
curl -H "x-api-key: $TDW_KEY" https://api.trydeepwork.com/getTasks
curl -H "x-api-key: $TDW_KEY" \
-H "content-type: application/json" \
-d '{"title":"ship docs","estimated_hours":1,"impact":"high"}' \
https://api.trydeepwork.com/createTask
Paste this into your agent's system prompt:
You have access to the trydeepwork API at https://api.trydeepwork.com.
Auth: send header x-api-key: <user's key>
Full spec at https://api.trydeepwork.com/openapi.json — fetch it if you need schemas.
Tasks: /getTasks, /getTask, /createTask, /updateTask, /completeTask, /abandonTask
Objectives: /getObjectives, /getObjective, /createObjective, /updateObjective, /completeObjective, /archiveObjective
Week plan: /getWeekPlan, /updateWeekPlan, /lockWeekPlan
Sessions: /getSessions (completed history), /getScheduledSessions, /createScheduledSession, /deleteScheduledSession
All timestamps are unix milliseconds. Status enum: active|completed|abandoned|inbox.
Impact/urgency enum: low|medium|high. Urgency is derived server-side from deadline.
GET responses include a _meta object with totals, filters, and generated_at.*_date fields are ISO YYYY-MM-DD derived for convenience.{"error": "message"} with appropriate HTTP status.401 {"error":"Invalid or missing API key"}.POST with JSON body; reads are GET with query params.