Skip to main content
GET
/
v1
/
workflows
from retab import Retab

client = Retab()

workflows = client.workflows.list(
    limit=10,
    order="desc",
    sort_by="updated_at",
)

filtered = client.workflows.list(
    after="workflow_abc123xyz",
    limit=5,
    fields="id,name,updated_at",
)

print(workflows.list_metadata.after)
print(filtered.data[0]["name"])
{
  "data": [
    {
      "id": "workflow_def456xyz",
      "name": "Invoice Processing",
      "description": "Extract invoice fields and route for review",
      "is_published": true,
      "published_snapshot_id": "snapshot_123",
      "published_at": "2026-03-12T09:45:00Z",
      "draft_version": "draft_v12",
      "organization_id": "org_123",
      "email_senders_whitelist": [],
      "email_domains_whitelist": ["acme.com"],
      "created_at": "2026-03-10T12:00:00Z",
      "updated_at": "2026-03-12T09:45:00Z"
    },
    {
      "id": "workflow_abc123xyz",
      "name": "Receipt Classification",
      "description": "",
      "is_published": false,
      "published_snapshot_id": null,
      "published_at": null,
      "draft_version": "draft_v3",
      "organization_id": "org_123",
      "email_senders_whitelist": [],
      "email_domains_whitelist": [],
      "created_at": "2026-03-09T15:30:00Z",
      "updated_at": "2026-03-11T18:20:00Z"
    }
  ],
  "list_metadata": {
    "before": null,
    "after": "workflow_abc123xyz"
  }
}
List workflows with cursor pagination. Use before or after to page through results, and fields to limit the returned fields.
from retab import Retab

client = Retab()

workflows = client.workflows.list(
    limit=10,
    order="desc",
    sort_by="updated_at",
)

filtered = client.workflows.list(
    after="workflow_abc123xyz",
    limit=5,
    fields="id,name,updated_at",
)

print(workflows.list_metadata.after)
print(filtered.data[0]["name"])
{
  "data": [
    {
      "id": "workflow_def456xyz",
      "name": "Invoice Processing",
      "description": "Extract invoice fields and route for review",
      "is_published": true,
      "published_snapshot_id": "snapshot_123",
      "published_at": "2026-03-12T09:45:00Z",
      "draft_version": "draft_v12",
      "organization_id": "org_123",
      "email_senders_whitelist": [],
      "email_domains_whitelist": ["acme.com"],
      "created_at": "2026-03-10T12:00:00Z",
      "updated_at": "2026-03-12T09:45:00Z"
    },
    {
      "id": "workflow_abc123xyz",
      "name": "Receipt Classification",
      "description": "",
      "is_published": false,
      "published_snapshot_id": null,
      "published_at": null,
      "draft_version": "draft_v3",
      "organization_id": "org_123",
      "email_senders_whitelist": [],
      "email_domains_whitelist": [],
      "created_at": "2026-03-09T15:30:00Z",
      "updated_at": "2026-03-11T18:20:00Z"
    }
  ],
  "list_metadata": {
    "before": null,
    "after": "workflow_abc123xyz"
  }
}

Authorizations

Api-Key
string
header
required

Query Parameters

before
string | null
after
string | null
limit
integer
default:10

Items per page

Required range: 1 <= x <= 100
order
enum<string>
default:desc
Available options:
asc,
desc
sort_by
string
default:updated_at
fields
string | null

Comma-separated list of fields to return (e.g., 'id,name'). If not specified, returns all fields.

access_token
string | null

Response

Successful Response

data
any[]
required
list_metadata
ListMetadata · object
required