Skip to main content
GET
Rate limit tier: general (600 req/min) — see Rate limits. Retrieves a workflow with its complete typed graph inline. The {name, description, nodes, edges} subset is the exact shape POST /v3/workflows/ accepts — strip the read-only id, created_at, and updated_at (unknown fields are rejected with 422) and feed the remainder to PATCH /v3/workflows/{workflow_id}/; its Python example shows the one-liner. Every field in an extract node carries its server-assigned persistent_id — the stable identity that survives renames. Echo it unchanged when you PATCH to keep analytics, ground truth, and quality metrics attached to the field (see the migration guide).
There is no separate /definition/ endpoint in v3 — the workflow read is the round-trippable definition.

Reading an earlier version

By default the response is the latest version. Pass ?version=<version_id> — a version_id from GET /v3/workflows/{workflow_id}/versions/ — to read that version’s graph in the same shape. An unknown version_id answers 404 with a detail naming it. Any other query parameter is rejected with 422, so a misspelled version cannot silently read the latest. Versions are read-only, for comparison and audit: a run always uses the latest version, and a PATCH always builds on it. The versions page shows how to diff two versions’ field descriptions.

Authorizations

Authorization
string
header
required

API key issued from app.anyformat.ai/api-key. Send as Authorization: Bearer <key>.

Path Parameters

workflow_id
string
required

Response

Successful Response

A workflow with its complete typed graph inline.

{name, description, nodes, edges} is the exact shape POST /v3/workflows/ accepts — mutate it and feed it back to edit.

id
string
required

Unique identifier of the workflow (hyphenated UUID).

Example:

"0686bb97-8c30-70f0-8000-97669e000eb8"

name
string
required

Human-readable name of the workflow.

Example:

"Invoice Processing"

nodes
(PublicParseNode · object | ClassifyNode · object | SplitterNode · object | PublicExtractNode · object | PublicValidateNode · object | PublicIfElseNode · object | PublicSlackAlertNode · object | PublicEditNode · object | KnowledgeNode · object)[]
required

Typed graph nodes (parse / classify / splitter / extract / validate / if_else).

description
string | null

Optional description of what this workflow extracts.

Example:

"A workflow for processing invoices and retrieving invoice details."

created_at
string<date-time> | null

Timestamp when the workflow was created (ISO 8601).

updated_at
string<date-time> | null

Timestamp when the workflow was last modified (ISO 8601).

edges
Edge · object[]

Directed edges between the graph nodes.