Create a workflow definition
POST
/v1/workflow-definitionscurl -X POST 'https://api.embodiflow.io/v1/workflow-definitions' \
-H 'Authorization: Bearer $EMBODIFLOW_PAT' \
-H 'Content-Type: application/json' \
-d '{
"spec": {},
"layout": {},
"description": "string",
"projectId": "00000000-0000-0000-0000-000000000000"
}'Authorization
Send a personal access token with every request.
- Authorization: Bearer PAT
Header parameters
- Idempotency-Keystring
Optional idempotency key, at most 255 characters (UUIDv4 recommended). A repeated key returns the first response byte-for-byte, including a 5xx. The same key with a different body, or a second in-flight request, returns 409 IDEMPOTENCY_CONFLICT. Keys are unique per tenant and retained for 24 hours.
Request body
Content-Typeapplication/json
- specobjectrequired
- layoutobject
- descriptionstring
- projectIdstring (uuid)
Responses
Success
- dataobjectrequired
- idstringrequired
- codestringrequired
- namestringrequired
- descriptionstring | nullrequired
- reusableone ofrequired
- ownerstringrequiredAllowed valuestenantplatform
- purposestring | nullrequired
- latestRevisionnumber | nullrequired
- specHashstring | nullrequired
- publishedAtstring | nullrequired
- rowVersionnumberrequired
- revisionobjectrequired
Response example
{
"data": {
"id": "string",
"code": "string",
"name": "string",
"description": "string",
"reusable": false,
"owner": "tenant",
"purpose": "string",
"latestRevision": 0,
"specHash": "string",
"publishedAt": "string",
"rowVersion": 0,
"revision": {
"id": "string",
"revision": 0,
"spec": {},
"specHash": "string",
"purpose": "string",
"layout": {},
"publishedAt": "string",
"rowVersion": 0,
"issues": [
{
"code": "string",
"severity": "string",
"stepId": "string",
"path": "string",
"message": "string",
"requirement": "string"
}
]
}
}
}Servershttps://api.embodiflow.io/v1https://api.embodiflow.dev/v1