Delete todo
Deletes an existing todo.
Note: This endpoint requires a user-scoped OAuth token. A pure
client_credentialstoken without user context is rejected with400 invalid_request.
Note: This is a soft delete. The todo remains and stays retrievable via
GET /todos/{uuid}and viastatus=deletedor without astatusfilter in the list.
Request
DELETE /api/oauth/v2/resource/todos/{uuid}
Header
| Header | Value |
|---|---|
Authorization | Bearer {access_token} |
URL parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
uuid | string | Yes | Unique todo ID |
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": [],
"assignedTo": "d4c5b6a7-8901-2345-6789-0abcdef12345",
"customer": "f0e1d2c3-b4a5-6789-fedc-ba9876543210",
"createdAt": "2026-06-01T08:15:00+02:00",
"updatedAt": "2026-06-09T09:30:00+02:00",
"deleted": true,
"deletedAt": "2026-06-09T09:30:00+02:00"
}
}Response fields
See Get todo for the full field description. deleted is true after deletion, deletedAt holds the deletion timestamp.
Beispiele
bash
curl -X DELETE "https://my.offisy.at/api/oauth/v2/resource/todos/b2c3d4e5-f6a7-8901-bcde-f01234567890" \
-H "Authorization: Bearer {access_token}"Parameter
Zuerst Token anfordern
Possible errors
| Status | Code | Description |
|---|---|---|
| 400 | validation_error | Todo is already deleted |
| 400 | invalid_request | Access token without user context |
| 401 | invalid_client | Invalid or missing access token |
| 403 | insufficient_scope | Scope todos not present |
| 404 | not_found | Todo not found |