Clone as custom
curl -X POST 'https://api.justcrawl.io/api/v1/workflows/a47ac10b-58cc-4372-a567-0e02b2c3d479/clone' \ -H 'Authorization: Bearer $JUSTCRAWL_API_KEY'Clone a workflow as a non-smart custom draft. The clone is independent — it has
its own ID, version history, and routing. Use this when you want to start from
a smart workflow’s DAG but edit it freely (smart workflows themselves are
read-only and reject PUT). The clone starts in draft status with no route;
POST /api/v1/workflows/{id}/publish to make it live.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The workflow to clone, by its stable logical id — the workflowId field of a workflow object, NOT its id field. id is the per-version row key and 404s here.
Responses
Section titled “Responses”The newly created clone.
object
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}.
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.
object
object
object
object
object
Example
{ "status": "draft", "dag": { "nodes": [ { "type": "entry" } ], "edges": [ { "type": "default" } ] }, "smart": { "strategy": "success", "mode": "auto" }}Missing or invalid authentication token
object
Example
{ "error": "Missing or invalid authentication token"}Insufficient permissions for this operation
object
Example
{ "error": "No organization. Complete onboarding first."}Resource not found
object
Example
{ "error": "Workflow not found"}Unexpected server error. Logs and PostHog $exception capture
object
Example
{ "error": "Something went wrong"}