/api/v1/todos/{todo}
Complete or reopen a to-do
Mark any to-do the token can manage as complete or open again.
Last updated
Request
PATCH /api/v1/todos/{todo}
Requires the :todos permission for the record type the to-do belongs to, such as people:todos for a to-do on a person. See token permissions.
Send Authorization: Bearer YOUR_API_TOKEN and Accept: application/json. Send request bodies as JSON with Content-Type: application/json. This write requires Idempotency-Key. Reuse the same key only when retrying the same action.
todo is the numeric to-do ID.
Query parameters
This endpoint does not use query parameters.
Request body
| Field | Type | Usage |
|---|---|---|
is_complete |
boolean | Required. true to complete the to-do or false to reopen it. |
Example
Set ASSETCENTER_API_TOKEN as described in the quick start. Replace example record and option IDs with values from your organization. Set IDEMPOTENCY_KEY to a new UUID for this action; keep it for retries.
curl --request PATCH "https://my.assetcenter.app/api/v1/todos/77" \
--header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
--header "Accept: application/json" \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--header "Content-Type: application/json" \
--data '{"is_complete":true}'
Response
200 OK. The updated to-do.
{
"data": {
"id": 77,
"name": "Replace battery",
"notes": null,
"due_date": "2026-10-09",
"assigned_to": 4,
"created_by": 4,
"is_complete": true,
"created_at": "2026-10-02T16:00:00.000000Z",
"updated_at": "2026-10-02T16:00:00.000000Z",
"resource": "assets",
"record_id": 123
}
}
Behavior and constraints
Only is_complete can be changed here; any other field returns 422. To edit a to-do’s name, notes, due date, or assignee, use the record’s own to-do endpoint, such as update an asset to-do. A to-do the token cannot manage returns 404. When a retry with the same key is replayed, the token must still hold the :todos permission for that record type, or the replay returns 403.
Errors
401 means the token is missing, expired, revoked, or not a customer API token. 403 means a required permission or administrator access is missing. 404 means the record or child record is unavailable in this organization. 422 identifies invalid or unsupported input; inspect the errors object when present. 409 indicates a conflicting state or concurrent change; inspect the message and refresh the record before deciding how to proceed. Reusing an idempotency key with a different method, path, or body also returns 409. 429 means a rate limit was reached. See error handling and rate limits.