Task CRUD, search, templates, and bug-report API
Create, retrieve, update, archive, clone, and delete tasks, filter task lists, instantiate templates, and submit structured bugs.
Before you begin
Use https://tasker.fit/api as the REST base URL. Create an active integration token in Profile → API Tokens, and send Authorization: Bearer <your-api-token>. Replace all example IDs with values returned for your account.
Planning your workflow
Task creation takes company_id, board_id, column_id, and name in JSON. Reading or updating one task uses company_id, board_id, and task_id in the URL query. The internal task_id is distinct from task_number: API calls should use the returned task_id, even when people refer to the card by its board number. Update only the fields your integration intends to change.
The list defaults to ordinary, non-archived tasks. Request is_template=true for template records or is_archived=true for archived work. Assignee IDs are numeric and are sent as repeated query keys. Priority values are low, medium, high, urgent; task types are task, bug, research, improvement, story. Date-time fields use timezone-aware ISO 8601 strings or null where clearing is supported.
Example
Create, retrieve, update, archive, clone, and delete tasks, filter task lists, instantiate templates, and submit structured bugs.
Step-by-step tutorials / 1
Integration workflow
Discover a board and its column IDs, then create a task with a descriptive name.
Save task_id from the creation response. Use PATCH to assign members, set deadlines, or move the task.
Use filtered GET lists to find work. Archive with a timestamp when the task leaves active work, and reserve DELETE for permanent removal.
What to expect: Read the returned data object and keep the resource identifiers for subsequent requests. Check the HTTP status before treating a write operation as successful.
Endpoints and request examples
Replace example identifiers, tokens, and dates with your own values. Each example shows fields for a specific operation, rather than a complete response schema.
| Method | Path | Operation |
|---|---|---|
| GET | /task/list/ | List and search board tasks |
| POST | /task/list/ | Create a task |
| GET | /task/ | Read a task by internal ID |
| PATCH | /task/ | Update fields or move a task |
| PATCH | /task/ | Archive a task |
| DELETE | /task/ | Permanently delete a task |
| POST | /task/clone/ | Clone an existing task |
| POST | /task/create-from-template/ | Create from a template |
| POST | /task/bug-report/ | Create a structured bug |
| GET | /company/tasks/list/ | Search tasks across a workspace |
| GET | /company/assigned/ | List tasks assigned to the account |
| GET | /company/inbox/ | List watched and mentioned tasks |
| GET | /company/overdue/ | List overdue tasks for managers |
/api/task/list/List and search board tasks
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo",
"board_id": "RELEASE",
"page": 1,
"limit": 20
}Additional fields: q, column_id, assignee_ids, priority, type, parent_task_id, is_archived, is_template, order_by
cURL example
curl --request GET 'https://tasker.fit/api/task/list/?company_id=demo&board_id=RELEASE&page=1&limit=20' \
--header 'Authorization: Bearer <your-api-token>'/api/task/list/Create a task
Authentication and permission for this operation are required.
JSON request body (example)
{
"company_id": "demo",
"board_id": "RELEASE",
"column_id": "todo",
"name": "Verify checkout",
"priority": "high",
"assignee_ids": [
12
]
}Additional fields: description, parent_task_id, attachment_ids, tag_ids, type, position, starts_at, due_at, is_ready, is_template, variables
cURL example
curl --request POST 'https://tasker.fit/api/task/list/' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"company_id": "demo",
"board_id": "RELEASE",
"column_id": "todo",
"name": "Verify checkout",
"priority": "high",
"assignee_ids": [
12
]
}'/api/task/Read a task by internal ID
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo",
"board_id": "RELEASE",
"task_id": "<task-id>"
}cURL example
curl --request GET 'https://tasker.fit/api/task/?company_id=demo&board_id=RELEASE&task_id=%3Ctask-id%3E' \
--header 'Authorization: Bearer <your-api-token>'/api/task/Update fields or move a task
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo",
"board_id": "RELEASE",
"task_id": "<task-id>"
}JSON request body (example)
{
"column_id": "progress",
"priority": "high"
}Additional fields: name, description, assignee_ids, attachment_ids, tag_ids, parent_task_id, starts_at, due_at, completed_at, archived_at, is_ready, is_template, variables, position
cURL example
curl --request PATCH 'https://tasker.fit/api/task/?company_id=demo&board_id=RELEASE&task_id=%3Ctask-id%3E' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"column_id": "progress",
"priority": "high"
}'/api/task/Archive a task
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo",
"board_id": "RELEASE",
"task_id": "<task-id>"
}JSON request body (example)
{
"archived_at": "2026-10-03T09:00:00Z"
}cURL example
curl --request PATCH 'https://tasker.fit/api/task/?company_id=demo&board_id=RELEASE&task_id=%3Ctask-id%3E' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"archived_at": "2026-10-03T09:00:00Z"
}'/api/task/Permanently delete a task
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo",
"board_id": "RELEASE",
"task_id": "<task-id>"
}cURL example
curl --request DELETE 'https://tasker.fit/api/task/?company_id=demo&board_id=RELEASE&task_id=%3Ctask-id%3E' \
--header 'Authorization: Bearer <your-api-token>'/api/task/clone/Clone an existing task
Authentication and permission for this operation are required.
JSON request body (example)
{
"company_id": "demo",
"board_id": "RELEASE",
"task_id": "<task-id>",
"column_id": "todo"
}cURL example
curl --request POST 'https://tasker.fit/api/task/clone/' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"company_id": "demo",
"board_id": "RELEASE",
"task_id": "<task-id>",
"column_id": "todo"
}'/api/task/create-from-template/Create from a template
Authentication and permission for this operation are required.
JSON request body (example)
{
"company_id": "demo",
"board_id": "RELEASE",
"task_id": "<template-task-id>",
"column_id": "todo",
"variables": {
"version": "1.2",
"environment": "staging"
}
}cURL example
curl --request POST 'https://tasker.fit/api/task/create-from-template/' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"company_id": "demo",
"board_id": "RELEASE",
"task_id": "<template-task-id>",
"column_id": "todo",
"variables": {
"version": "1.2",
"environment": "staging"
}
}'/api/task/bug-report/Create a structured bug
Authentication and permission for this operation are required.
JSON request body (example)
{
"company_id": "demo",
"board_id": "RELEASE",
"column_id": "todo",
"title": "Expired card accepted",
"steps_to_reproduce": "Submit an expired test card",
"actual_result": "Payment succeeds",
"expected_result": "Payment rejected",
"severity": "major",
"priority": "high"
}Additional fields: description, assignee_ids, attachment_ids, tag_ids, due_at, bug_type
cURL example
curl --request POST 'https://tasker.fit/api/task/bug-report/' \
--header 'Authorization: Bearer <your-api-token>' \
--header 'Content-Type: application/json' \
--data '{
"company_id": "demo",
"board_id": "RELEASE",
"column_id": "todo",
"title": "Expired card accepted",
"steps_to_reproduce": "Submit an expired test card",
"actual_result": "Payment succeeds",
"expected_result": "Payment rejected",
"severity": "major",
"priority": "high"
}'/api/company/tasks/list/Search tasks across a workspace
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo",
"q": "checkout",
"page": 1,
"limit": 20
}cURL example
curl --request GET 'https://tasker.fit/api/company/tasks/list/?company_id=demo&q=checkout&page=1&limit=20' \
--header 'Authorization: Bearer <your-api-token>'/api/company/assigned/List tasks assigned to the account
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo"
}Additional fields: board_id, column_kind, priority, type, page, limit, q
cURL example
curl --request GET 'https://tasker.fit/api/company/assigned/?company_id=demo' \
--header 'Authorization: Bearer <your-api-token>'/api/company/inbox/List watched and mentioned tasks
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo"
}cURL example
curl --request GET 'https://tasker.fit/api/company/inbox/?company_id=demo' \
--header 'Authorization: Bearer <your-api-token>'/api/company/overdue/List overdue tasks for managers
Authentication and permission for this operation are required.
URL query parameters (example)
{
"company_id": "demo"
}Additional fields: board_id, column_kind, priority, type, page, limit, q
cURL example
curl --request GET 'https://tasker.fit/api/company/overdue/?company_id=demo' \
--header 'Authorization: Bearer <your-api-token>'Tips & troubleshooting
- Examples show the key request fields, not every optional field or a full response schema. Query fields belong in the URL; JSON body fields belong in the request body. Keep trailing slashes on endpoint paths.
- List-valued assignment, tag, and attachment fields describe the intended set of IDs. Read current values before replacing them when you need to preserve existing associations. Completion and workflow column are separate fields.
Frequently asked questions
Can these examples be used with any account?
Only resources accessible to the token's account can be read or changed. Use returned company, board, task, and numeric resource IDs; the examples' demo values are placeholders.
What should an integration do when a request fails?
Check the HTTP status and returned error payload. Validate identifiers and required fields, then check token activity, expiry, and permissions. Do not blindly repeat a POST: a previous attempt may already have created a resource.