Skip to main content
GET
/
tasks
List Tasks
curl --request GET \
  --url https://api.moda.app/v1/tasks \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "id": "task_01HT9WK8N3M2J4A5Z6P7Q8R9TV",
      "attempt": 123,
      "max_attempts": 123,
      "links": {
        "self": "<string>",
        "events": "<string>",
        "cancel": "<string>",
        "canvas": "<string>"
      },
      "created_at": "<string>",
      "started_at": "<string>",
      "completed_at": "<string>",
      "progress": {
        "percent": 123,
        "step": "<string>",
        "message": "<string>"
      },
      "input": {},
      "result": {},
      "error": {},
      "credits": {
        "credits_used": 123,
        "credits_remaining": 123
      },
      "retry_after_ms": 123
    }
  ],
  "next_cursor": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.moda.app/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

API key from Settings > Developer > REST API

Headers

Moda-Version
enum<string>
default:2026-05-01

Calendar-dated API version pin. New integrations should pin 2026-05-01 to opt into the newest response shapes. For back-compat the server also accepts requests with no header and resolves them to the current default (today: 2026-04-12); that default advances on each sunset date. Any unsupported value returns 400 unsupported_version.

Available options:
2026-04-12,
2026-05-01
Example:

"2026-05-01"

Query Parameters

cursor
string | null

Opaque pagination cursor. Pass the next_cursor from the previous response. Omit on the first request.

limit
integer
default:20

Max tasks per page. Defaults to 20, caps at 100.

Required range: 1 <= x <= 100
canvas_id
string | null

Prefixed cvs_ wire ID (Crockford base32 body). Path parameters additionally accept a bare UUID string for back-compat; JSON body fields require the prefixed form.

Pattern: ^cvs_[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$
Example:

"cvs_01HT9WK8N3M2J4A5Z6P7Q8R9TV"

status
string | null

Response

Successful Response

Cursor-paginated tasks list response (ENG-2377).

data
Task · object[]
required

Tasks in this page, newest first.

next_cursor
string | null

Opaque cursor for the next page; null when the end of the list is reached.