> ## Documentation Index
> Fetch the complete documentation index at: https://bundleup.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tasks

> Tasks and projects from issue trackers and project tools, in one shape.

The Tasks category covers issue trackers and project management tools: Jira, Linear, Asana, Trello, ClickUp, monday.com, Basecamp, Wrike and Todoist. It returns **projects** (or boards, lists, workspaces, depending on the tool) and the **tasks** (issues, cards, to-dos) in them.

Support tools such as Zendesk live in the separate [Helpdesk](/docs/guides/unified/helpdesk) category, because a support ticket has a requester and priority rather than a project.

**Use it to:** import a customer’s backlog, link your records to their tasks, or show task status inside your product.

## Endpoints

| Endpoint | What it does |
| - | - |
| `GET /v1/tasks/projects` | List projects |
| `GET /v1/tasks/tasks` | List tasks |
| `GET /v1/tasks/tasks/{id}` | Get one task by its ID |

Parameters and full schemas: [Unified API reference](/docs/api-reference/unified-api). Which trackers support which endpoints: [bundleup.io/integrations](https://www.bundleup.io/integrations).

## Example: import tasks

<CodeGroup>
  ```bash cURL theme={null}
  curl "https://unify.bundleup.io/v1/tasks/tasks?limit=100" \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -H "BU-Connection-Id: conn_abc123"
  ```

  ```typescript JavaScript theme={null}
  const unify = client.unify('conn_abc123');
  const tasks = await unify.tasks.tasks({ limit: 100 });
  ```

  ```python Python theme={null}
  unify = client.unify("conn_abc123")
  tasks = unify.tasks.tasks({"limit": 100})
  ```

  ```ruby Ruby theme={null}
  unify = client.unify('conn_abc123')
  tasks = unify.tasks.tasks(limit: 100)
  ```
</CodeGroup>

```json theme={null}
{
  "data": [
    {
      "id": "ENG-142",
      "title": "Login button does nothing on Safari",
      "status": "In Progress",
      "url": "https://linear.app/acme/issue/ENG-142",
      "description": "Steps to reproduce...",
      "created_at": "2026-09-02T08:14:00Z",
      "updated_at": "2026-09-10T16:40:00Z"
    }
  ],
  "metadata": { "next": "Mg==" }
}
```

Page through all tasks with `after`. See [Pagination](/docs/guides/unified/conventions#pagination).

## Response notes

* **`status`** is the provider’s own status name (`To Do`, `In Progress`, `Done`, or whatever the customer configured). Trackers let teams define their own workflows, so there’s no fixed list. Map statuses in your product if you need categories.
* **`description`** is the provider’s text, in its own format (Markdown, HTML or plain text, depending on the tool).
* **`id`** is what you pass to `GET /v1/tasks/tasks/{id}`.

## Provider differences

* **What a “project” is** depends on the tool: a project, a board, a list, a team or a workspace.
* **Single tasks aren’t available everywhere.** Some tools only address a task through its parent project, so an ID alone can’t fetch it. Basecamp is one. For those, use the list endpoint, or the [Proxy](/docs/guides/proxy/overview).
* **Writes** (creating tasks, changing status, commenting) aren’t part of the Unified API. Use the [Proxy](/docs/guides/proxy/making-requests).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.