Endpoint
PUT https://workflows.eachlabs.run/api/v1/workflows/{workflowID}
This public URL uses a deprecated compatibility host outside the api-service host. It remains supported for now, but will soon move under https://api.eachlabs.ai. Keep integrations configurable and switch to the api-service URL once it is published.
This updates workflow metadata only. To update the definition (steps), use Create Version.
Path Parameters
| Parameter | Type | Required | Description |
|---|
workflowID | string | Yes | Workflow UUID or slug |
Request Body
All fields are optional. Only the fields you provide will be updated.
| Field | Type | Description |
|---|
name | string | Updated workflow name |
description | string | Updated description |
categories | string[] | Updated category slugs |
locked | boolean | Lock/unlock the workflow |
production | boolean | Mark as production |
Code Examples
curl -X PUT https://workflows.eachlabs.run/api/v1/workflows/WF_ID \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_API_KEY" \
-d '{
"name": "Text to Image Generator v2",
"categories": ["image-generation", "production"]
}'
Response
Returns the updated WorkflowDetail object.
Error Responses
| Status | Body | Description |
|---|
400 | {"error": "invalid request body"} | Malformed request |
401 | {"error": "Invalid or missing API key"} | Authentication failure |
403 | {"error": "Workflow is locked"} | Cannot modify a locked workflow |
404 | {"error": "workflow not found"} | Invalid workflow ID |