↑ ↓ to navigate · ↵ to open See all results
PATCH /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 / Bash
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.

JSON
{
  "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.