curl --request PUT \
--url https://api.getmaxim.ai/v1/workflows \
--header 'Content-Type: application/json' \
--header 'x-maxim-api-key: <api-key>' \
--data '
{
"id": "wf_abc123",
"workspaceId": "ws_xyz",
"name": "renamed-workflow"
}
'{
"data": {
"id": "<string>",
"workspaceId": "<string>",
"accountId": "<string>",
"name": "<string>",
"type": "HTTP",
"createdAt": "<string>",
"updatedAt": "<string>",
"description": "<string>",
"folderId": "<string>",
"config": null
}
}Update a workflow. All fields except id and workspaceId are optional; only fields you provide are changed. The config object is shallow-merged with the existing config — top-level keys you omit are preserved, keys you send overwrite. Nested objects and arrays are replaced wholesale (no deep merge). The workflow’s type cannot be changed. Config fields are validated against the workflow’s stored type (HTTP or VOICE).
curl --request PUT \
--url https://api.getmaxim.ai/v1/workflows \
--header 'Content-Type: application/json' \
--header 'x-maxim-api-key: <api-key>' \
--data '
{
"id": "wf_abc123",
"workspaceId": "ws_xyz",
"name": "renamed-workflow"
}
'{
"data": {
"id": "<string>",
"workspaceId": "<string>",
"accountId": "<string>",
"name": "<string>",
"type": "HTTP",
"createdAt": "<string>",
"updatedAt": "<string>",
"description": "<string>",
"folderId": "<string>",
"config": null
}
}API key for authentication
Unique identifier of the workflow to update
1Workspace that currently owns the workflow
1New name for the workflow
1New description for the workflow
Move the workflow to this folder. Pass null to remove from any folder; omit to leave unchanged.
Move the workflow to this workspace. Omit to keep it in the current workspace.
Partial workflow config. Top-level keys are shallow-merged with the existing config; nested objects/arrays are replaced, not merged.
Show child attributes
Evaluation configuration (full replacement when provided)
Show child attributes
Workflow updated successfully
Show child attributes
Was this page helpful?