REST API
Restore a task from the trash
POST
Brings a trashed task back with the subtasks that went to the trash with it, and returns it. Restoring a subtask whose task is in the trash restores that task too. Needs tasks:delete, the scope that trashed it.
Required scopes: tasks:delete
header
AuthorizationBearer <token>taskId*stringTask id, scoped to the key's user.
Match
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Format
uuidIdempotency-Key?stringA client-generated key (1 to 255 visible ASCII characters) that makes this POST safe to retry. A retry with the same key and body replays the original response; the same key with a different body returns 409 idempotency_conflict. Stored for 24 hours.
Match
^[\x21-\x7E]{1,255}$Length
1 <= length <= 255OK
application/json- response
data*curl -X POST 'https://workroad.app/api/v1/tasks/497f6eca-6276-4993-bfeb-53cbbbba6f08/restore' \ -H 'Authorization: Bearer $WORKROAD_API_KEY'Example Response
{ "data": { "id": "4d3c2b1a-0f9e-4d8c-9b7a-6f5e4d3c2b1a", "name": "Finish lab report", "description": "Include the error analysis.", "type": "Generic", "subjectId": "5f0c1d2e-3a4b-4c5d-8e6f-7a8b9c0d1e2f", "dueDate": "2026-02-10T17:00:00.000Z", "completed": false, "priority": "high", "parentId": null, "createdAt": "2026-01-15T09:30:00.000Z", "updatedAt": "2026-02-01T12:00:00.000Z" }}