Skip to content

Get a specific workflow version

GET
/api/v1/workflows/{id}/versions/{version}
curl --request GET \
--url https://api.justcrawl.io/api/v1/workflows/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/versions/1 \
--header 'Authorization: Bearer <token>'

Fetch a frozen prior version of a workflow’s DAG. Every PUT /api/v1/workflows/{id} creates a new version; older versions stay addressable here for audit + diff use cases. GET /api/v1/workflows/{id} always returns the latest.

id
required
string format: uuid

The workflow’s stable logical id — the workflowId field of a workflow object, NOT its id field. id is the per-version row key and 404s here.

version
required
integer

The version number (1-indexed).

The frozen workflow version.

Media typeapplication/json
object
id

Primary key of this specific VERSION row. Changes every time the workflow is edited, and is not accepted by any endpoint. Useful only for correlating a response with the exact version it came from — pass workflowId, not this, to /api/v1/workflows/{id}.

string format: uuid
workflowId

Stable logical identifier for the workflow, constant across every version. THIS is the value every /api/v1/workflows/{id} route expects (get, update, delete, clone, publish, unpublish, routing, versions) and the value jobs and schedules reference.

string format: uuid
name
string
status
string
Allowed values: draft published
version
integer
route
string
nullable
dag
object
nodes
required
Array<object>
object
id
required
string
type
required
string
Allowed values: entry service split result failed
config
object
edges
required
Array<object>
object
id
required
string
from
required
string
to
required
string
type
required
string
Allowed values: default success fail split
costPerThousand
number
nullable
smart
object
strategy
string
Allowed values: success cost reliability
mode
string
Allowed values: auto suggest
domain
string
nullable
hasPendingSuggestion
boolean
createdAt
string format: date-time
Example
{
"status": "draft",
"dag": {
"nodes": [
{
"type": "entry"
}
],
"edges": [
{
"type": "default"
}
]
},
"smart": {
"strategy": "success",
"mode": "auto"
}
}

Invalid version number (must be a positive integer).

Missing or invalid authentication token

Media typeapplication/json
object
error
string
Example
{
"error": "Missing or invalid authentication token"
}

Insufficient permissions for this operation

Media typeapplication/json
object
error
string
Example
{
"error": "No organization. Complete onboarding first."
}

Resource not found

Media typeapplication/json
object
error
string
Example
{
"error": "Workflow not found"
}

Unexpected server error. Logs and PostHog $exception capture

Media typeapplication/json
object
error
string
Example
{
"error": "Something went wrong"
}