Create a workflow
post
https://api.expiryedge.com/v1/createWorkflowbearer token (Firebase ID token or session JWT); role editor or admin60/minAny method
Request
curl -X POST 'https://api.expiryedge.com/v1/createWorkflow' \
-H "Authorization: Bearer $EXPIRYEDGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Annual license renewal",
"description": "Steps to renew a state dental license for Northwind Dental.",
"due_date": "2026-10-15",
"tags": [
"licensing"
],
"workflow_type_id": "wtype_R4c2"
}'Response
{
"message": "Workflow created successfully",
"workflow_id": "wf_3Kd9Tx",
"workflow": {
"id": "wf_3Kd9Tx",
"title": "Annual license renewal",
"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": 0,
"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"
}
}Creates a workflow template in your organization. Counts against the plan workflows limit (403 PlanLimitError when reached).
titlestringrequireddescriptionstringteam_idstring | nulldue_datestringCalendar dateYYYY-MM-DDin the organization's timezone.tagsarray of stringworkflow_type_idstring | null
201
Created.
messagestringrequiredworkflow_idstringrequiredworkflowobjectrequiredA workflow template (checklist) that runs are started from.
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). |
429 | Too many requests for this endpoint from your IP. Wait Retry-After seconds. |
500 | Unexpected server error. Retry later; quote requestId to support. |
