Topics

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.

Updated October 3, 20263 min read

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

  1. Discover a board and its column IDs, then create a task with a descriptive name.

  2. Save task_id from the creation response. Use PATCH to assign members, set deadlines, or move the task.

  3. 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.

Endpoint directory
MethodPathOperation
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
GET/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>'
POST/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
  ]
}'
GET/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>'
PATCH/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"
}'
PATCH/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"
}'
DELETE/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>'
POST/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"
}'
POST/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"
  }
}'
POST/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"
}'
GET/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>'
GET/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>'
GET/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>'
GET/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.

Continue learning