Skip to content

Create one-off task

Endpoint

POST /organizations/{org_id}/tasks

This endpoint creates a new standalone (“one-off”) task that is not part of a process run initiated from a template.

Request

Replace {org_id} with your Organization ID.

Headers

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

Body (JSON)

The request body requires a JSON object defining the new task.

Refer to the #definitions/createStandaloneTaskInput schema in Swagger for all available properties. Key fields include:

  • name (string, required): The title of the task.
  • description (string): A description or instructions for the task.
  • owners (object): Assignees for the task (structure: { "users": [...], "guests": [...], "groups": [...] }).
  • deadline (string): Due date/time in ISO 8601 format.
  • started_at (string): Start date/time in ISO 8601 format.
  • task_type (string): Usually member or guest.
  • separate_task_for_each_assignee (boolean): If true, creates individual tasks for each person in owners.
  • max_assignable (integer): Maximum number of assignees.
  • prevent_guest_comment (boolean).
  • tags (array of strings): Tag IDs to apply.

Minimal Example Body:

{
"name": "Follow up with ACME Corp"
}

More Comprehensive Example Body:

{
"name": "Prepare Q3 Report",
"description": "Gather data and prepare the quarterly report slides.",
"owners": {
"users": [1001, 1002],
"groups": [],
"guests": []
},
"deadline": "2024-07-15T17:00:00Z",
"tags": ["reporting", "finance"]
}

Code Samples

const accessToken = 'YOUR_PERSONAL_ACCESS_TOKEN';
const orgId = 'YOUR_ORGANIZATION_ID';
const apiUrl = `https://go.tallyfy.com/api/organizations/${orgId}/tasks`;
const taskData = {
name: "JS One-Off Task: Review Budget",
description: "Review the draft budget spreadsheet.",
owners: {
users: [12345]
},
deadline: "2024-06-10T12:00:00Z"
};
const headers = new Headers();
headers.append('Authorization', `Bearer ${accessToken}`);
headers.append('Accept', 'application/json');
headers.append('X-Tallyfy-Client', 'APIClient');
headers.append('Content-Type', 'application/json');
fetch(apiUrl, {
method: 'POST',
headers: headers,
body: JSON.stringify(taskData)
})
.then(response => {
return response.json().then(data => {
if (!response.ok) {
console.error("Failed to create one-off task:", data);
throw new Error(`HTTP error! status: ${response.status}`);
}
return data;
});
})
.then(data => {
console.log('Successfully created one-off task:');
console.log(JSON.stringify(data, null, 2));
})
.catch(error => {
console.error('Error creating one-off task:', error.message);
});

Response

A successful request returns a 200 OK or 201 Created status code and a JSON object containing the details of the newly created one-off task, including its assigned id.

{
"data": {
"id": "new_one_off_task_id_789",
"increment_id": 1250,
"title": "Python One-Off Task: Plan Meeting",
"description": "Schedule and plan the project kickoff meeting.",
"run_id": null,
"step_id": null,
"status": "active",
"owners": {
"users": [
{ "id": 1001, "full_name": "Bob", "profile_pic": "..." }
],
"guests": [],
"groups": []
},
"deadline": null,
"created_at": "2024-05-20T18:00:00.000Z",
"last_updated": "2024-05-20T18:00:00.000Z"
}
}

Make note of the returned id to manage this task later (get, update, complete, delete).


Tasks > Delete task

An API endpoint that permanently deletes standalone tasks through DELETE requests with mandatory authorization headers and returns a 204 status code upon successful deletion.

Tasks > Create a one-off task

One-off tasks allow users to create standalone action items with customizable details including name type description assignee deadline and form fields without requiring a full process template setup.

Tasks > Archive task

A DELETE endpoint archives standalone tasks by hiding them from default views while preserving data for potential future restoration through authenticated API requests with provided code examples in multiple programming languages.

Tasks > Complete task

The API endpoint allows marking tasks as complete by sending a POST request with task ID and optional fields like approval status and form data while supporting both process-run tasks and standalone one-off tasks through different URL structures.