Skip to content

Reopen task

Endpoint

Send a DELETE request to the completed-tasks resource to reopen a finished task. This sets the task’s status back to in-progress and nulls out completed_at, completer_id, completer_guest_id, and is_approved.

  • Process task: DELETE /organizations/{org_id}/runs/{run_id}/completed-tasks/{task_id}
  • One-off task: DELETE /organizations/{org_id}/completed-tasks/{task_id}

Replace {org_id}, {run_id} (if applicable), and {task_id} with your actual IDs.

Request

Headers

  • Authorization: Bearer {your_access_token}
  • Accept: application/json
  • X-Tallyfy-Client: APIClient

Body

You don’t need a request body.

Code samples

const accessToken = 'YOUR_PERSONAL_ACCESS_TOKEN';
const orgId = 'YOUR_ORGANIZATION_ID';
const runId = 'PROCESS_RUN_ID'; // Set to null or omit for one-off task
const taskId = 'TASK_ID_TO_REOPEN';
const apiUrl = runId
? `https://go.tallyfy.com/api/organizations/${orgId}/runs/${runId}/completed-tasks/${taskId}`
: `https://go.tallyfy.com/api/organizations/${orgId}/completed-tasks/${taskId}`;
const headers = new Headers();
headers.append('Authorization', `Bearer ${accessToken}`);
headers.append('Accept', 'application/json');
headers.append('X-Tallyfy-Client', 'APIClient');
fetch(apiUrl, {
method: 'DELETE', // Use DELETE method on completed-tasks endpoint
headers: headers
})
.then(response => {
return response.json().then(data => { // Attempt to parse JSON regardless of status
if (!response.ok) { // Check for 200 OK on success
console.error(`Failed to reopen task ${taskId}:`, data);
throw new Error(`HTTP error! status: ${response.status}`);
}
console.log(`Successfully reopened task ${taskId}. Status: ${response.status}`);
return data; // Reopen might return the updated task state
});
})
.then(data => {
if(data) {
console.log('Reopened task details:');
console.log(JSON.stringify(data, null, 2));
}
})
.catch(error => {
console.error(`Error reopening task ${taskId}:`, error.message);
});

Response

A 200 OK response returns the reopened task with its status set to in-progress.

{
"data": {
"id": "TASK_ID_TO_REOPEN",
"title": "Review Proposal",
"status": "in-progress",
"completed_at": null,
"completer_id": null,
"completer_guest_id": null,
"is_approved": null
}
}

For process tasks, the response also includes a tasks_changed_by_rules field showing any sibling tasks affected by automation rules triggered by the reopen.

If the task isn’t currently completed or the ID is invalid, expect an error status code.


Tasks > Delete task

Tallyfy’s API lets you permanently delete a standalone one-off task along with its form fields…

Tasks > Archive task

Tallyfy’s API lets you soft-delete (archive) a standalone one-off task by sending a DELETE…

Tasks > Complete task

Mark process tasks or standalone tasks as complete by POSTing the task ID to the right endpoint…