Skip to main content
GET
/
v1
/
workflows
/
{workflow_id}
/
snapshots
from retab import Retab

client = Retab()

snapshots = client.workflows.list_snapshots("wf_abc123xyz", limit=10)

for snapshot in snapshots.data:
    print(snapshot.version, snapshot.snapshot_id, snapshot.published_at)
{
  "data": [
    {
      "id": "wfsn_GH8ksoP3vt5RDqK4",
      "snapshot_id": "snap_KqW1xdT9bPLM7uYR",
      "workflow_id": "wf_abc123xyz",
      "version": 3,
      "description": "Add HIL review for high-value invoices",
      "block_count": 5,
      "edge_count": 4,
      "published_by": "user_8K2WmtxJ",
      "published_by_email": "alice@acme.com",
      "published_by_name": "Alice",
      "published_at": "2026-04-12T15:30:00Z"
    },
    {
      "id": "wfsn_2HqmnYXP3lZK5fR1",
      "snapshot_id": "snap_PJq9bM47kZx4uYC2",
      "workflow_id": "wf_abc123xyz",
      "version": 2,
      "description": "Initial extract + classification",
      "block_count": 3,
      "edge_count": 2,
      "published_by": "user_8K2WmtxJ",
      "published_by_email": "alice@acme.com",
      "published_by_name": "Alice",
      "published_at": "2026-04-08T10:12:00Z"
    }
  ],
  "list_metadata": {
    "before": null,
    "after": null
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.retab.com/llms.txt

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

List all published snapshots for a workflow, newest first. Each snapshot represents an immutable published version of the workflow graph; the returned snapshot_id is the entry point for retrieving the published block and edge snapshots that compose that version. Returns the canonical { "data": [...], "list_metadata": { "before": null, "after": null } } pagination envelope shared with all Retab list endpoints. Cursor pagination is not yet implemented for this endpoint — list_metadata is always { before: null, after: null }. Use limit (default 50, max 100) to bound the page size.
from retab import Retab

client = Retab()

snapshots = client.workflows.list_snapshots("wf_abc123xyz", limit=10)

for snapshot in snapshots.data:
    print(snapshot.version, snapshot.snapshot_id, snapshot.published_at)
{
  "data": [
    {
      "id": "wfsn_GH8ksoP3vt5RDqK4",
      "snapshot_id": "snap_KqW1xdT9bPLM7uYR",
      "workflow_id": "wf_abc123xyz",
      "version": 3,
      "description": "Add HIL review for high-value invoices",
      "block_count": 5,
      "edge_count": 4,
      "published_by": "user_8K2WmtxJ",
      "published_by_email": "alice@acme.com",
      "published_by_name": "Alice",
      "published_at": "2026-04-12T15:30:00Z"
    },
    {
      "id": "wfsn_2HqmnYXP3lZK5fR1",
      "snapshot_id": "snap_PJq9bM47kZx4uYC2",
      "workflow_id": "wf_abc123xyz",
      "version": 2,
      "description": "Initial extract + classification",
      "block_count": 3,
      "edge_count": 2,
      "published_by": "user_8K2WmtxJ",
      "published_by_email": "alice@acme.com",
      "published_by_name": "Alice",
      "published_at": "2026-04-08T10:12:00Z"
    }
  ],
  "list_metadata": {
    "before": null,
    "after": null
  }
}

Authorizations

Api-Key
string
header
required

Path Parameters

workflow_id
string
required

Query Parameters

limit
integer
default:50

Maximum number of snapshots to return

Required range: 1 <= x <= 100

Response

Successful Response

snapshot_id
string
required

Unique ID grouping all entity snapshots

workflow_id
string
required

Source workflow ID

version
integer
required

Auto-incrementing version number

id
string
description
string
default:""

Optional description of this version

block_count
integer
default:0

Number of blocks in this snapshot

edge_count
integer
default:0

Number of edges in this snapshot

published_by
string | null

ID of user/application that published this version

published_by_email
string | null

Publisher email when available

published_by_name
string | null

Publisher display name when available

published_at
string<date-time>