REST API
Restore a study set from the trash
POST
Brings a trashed set back with its terms, images and review history, and returns it as GET /sets/{setId} would. Needs sets:delete, the scope that trashed it. A set whose folder is still in the trash comes back unfiled.
Required scopes: sets:delete
header
AuthorizationBearer <token>setId*stringStudy set 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/sets/497f6eca-6276-4993-bfeb-53cbbbba6f08/restore' \ -H 'Authorization: Bearer $WORKROAD_API_KEY'Example Response
{ "data": { "id": "7e6d5c4b-3a2f-4e1d-8c0b-9a8f7e6d5c4b", "name": "Spanish verbs", "description": "Irregular preterite forms.", "subjectId": "5f0c1d2e-3a4b-4c5d-8e6f-7a8b9c0d1e2f", "termCount": 1, "createdAt": "2026-01-15T09:30:00.000Z", "lastUsed": "2026-02-01T12:00:00.000Z", "updatedAt": "2026-02-01T12:00:00.000Z", "terms": [ { "id": "2a1b0c9d-8e7f-4a6b-9c5d-4e3f2a1b0c9d", "term": "tener (yo)", "definition": "tuve", "hints": [ "irregular stem tuv-" ] } ], "termsTruncated": false }}