Skip to main content
PATCH
/
workflows
/
{id}
curl --request PATCH \
  --url https://api.maildiver.com/v1/workflows/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Updated Welcome Series"
}
'
{
"workflow_id": "0199f234-d327-7cd8-9dc5-4fd8e5e249df",
"workspace_id": "0195a927-b706-725a-94dd-372770d920f2",
"name": "Updated Welcome Series",
"status": "active",
"current_version": 2,
"active_version": 2,
"created": 1742299707142,
"updated": 1742301234567,
"created_by": "[email protected]",
"created_by_type": "user"
}

Authorizations

Authorization
string
header
required

API key with format "Bearer {your-api-key}"

Path Parameters

id
string
required

Unique identifier of the workflow

Body

application/json
name
string

Workflow name. Must be:

  • At least 1 character long
  • Maximum 100 characters
  • Can only include letters, numbers, spaces, hyphens, and underscores
Required string length: 1 - 100
Example:

"Welcome Email Series"

status
enum<string>

Workflow status:

  • draft: Workflow is in draft mode (not active)
  • active: Workflow is active and will trigger on events
  • paused: Workflow is paused (will not trigger)
Available options:
draft,
active,
paused
Example:

"active"

design
object

ReactFlow JSON workflow design. This is a complex object structure that should be created through the dashboard.

Note: This field is only used when updating workflow logic through the API. Most workflow updates should be done through the dashboard due to the complexity of the ReactFlow JSON format and backend transformation requirements.

Example:
{
"nodes": [
{
"id": "trigger",
"type": "trigger",
"position": { "x": 100, "y": 100 },
"data": { "eventName": "user_signed_up" }
}
],
"edges": []
}

Response

Workflow successfully updated