Skip to main content
PATCH
Update Automation

Authorizations

Authorization
string
header
required

An Account API key, an App API key, an account access token, an account-scoped user token, or a user OAuth token. Prepend the key or token with Bearer, for example Bearer ***************************. See Auth & API keys for how to get each one.

Headers

Api-Version-Date
string

Pins the request to a dated API version.

Example:

"2026-11-05-1"

Path Parameters

id
string
required

Automation ID, prefixed ato_.

Body

application/json
name
string

The automation's name, shown on the dashboard. Up to 255 characters.

Example:

"After a first order"

secrets
object

Secrets to set, by name, merged into the automation's: a name set to null is removed. Step code reads them as environment variables, and no endpoint returns their values. Names are uppercase letters, digits and underscores, starting with a letter, up to 64 characters. Up to 50 secrets, each up to 4 KB.

Example:
status
enum<string>

active enrolls members and runs their steps. closed stops new enrollments and lets members already in it finish. stopped stops new enrollments and ends every member's enrollment. active and closed need a published version.

Available options:
active,
closed,
stopped
Example:

"active"

trigger_event
enum<string> | null

The webhook event that enrolls the member it's about, such as payment.succeeded. null for an automation that only POST /automations/{id}/trigger enrolls into. Fixed once the automation has been published.

Available options:
payment.succeeded,
payment.failed,
membership.activated,
membership.trial_ending_soon,
member.created,
invoice.created,
invoice.paid,
invoice.past_due,
refund.created,
dispute.created,
resolution_center_case.created,
resolution_center_case.decided,
course_lesson_interaction.completed,
null
Example:

"payment.succeeded"

Response

Automation updated

account_id
string
required

ID of the account the automation belongs to, prefixed biz_.

Example:

"biz_xxxxxxxxxxxxxx"

active_enrollments_count
integer
required

Members currently in the automation.

Example:

0

created_at
string
required

When the automation was created, as an ISO 8601 timestamp.

Example:

"2026-01-01T12:00:00.000Z"

created_by_actor
object
required

Who created the automation.

draft_version
integer
required

The version that step edits change. Always published_version plus one, or 1 before the first publish.

Example:

2

has_unpublished_changes
boolean
required

Whether the draft has edits that POST /automations/{id}/publish would publish. Always true before the first publish.

Example:

false

id
string
required

Automation ID, prefixed ato_.

Example:

"ato_xxxxxxxxxxxxxx"

name
string
required

The automation's name, shown on the dashboard. Up to 255 characters.

Example:

"After an order"

published_at
string | null
required

When the automation was last published, as an ISO 8601 timestamp. null until its first publish.

Example:

"2026-01-01T12:00:00.000Z"

published_by_actor
object | null
required

Who last published the automation. null until its first publish.

published_version
integer | null
required

The version new members start on. null until the automation is first published.

Example:

1

secret_names
string[]
required

Names of the automation's secrets, which its steps' code reads as environment variables. Their values are never returned.

status
enum<string>
required

active enrolls members and runs their steps. closed enrolls no one new, and members already in it finish. stopped enrolls no one, and its members' enrollments have ended. A new automation is stopped until its first publish makes it active.

Available options:
active,
closed,
stopped
Example:

"active"

total_enrollments_count
integer
required

How many times members have enrolled in the automation, including enrollments that have ended.

Example:

0

trigger_event
enum<string> | null
required

The webhook event that enrolls the member it's about, such as payment.succeeded. null for an automation that only POST /automations/{id}/trigger enrolls into. Fixed once the automation has been published.

Available options:
payment.succeeded,
payment.failed,
membership.activated,
membership.trial_ending_soon,
member.created,
invoice.created,
invoice.paid,
invoice.past_due,
refund.created,
dispute.created,
resolution_center_case.created,
resolution_center_case.decided,
course_lesson_interaction.completed,
null
Example:

"payment.succeeded"

updated_at
string
required

When the automation was last updated, as an ISO 8601 timestamp.

Example:

"2026-01-01T12:00:00.000Z"