List todos
Returns a paginated list of all todos for the company.
Request
GET /api/oauth/v2/resource/todos
Header
| Header | Value |
|---|---|
Authorization | Bearer {access_token} |
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
offset | integer | No | Start position (default: 0) |
limit | integer | No | Number of results (default: 50, max: 200) |
customerUuid | string | No | Filters by assigned customer. Additionally requires the customers scope |
assignedToUuid | string | No | Filters by assigned user. Additionally requires the users scope |
statusUuid | string | No | Filters by status |
priority | string | No | Filters by priority (low, medium, normal, high, critical) |
dueDateFrom | string | No | Due date from (ISO date or ISO 8601, inclusive) – a date (2026-08-24) is expanded to the start of the day, a value with a time (2026-08-24T10:00:00, 2026-08-24T10:00:00+02:00, 2026-08-24T08:00:00.000Z) is used as-is |
dueDateTo | string | No | Due date to (ISO date or ISO 8601, inclusive) – a date (2026-08-24) is expanded to the end of the day, a value with a time is used as-is |
status | string | No | Filters by status, combinable as a comma-separated list. Allowed values: active (not deleted), deleted. Default: all (all values). See Conventions. |
Note: A
+in the time zone offset ofdueDateFrom/dueDateTomust be percent-encoded as%2Bin the URL.
Note: Without a
statusfilter, this endpoint sorts by internal ID ascending, see Conventions.
Note: The
statusUuid,assignedToUuid, andcustomerUuidfilters do not check whether the referenced record belongs to the same company as the client. If the filter points to a record the client is allowed to read but that belongs to a different company, the request returns200 OKwith a correspondingly filtered (possibly empty) list.
Response
Success (200 OK)
json
{
"data": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"number": "A-0001",
"name": "Call back patient",
"description": "Call back about rescheduling the appointment",
"priority": "normal",
"dueDate": "2026-06-10T00:00:00+02:00",
"status": "c3d4e5f6-a7b8-9012-cdef-345678901234",
"tags": ["e5f6a7b8-9012-3456-ef01-567890123456"],
"assignedTo": "d4c5b6a7-8901-2345-6789-0abcdef12345",
"customer": "f0e1d2c3-b4a5-6789-fedc-ba9876543210",
"createdAt": "2026-06-01T08:15:00+02:00",
"updatedAt": "2026-06-08T11:42:00+02:00",
"createdBy": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
"updatedBy": "1a2b3c4d-5e6f-7890-abcd-ef1234567890",
"deleted": false,
"deletedAt": null
}
],
"meta": {
"total": 42,
"offset": 0,
"limit": 50
}
}Response fields
See Get todo for the full field description of the individual object.
| Field | Type | Description |
|---|---|---|
data | Array | List of todos |
meta.total | integer | Total number of todos (considering the status filter) |
meta.offset | integer | Current start position |
meta.limit | integer | Number of returned entries |
Beispiele
bash
curl -X GET "https://my.offisy.at/api/oauth/v2/resource/todos?offset=0&limit=50&customerUuid=b2c3d4e5-f6a7-8901-bcde-f01234567890&assignedToUuid=b2c3d4e5-f6a7-8901-bcde-f01234567890&statusUuid=b2c3d4e5-f6a7-8901-bcde-f01234567890&priority=beispiel&dueDateFrom=2026-04-15T10%3A00%3A00&dueDateTo=2026-04-15T10%3A00%3A00&status=all" \
-H "Authorization: Bearer {access_token}"Parameter
Zuerst Token anfordern
Possible errors
| Status | Code | Description |
|---|---|---|
| 400 | validation_error | dueDateFrom and/or dueDateTo is not a valid ISO 8601 date or date-time, dueDateFrom is after dueDateTo, or status contains an invalid value |
| 401 | invalid_client | Invalid or missing access token |
| 403 | insufficient_scope | Scope todos not present, or customerUuid/assignedToUuid used without the additionally required customers/users scope |
| 404 | not_found | statusUuid is not a valid UUID |