Duplicate a workflow

posthttps://api.expiryedge.com/v1/duplicateWorkflow
bearer token (Firebase ID token or session JWT); role editor or admin60/minAny method
Request
curl -X POST 'https://api.expiryedge.com/v1/duplicateWorkflow?id=wf_3Kd9Tx' \
  -H "Authorization: Bearer $EXPIRYEDGE_API_KEY"
Response
{
  "message": "Workflow duplicated successfully",
  "id": "wf_8Lp2Za",
  "workflow": {
    "id": "wf_8Lp2Za",
    "title": "Annual license renewal (Copy)",
    "description": "Steps to renew a state dental license for Northwind Dental.",
    "owner_id": "u_71bXq",
    "organization_id": "org_northwind",
    "team_id": null,
    "workflow_type_id": "wtype_R4c2",
    "status": "active",
    "progress": 50,
    "tags": [
      "licensing"
    ],
    "due_date": "2026-10-15T00:00:00.000Z",
    "created_at": "2026-09-27T14:05:00.000Z",
    "updated_at": "2026-09-27T14:05:00.000Z"
  }
}

Copies the workflow with its sections and steps; the copy is titled <title> (Copy). Counts against the plan workflows limit.

Query parameters

  • idstringrequired
    Workflow id to copy.

Returns

201
Copy created.
  • messagestringrequired
  • idstringrequired
  • workflowobjectrequired
    A workflow template (checklist) that runs are started from.

Errors

400
The request is missing required fields or contains invalid values.
401
Missing, expired or invalid bearer token.
403
Your role does not allow this action, the record is in another organization, or the plan limit was reached (body is PlanLimitError).
404
The record does not exist or is not in your organization.
429
Too many requests for this endpoint from your IP. Wait Retry-After seconds.
500
Unexpected server error. Retry later; quote requestId to support.