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

# List Tasks

> List tasks with optional filtering

Returns tasks for the authenticated user with optional filtering by project and status.

## Authentication

Requires a valid Bearer token.

## Query Parameters

<ParamField query="project_id" type="string">
  Filter tasks by project ID (UUID).
</ParamField>

<ParamField query="status" type="string">
  Filter tasks by display or runtime status. Common values include `running`, `awaiting_input`, `awaiting_ci`, `merged`, `unmerged`, `failed`, `aborted`, and `archived`.
</ParamField>

## Response

<ResponseField name="tasks" type="array">
  List of task objects.

  <Expandable title="Task object">
    <ResponseField name="id" type="string" required>
      Unique task identifier (UUID).
    </ResponseField>

    <ResponseField name="name" type="string">
      Task name (derived from the prompt).
    </ResponseField>

    <ResponseField name="status" type="string" required>
      Runtime status: `queued`, `provisioning`, `running`, `awaiting_input`, `failed`, or `aborted`.
    </ResponseField>

    <ResponseField name="workspace_id" type="string">
      Workspace ID when a workspace has been assigned.
    </ResponseField>

    <ResponseField name="started_at" type="string">
      ISO 8601 timestamp for when execution started.
    </ResponseField>

    <ResponseField name="completed_at" type="string">
      ISO 8601 timestamp for terminal tasks.
    </ResponseField>

    <ResponseField name="pending_question_payload" type="object">
      Pending interactive input payload for awaiting-input tasks, including `toolId`, `toolName`, and `input`.
    </ResponseField>

    <ResponseField name="result" type="string">
      Task result summary on completion.
    </ResponseField>

    <ResponseField name="error" type="string">
      Error message if the task failed.
    </ResponseField>

    <ResponseField name="summary" type="string">
      Brief summary of what the task accomplished.
    </ResponseField>

    <ResponseField name="created_at" type="string" required>
      ISO 8601 timestamp.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "tasks": [
      {
        "id": "c3d4e5f6-7890-12ab-cdef-345678901bcd",
        "name": "Add login page",
        "status": "awaiting_input",
        "workspace_id": "f6e5d4c3-7890-12ab-cdef-345678901bcd",
        "started_at": "2025-01-15T10:25:00Z",
        "completed_at": null,
        "pending_question_payload": null,
        "result": "Created login page with email/password form",
        "error": null,
        "summary": "Added a login page component with form validation",
        "created_at": "2025-01-15T10:30:00Z"
      }
    ]
  }
  ```
</ResponseExample>

## Errors

| Status | Description                             |
| ------ | --------------------------------------- |
| `401`  | Unauthorized — missing or invalid token |
