Reopen completed work that turned out to be wrong. Requires a reason and notifies the assignee.
Reopen completed work that turned out to be wrong. Requires a reason and notifies the assignee.
POST
https://app.softsolz.uk/api/v1/services/tasks/assignments/{id}/reopenRecent Requests
Kept only in this browserTimeStatusTook
Send a request with Try it to see it here.
Path Params
idstringrequiredHeaders
AuthorizationstringrequiredBearer token: `Bearer sk_live_...` (or `sk_test_...` for sandbox). A login token will not work here.
Idempotency-KeystringOptional idempotency key for safe retries.
Body Params
reasonstringrequiredWhy the approved work is being reopened.
Response
Response Body
idintegerAssignment id.task_idintegerParent task id.assignee_user_idintegerWho has to do the work.assigned_byinteger | nullWho handed it out.group_idinteger | nullThe group this assignment came through, if any.delegated_byinteger | nullSet when a previous assignee passed their own work on, which is different from being assigned it.delegation_reasonstring | nullWhy it was delegated.statusstringWhere this person is in the loop.due_atstring | nullEffective deadline for this person.original_due_atstring | nullThe deadline first set. Never overwritten, so slippage is always measurable.checklist_statearray of objectsPer-step progress: { id, checked_at, checked_by, note, file_keys }.custom_fieldsobjectValues for workspace-defined fields scoped to the assignment.scorenumber | nullRaw number from the latest review. Presentation is derived from the grading scheme.attempt_countintegerSubmissions made so far.started_atstring | nullWhen work began.submitted_atstring | nullLatest submission time.completed_atstring | nullWhen approved.reopened_atstring | nullWhen last reopened.updated_atstringLast change.Request
curl --request POST \ --url https://app.softsolz.uk/api/v1/services/tasks/assignments/{id}/reopen \ --header 'Authorization: Bearer sk_live_your_key' \ --header 'Content-Type: application/json' \ --data '{ "reason": "Figures in section 4 are wrong."}'Credentials
Sent as a Bearer token and used in the samples above and in Try it. Kept only in this browser tab until you close it. Use an sk_test_ key to stay in your sandbox.
Response · 200
{ "data": { "id": 900, "task_id": 42, "assignee_user_id": 31, "assigned_by": 8, "group_id": 3, "delegated_by": null, "delegation_reason": null, "status": "submitted", "due_at": "2026-09-03T17:00:00.000Z", "original_due_at": "2026-09-01T17:00:00.000Z", "checklist_state": [ { "id": "floor-1", "checked_at": "2026-09-01T10:00:00.000Z", "checked_by": 31 } ], "custom_fields": {}, "score": 92, "attempt_count": 2, "started_at": null, "submitted_at": null, "completed_at": null, "reopened_at": null, "updated_at": "2026-09-02T08:00:00.000Z" }}