Skip to content

Get Todo Status

Returns the current status and actions of a todo. Designed for lightweight polling to detect changes without fetching the full todo object.

Pass last_updated_at to check whether the todo has changed since a previous fetch — is_updated in the response will be true if a change occurred.

Endpoint

GET /todo-service/v1/todos/{id}/status

Path Parameters

Parameter Type Required Description
id string Yes Unique identifier of the todo

Query Parameters

Parameter Type Required Description
last_updated_at string No RFC3339 timestamp of the last known update. When provided, is_updated reflects whether the todo changed since this time

Request

curl --location '{base_url}/todo-service/v1/todos/td-9f3a1bc2-4e5d-4f6a-8b7c-123456789abc/status?last_updated_at=2025-01-31T08:00:00Z' \
  --header 'Authorization: Bearer JWT_TOKEN'

Response

Success Response

Code: 200 OK

{
  "id": "td-9f3a1bc2-4e5d-4f6a-8b7c-123456789abc",
  "todo_status": "ACTIVE",
  "actions": [],
  "updated_at": "2025-01-31T09:30:00Z",
  "is_updated": true
}

Response Fields

Field Type Description
id string Todo identifier
todo_status string Current status: ACTIVE, COMPLETED, or CANCELLED
actions array Current available actions
updated_at string Last update timestamp
is_updated boolean true if the todo changed after last_updated_at. Always true if last_updated_at was not provided

Error Response

Code: 404 Not Found

{
  "error": "Todo not found: td-9f3a1bc2-4e5d-4f6a-8b7c-123456789abc"
}

Notes

  • The polling_url field returned by Create Todo and Get Todo contains the pre-built path for this endpoint.