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

# List tasks

> GET /v1/contents/generations/tasks — page and filter your Seedance tasks. No 7-day cutoff.

`GET /v1/contents/generations/tasks` returns your team's Seedance tasks, newest first, in the native `{ total, items[] }` envelope. Each item is the same normalized task object returned by [Retrieve a task](/api-reference/seedance/retrieve-task).

* **Scope:** `read`
* **Auth:** `X-Api-Key: al_live_…` or `Authorization: Bearer al_live_…`

This list is served **entirely from your Aurous records**, scoped to your team — it is never proxied to the provider (whose list is account-wide and would cross team boundaries).

```bash cURL theme={null}
curl -G https://api.aurous-labs.com/v1/contents/generations/tasks \
  -H "X-Api-Key: al_live_…" \
  --data-urlencode "page_num=1" \
  --data-urlencode "page_size=20" \
  --data-urlencode "filter.status=succeeded" \
  --data-urlencode "filter.model=seedance-2.0"
```

## Query parameters

| Parameter         | Type                | Notes                                                                                  |
| ----------------- | ------------------- | -------------------------------------------------------------------------------------- |
| `page_num`        | integer `1`–`500`   | 1-based page index. Clamped to range.                                                  |
| `page_size`       | integer `1`–`500`   | Items per page. Clamped to range.                                                      |
| `filter.status`   | string              | Filter by status. Accepts the provider vocabulary, including `expired`.                |
| `filter.task_ids` | string (repeatable) | Return only these task ids. Repeat the key to pass several.                            |
| `filter.model`    | string              | Filter by model — accepts a model id or an alias (`seedance-2.0`, `…-fast`, `…-mini`). |

The dotted parameter names (`filter.status`, `filter.task_ids`, `filter.model`) are **flat query keys**, not nested objects — pass them literally. To filter by several ids, repeat `filter.task_ids`:

```bash theme={null}
curl -G https://api.aurous-labs.com/v1/contents/generations/tasks \
  -H "X-Api-Key: al_live_…" \
  --data-urlencode "filter.task_ids=vid_01J9Z3K7Q0XY2ABCDEFGHJKMNP" \
  --data-urlencode "filter.task_ids=vid_02KA7B4C9DXY3EFGHJKMNPQRST"
```

## Response

```json theme={null}
{
  "total": 128,
  "items": [
    { "id": "vid_01J9Z3K7Q0XY2ABCDEFGHJKMNP", "model": "seedance-2.0", "status": "succeeded", "content": { "video_url": "https://…" }, "…": "…" },
    { "id": "vid_02KA7B4C9DXY3EFGHJKMNPQRST", "model": "seedance-2.0-mini", "status": "running", "…": "…" }
  ]
}
```

* `total` — the count matching your filters across all pages.
* `items[]` — normalized task objects, same shape as [Retrieve a task](/api-reference/seedance/retrieve-task#fields).

<Note>
  **List superset (delta vs. native).** The native Seedance list has a **7-day
  history window**. The Aurous list has **no 7-day cutoff** — your full task
  history stays listable. As with retrieve, the `video_url` inside older items
  still expires 24 hours after generation.
</Note>

Deleted tasks (see [Cancel or delete](/api-reference/seedance/cancel-delete)) are hidden from this list.
