Task API reference — endpoints, fields and responses
The 0nTask API exposes task management through a single endpoint, https://app.0ntask.com/api/v1/tasks, which accepts GET to list, POST to create, PATCH to update and DELETE to remove.
One URL and four verbs, rather than eight separate endpoints to learn. Field names are forgiving on purpose — several common aliases are accepted for each one.
Endpoints
| Method | Path | Returns |
|---|---|---|
| GET | /tasks | { ok, count, tasks[] } |
| POST | /tasks | { ok, task, synced_to_app } |
| PATCH | /tasks | { ok, task } |
| DELETE | /tasks | { ok, deleted } |
| GET | /quick | JSON, or an HTML confirmation in a browser |
| GET | /webhooks | { webhooks[], available_events[] } |
| POST | /webhooks | { ok, id, events, signed } |
Fields
Only title is required, and only on create. Aliases are accepted because guessing the field name wrong is the most common reason a first call fails.
titlestringrequiredAlso accepted as text, task, name, summary or subject.
notesstringAlso accepted as description, body or detail.
prioritystringhigh · medium · low. urgent, critical and p1 all map to high.
statusstringtodo · in_progress · completed. done, complete, true, yes and 1 all map to completed.
dueDatestringAlso accepted as due_date, due or date.
categorystringAlso accepted as tag or label.
projectstringProject id. Also accepted as projectId, project_id or list.
estimatedMinutesnumberAlso accepted as minutes.
external_idstringUNIQUE per task in your system. Send the same value again and that task is updated instead of duplicated. Also accepted as externalId, taskId or recordId.
contact_idstringThe contact this task belongs to. Many tasks can share one contact — never use this for deduplication. Also accepted as contactId or crm_contact_id.
sourcestringWhich system created the task. Travels in outbound webhooks so a receiver can ignore its own echo.
skip_webhooksbooleanSet true to suppress outbound webhooks for this write — use it when the other system is the one writing, to prevent a sync loop.
List tasks
curl https://app.0ntask.com/api/v1/tasks \
-H "Authorization: Bearer 0nt_live_YOUR_KEY"FAQ
What are the API endpoints?
GET, POST, PATCH and DELETE on /api/v1/tasks handle all task operations. /api/v1/quick creates a task from a GET request, and /api/v1/webhooks manages outbound events.
Which fields are required?
Only title, and only when creating. Everything else is optional and has a sensible default.
What does the API return?
JSON. Creates and updates return { ok, task, synced_to_app }; lists return { ok, count, tasks }; deletes return { ok, deleted }.
What happens if I send an unknown field?
It is ignored rather than rejected, so adding metadata to your request will not break the call.