Activate Automation
Set the automation to active. The response is the automation detail.
A second activate of an automation that is already active returns 409 AUTOMATION_ALREADY_ACTIVE.
Request
POST /automations/{uuid}/activate
This endpoint takes no request body.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
uuid | string | Automation's UUID |
Example Request
curl -X POST "https://email.easy.tools/api/v1/automations/976854b8-692b-4f5e-aca9-30b3053de7ae/activate" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Accept: application/json"
Response
Success Response (200 OK)
The automation detail, identical in shape to Get Automation, with status active.
{
"data": {
"uuid": "976854b8-692b-4f5e-aca9-30b3053de7ae",
"name": "Welcome series",
"status": "active",
"structure": "linear",
"trigger": {
"type": "contact_added_to_list",
"list_uuid": "cd9a83c7-f3ac-49ff-8031-adf6b455d8b8",
"segment_uuid": null,
"product_uuid": null,
"variant_uuid": null,
"waitlist_uuid": null,
"conditions": null
},
"reentry_policy": "multiple_times",
"timezone_mode": "contact",
"timezone_uuid": null,
"language": null,
"steps": [
{
"uuid": "7dfb27a9-7c68-43ad-af24-ff3ff65050f1",
"type": "timer",
"delay_value": 1,
"delay_unit": "days",
"name": null,
"subject": null,
"preheader": null,
"from_name": null,
"reply_to": null,
"from_identity": null,
"from_email": null,
"content": null,
"content_editable_via_api": null,
"content_overwrite_required": null,
"branches": null
},
{
"uuid": "7e80dfed-47d3-4934-9368-6d6b8b179164",
"type": "send_email",
"delay_value": null,
"delay_unit": null,
"name": "Welcome",
"subject": "Welcome",
"preheader": null,
"from_name": null,
"reply_to": null,
"from_identity": "e050fca6-7eeb-45a1-b3e7-3a1ebff6e375",
"from_email": "hello@example.com",
"content": "Hello **there**",
"content_editable_via_api": true,
"content_overwrite_required": false,
"branches": null
}
],
"created_at": "2026-09-29T11:58:38Z",
"updated_at": "2026-09-29T12:10:04Z"
}
}
Response Fields
See Automation Object.
Error Responses
Not Found Error (404)
{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Automation with UUID '976854b8-692b-4f5e-aca9-30b3053de7ae' not found"
}
}
Conflict Error (409 — Already Active)
The automation is already active. Repeating the request returns this error.
{
"error": {
"code": "AUTOMATION_ALREADY_ACTIVE",
"message": "Automation is already active"
}
}
Validation Error (422 — Not Activatable)
One or more checks failed. node_uuid is the step an error refers to, and null when the error is about the trigger, the timezone, or the automation as a whole.
code | What to do |
|---|---|
contact_limit_exceeded | The workspace has more contacts than its plan allows. Activate again once the contact limit is resolved. |
tenant_timezone_not_configured | Set the workspace timezone in mailing settings. contact and tenant modes both require it. |
trigger_contact_list_not_found | The trigger's list was deleted. Send a new trigger with Update Automation. |
trigger_segment_invalid | The trigger's segment was deleted. Send a new trigger with Update Automation. |
trigger_condition_field_not_found | The contact_updated condition names no field, or the custom field it watches was deleted. Send a new trigger with Update Automation. |
email_sender_not_sendable | Choose an enabled from_identity. |
email_review_in_progress | Try again shortly. |
email_needs_review | The body is held. Resolve it in the dashboard, then activate again. |
branch_condition_segment_not_found | The segment on an arm was removed. Set that arm's segment_uuid again. |
workflow_duplicate_slot | Two steps share one position, and node_uuid is one of them. The automation's steps is null, so Update Automation cannot change it. Rearrange the steps in the dashboard, then activate again. |
branch_has_empty_branch | An arm has no steps. Create and update require at least one step on each arm, so this applies to an automation whose steps were saved in the dashboard. |
link_extraction_failed | Link tracking could not be prepared for the emails. Try again. If it keeps failing, check that each email body is valid. |
{
"error": {
"code": "AUTOMATION_NOT_ACTIVATABLE",
"message": "Cannot activate automation",
"details": {
"errors": [
{
"code": "tenant_timezone_not_configured",
"type": "timezone",
"node_uuid": null,
"message": "Workspace timezone must be set in account settings before activating this automation"
}
]
}
}
}
Forbidden Error (403 — Plan Inactive)
The account has no active plan. The automation keeps its current status.
{
"error": {
"code": "PLAN_INACTIVE",
"message": "Automation cannot be activated because the workspace has no active plan"
}
}
Service Unavailable Error (503)
The account's plan could not be verified. The automation keeps its current status. Retry the request.
{
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "The request could not be completed. Try again shortly."
}
}