Latanso API
Read and change your tasks, lists, routines and goals from your own scripts, Zapier, Make or IFTTT webhooks.
Authentication
Make a key in the Latanso app: Settings → API Keys. Send it with every request:
curl https://api.latanso.com/v1/tasks?view=inbox \
-H "Authorization: Bearer lat_..."
A key can do everything you can do in the app, so keep it secret. Revoke it in the same place at any time. Up to 120 requests a minute per key.
Conventions
Bodies are JSON. Dates are YYYY-MM-DD and times HH:mm. “Today” is worked out in the timeZone parameter or the X-Time-Zone header (for example Europe/Istanbul), else UTC. Lists are called projects here, as in the data. Errors come back as {"error": {"message": "..."}} with a 4xx status.
Endpoints
| Request | What it does |
|---|---|
GET /v1/tasks | view = day (default; date), inbox, upcoming (days), project (projectId), open or completed (days). Also includeCompleted, limit. |
POST /v1/tasks | Create a task: title, and optionally date, time, deadline, projectId, notes, priority (low, normal, high), tags, repeat, steps. With no date and no project it goes to the Inbox. |
GET /v1/tasks/{id} | One task. |
PATCH /v1/tasks/{id} | Change fields; null clears one. |
POST /v1/tasks/{id}/complete | Complete it ({"completed": false} reopens). A repeating task gets its next copy. |
DELETE /v1/tasks/{id} | Move it to the Trash. |
GET /v1/projects | Your lists, with open task counts. |
POST /v1/projects | Create a list: name, parentId, notes, startDate, deadline. |
PATCH /v1/projects/{id} | Rename, move or change a list. |
POST /v1/projects/{id}/complete | Complete a list (completeTasks to complete its tasks too). |
GET /v1/routines | Routines planned for date with their check-ins, or every active one with all=true. |
POST /v1/routines/{id}/check-in | Check in once more, or set count (0 undoes). |
GET /v1/goals | Your goals with progress: current, percent, reached, remaining. Filter with projectId; recent adds the latest progress entries. |
POST /v1/goals | Create a goal: title, mode (total: entries add up; measure: each entry is the current value), targetValue, and optionally startValue, unit, startDate, deadline, projectId, tags. |
PATCH /v1/goals/{id} | Change a goal; null clears deadline, projectId or tags. |
DELETE /v1/goals/{id} | Move it to the Trash. |
POST /v1/goals/{id}/progress | Log progress: value (an amount to add, or the current reading, by the goal's mode), optionally date and note. |
DELETE /v1/goals/progress/{id} | Delete one progress entry. |
GET /v1/search?query= | Search tasks, routines, lists and goals. |
Example
curl https://api.latanso.com/v1/tasks \
-H "Authorization: Bearer lat_..." \
-H "Content-Type: application/json" \
-d '{"title": "Renew passport", "deadline": "2026-12-01", "tags": ["errands"]}'
Email to Latanso
Every account also has a private email address (Settings → Email to Latanso). Mail sent or forwarded to it lands in the Inbox: the subject becomes the title, the text the notes.
AI apps
For Claude, ChatGPT and other AI apps, use the MCP server instead: https://mcp.latanso.com/mcp.