تخطَّ إلى المستندات
API

الأتمتة

كل عملية في هذه المجموعة: ما تقبله وما تُرجعه والأخطاء التي قد تردّ بها.

العمليات

Emails and other steps that run by themselves for each contact: a welcome series when somebody joins an audience, a nudge three days after a trial starts, a note on a birthday. An automation has a trigger, which says what puts a contact in, and steps: send an email from a template, wait, branch on what the contact did, add them to or remove them from an audience, write a custom field, call a webhook, or end.

You edit a draft definition and publish it. Publishing saves a numbered version and sets the automation live, and each contact stays on the version they entered on, so an edit never changes the path of somebody halfway through. Settings apply as soon as they are saved. A plan covers a number of live automations: 1 on Free, 10 on Starter and 50 on Business, with no limit on Enterprise.

Every email it sends goes out on the broadcast lane with a one-click unsubscribe, counts toward the monthly sends and skips suppressed addresses. Publishing, resuming and sending a test also need emails:send, because the automation then sends mail for whoever published it. Reading needs automations:read and everything else automations:write.

GET/automations

List automations

الصلاحياتautomations:readيقرأ

Every automation in the workspace, the most recently saved first, without the definition or settings. counts is counted at the moment of the read.

An app a member connected lists only the automations that member made.

Requires the automations:read scope.

معلمات الاستعلام

statusstring

Only automations in this state.

أحد"draft""live""paused""archived"
limitinteger

Rows per page, 1 to 100.

على الأقل 1على الأكثر 100الافتراضي50
cursorstring

The id of the last automation on the previous page. Keyset, not offset: pass the previous page's nextCursor. One that names nothing in this list is a 400 invalid_cursor.

يُرجع

A page of automations.

الأخطاء

الأخطاء التي يمكن أن تُرجعها أي عملية400401403404422500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.list()automations.listAll()automations.iterate()
Python
automations.list()automations.list_all()automations.iterate()
Ruby
automations.listautomations.list_allautomations.iterate
PHP
automations->listautomations->listAllautomations->iterate
Go
Automations.ListAutomations.ListAllAutomations.Iterate
Java
automations().listautomations().listAllautomations().iterate
C#
Automations.ListAsyncAutomations.ListAllAsyncAutomations.IterateAsync
CLI
openemail automations list
MCP
listAutomations

POST/automations

Create an automation

الصلاحياتautomations:writeيغيّر البيانات

Makes a draft from definition, from a starter, or empty when neither is sent, and answers with the whole automation. A draft may be incomplete: problems in the answer lists what is still missing, and nothing runs until POST /automations/{id}/publish.

Requires the automations:write scope.

متن الطلب

namestringمطلوب

What the workspace calls the automation, trimmed, 1 to 120 characters. Contacts never see it, and it need not be unique.

من 1 إلى 120 من الأحرف
descriptionstring

A note for the workspace, at most 500 characters. Contacts never see it.

يمكن أن يكون nullحتى 500 من الأحرف
starterstring

Begin from a starter, by its slug: welcome-series, trial-follow-up, birthday or win-back. Ignored when definition is sent. A starter leaves the audience, the templates and the from address for you to fill in.

من 1 إلى 64 من الأحرف
definitionobject

What starts an automation and what it then does. Paths never join or loop: every step is reached from exactly one place, and a definition holds at most 50 steps.

triggerobjectمطلوب

What puts a contact into the automation. Null in a draft that has none yet, and a draft cannot be published without one.

يمكن أن يكون null
kindstringمطلوب
أحد"audience_joined"
audienceIdstringمطلوب
حتى 64 من الأحرف
includeImportedbooleanمطلوب
entrystringمطلوب

The key of the first step, or null while the draft has no steps.

يمكن أن يكون nullالنمط^[a-z][a-z0-9]{2,23}$
stepsobject[]مطلوب

Every step, in any order. Each has a unique key, and names the step after it by key in next, or in yes and no for a branch. Null ends the path there.

حتى 50 من العناصر
keystringمطلوب
النمط^[a-z][a-z0-9]{2,23}$
namestring
حتى 80 من الأحرف
kindstringمطلوب
أحد"send_email"
nextstringمطلوب
يمكن أن يكون nullالنمط^[a-z][a-z0-9]{2,23}$
templateIdstringمطلوب
حتى 64 من الأحرف
templateVersionintegerمطلوب
يمكن أن يكون nullعلى الأقل 1
fromobjectمطلوب
emailstringمطلوب
حتى 320 من الأحرف
namestring
حتى 120 من الأحرف
replyTostringمطلوب
يمكن أن يكون nullحتى 320 من الأحرف
subjectstringمطلوب
يمكن أن يكون nullحتى 300 من الأحرف
propsRecord<string, object>مطلوب
settingsobject

How the automation runs: timezone, an IANA zone such as Europe/London, sendWindow, the days and minutes of the day in which emails may go out or null for any time, reentryDays, how many days after finishing a contact may enter again or null for once only, exitOnLeave, whether a contact leaves when they leave the audience that started it, and listAudienceId, the audience unsubscribes are recorded in. Every field is optional.

timezonestring
من 1 إلى 64 من الأحرف
sendWindowobject
يمكن أن يكون null
daysinteger[]مطلوب
حتى 7 من العناصر
startMinuteintegerمطلوب
على الأقل 0على الأكثر 1440
endMinuteintegerمطلوب
على الأقل 0على الأكثر 1440
reentryDaysinteger
يمكن أن يكون nullعلى الأقل 1على الأكثر 3650
exitOnLeaveboolean
listAudienceIdstring
يمكن أن يكون nullحتى 64 من الأحرف

يُرجع

Created, as a draft.

الأخطاء

422

invalid_parameter for a value of the wrong shape, unknown_parameter for a key the body does not take, invalid_automation for an unknown starter or a definition that breaks a rule of its structure, such as two steps with one key, or workspace_limit_reached when the workspace holds the most automations it may.

الأخطاء التي يمكن أن تُرجعها أي عملية400401403404500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.create()
Python
automations.create()
Ruby
automations.create
PHP
automations->create
Go
Automations.Create
Java
automations().create
C#
Automations.CreateAsync
CLI
openemail automations create
MCP
createAutomation

GET/automations/starters

List the automation starters

الصلاحياتautomations:readيقرأ

The starting points the app offers when somebody makes an automation, each with its whole definition. Not paginated and not workspace data. The slug is what POST /automations takes as starter. A starter leaves the audience, the templates and the from address empty for you to fill in.

Requires the automations:read scope.

يُرجع

Every starter.

الأخطاء

الأخطاء التي يمكن أن تُرجعها أي عملية400401403404422500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.listStarters()
Python
automations.list_starters()
Ruby
automations.list_starters
PHP
automations->listStarters
Go
Automations.ListStarters
Java
automations().listStarters
C#
Automations.ListStartersAsync
CLI
openemail automations list-starters
MCP
listAutomationStarters

GET/automations/{id}

Retrieve an automation

الصلاحياتautomations:readيقرأ

The whole automation: the draft definition, the published definition that is running, settings, fresh counts and problems, what would stop the draft from being published. An automation in another workspace is a 404, never a 403.

Requires the automations:read scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

يُرجع

The automation.

الأخطاء

404

automation_not_found when the id names no automation you can reach.

الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.get()
Python
automations.get()
Ruby
automations.get
PHP
automations->get
Go
Automations.Get
Java
automations().get
C#
Automations.GetAsync
CLI
openemail automations get
MCP
getAutomation

PATCH/automations/{id}

Update an automation

الصلاحياتautomations:writeيغيّر البيانات

A partial update. definition replaces the draft whole, and a live automation keeps running its published version until POST /automations/{id}/publish. settings is merged field by field and takes effect at once.

Read the automation, change it and send expectedUpdatedAt with the updatedAt you read: if someone saved it in between, your change is refused instead of written over theirs.

Requires the automations:write scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

متن الطلب

namestring

What the workspace calls the automation, trimmed, 1 to 120 characters. Contacts never see it, and it need not be unique.

من 1 إلى 120 من الأحرف
descriptionstring

A note for the workspace, at most 500 characters. Contacts never see it.

يمكن أن يكون nullحتى 500 من الأحرف
definitionobject

What starts an automation and what it then does. Paths never join or loop: every step is reached from exactly one place, and a definition holds at most 50 steps.

triggerobjectمطلوب

What puts a contact into the automation. Null in a draft that has none yet, and a draft cannot be published without one.

يمكن أن يكون null
kindstringمطلوب
أحد"audience_joined"
audienceIdstringمطلوب
حتى 64 من الأحرف
includeImportedbooleanمطلوب
entrystringمطلوب

The key of the first step, or null while the draft has no steps.

يمكن أن يكون nullالنمط^[a-z][a-z0-9]{2,23}$
stepsobject[]مطلوب

Every step, in any order. Each has a unique key, and names the step after it by key in next, or in yes and no for a branch. Null ends the path there.

حتى 50 من العناصر
keystringمطلوب
النمط^[a-z][a-z0-9]{2,23}$
namestring
حتى 80 من الأحرف
kindstringمطلوب
أحد"send_email"
nextstringمطلوب
يمكن أن يكون nullالنمط^[a-z][a-z0-9]{2,23}$
templateIdstringمطلوب
حتى 64 من الأحرف
templateVersionintegerمطلوب
يمكن أن يكون nullعلى الأقل 1
fromobjectمطلوب
emailstringمطلوب
حتى 320 من الأحرف
namestring
حتى 120 من الأحرف
replyTostringمطلوب
يمكن أن يكون nullحتى 320 من الأحرف
subjectstringمطلوب
يمكن أن يكون nullحتى 300 من الأحرف
propsRecord<string, object>مطلوب
settingsobject

Merged field by field into the stored settings, and applied at once, without publishing. Send only the fields you are changing.

timezonestring
من 1 إلى 64 من الأحرف
sendWindowobject
يمكن أن يكون null
daysinteger[]مطلوب
حتى 7 من العناصر
startMinuteintegerمطلوب
على الأقل 0على الأكثر 1440
endMinuteintegerمطلوب
على الأقل 0على الأكثر 1440
reentryDaysinteger
يمكن أن يكون nullعلى الأقل 1على الأكثر 3650
exitOnLeaveboolean
listAudienceIdstring
يمكن أن يكون nullحتى 64 من الأحرف
expectedUpdatedAtstring

The updatedAt you read. When the automation was saved since, the call is refused with 409 version_conflict and nothing is written.

التنسيقdate-time

يُرجع

Saved.

الأخطاء

404

automation_not_found when the id names no automation you can reach.

409

version_conflict: the automation was saved after expectedUpdatedAt. automation_archived: an archived automation cannot be changed. Nothing was written.

422

invalid_parameter for a value of the wrong shape, unknown_parameter for a key the body does not take, or invalid_automation when the definition breaks a rule of its structure or settings.listAudienceId names no audience.

الأخطاء التي يمكن أن تُرجعها أي عملية400401403500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.update()
Python
automations.update()
Ruby
automations.update
PHP
automations->update
Go
Automations.Update
Java
automations().update
C#
Automations.UpdateAsync
CLI
openemail automations update
MCP
updateAutomation

DELETE/automations/{id}

Delete an automation

الصلاحياتautomations:writeيحذف
يطلب رمز تحقق

Deletes the automation with its versions, its enrollments and its statistics. Contacts in it stop at once and get nothing more. The emails it already sent stay in GET /emails.

There is no undo. To retire one and keep its history, use POST /automations/{id}/archive.

Requires the automations:write scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

يُرجع

الأخطاء

403

The key lacks the scope, or may not send as that address.

step_up_required: the call was made with an OAuth access token that has not been verified in the last 60 minutes. Ask for a code with POST /security/step-up, send it to POST /security/step-up/verify, then repeat the call. The person can also choose Allow changes for 60 minutes on the app in Account settings, Connected apps, on the OpenEmail website. An API key is never asked for a code.

404

automation_not_found when the id names no automation you can reach.

الأخطاء التي يمكن أن تُرجعها أي عملية400401422500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.delete()
Python
automations.delete()
Ruby
automations.delete
PHP
automations->delete
Go
Automations.Delete
Java
automations().delete
C#
Automations.DeleteAsync
CLI
openemail automations delete
MCP
deleteAutomation

POST/automations/{id}/publish

Publish an automation

الصلاحياتautomations:writeemails:sendيرسل البريد

Saves the draft as the next version and sets the automation live, so its trigger starts taking contacts in. Contacts already in it stay on the version they entered on. Publishing a paused automation turns it back on. No body.

The draft has to be complete: a trigger, at least one step, every email with a published template that declares unsubscribeUrl and a from address the caller may send as, and every audience, form and webhook it names still there. The automation sends as whoever published it, so it pauses itself if that API key is revoked.

Requires the automations:write and emails:send scopes.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

يُرجع

Published and live.

الأخطاء

403

automation_limit_reached when the plan covers no more live automations, or insufficient_scope.

404

automation_not_found when the id names no automation you can reach.

409

automation_archived: an archived automation cannot be published.

422

invalid_automation when the draft cannot run: the error carries problems, every problem that blocks it, each with a code, the path of the field, the stepKey and a message.

الأخطاء التي يمكن أن تُرجعها أي عملية400401500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.publish()
Python
automations.publish()
Ruby
automations.publish
PHP
automations->publish
Go
Automations.Publish
Java
automations().publish
C#
Automations.PublishAsync
CLI
openemail automations publish
MCP
publishAutomation

POST/automations/{id}/pause

Pause an automation

الصلاحياتautomations:writeيغيّر البيانات

Stops a live automation. Nobody new enters, and everyone in it stays where they are and moves on when it is resumed. Pausing a paused automation changes nothing. No body.

Requires the automations:write scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

يُرجع

Paused.

الأخطاء

404

automation_not_found when the id names no automation you can reach.

409

automation_not_published: a draft that was never published cannot be paused. automation_archived: neither can an archived one.

الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.pause()
Python
automations.pause()
Ruby
automations.pause
PHP
automations->pause
Go
Automations.Pause
Java
automations().pause
C#
Automations.PauseAsync
CLI
openemail automations pause
MCP
pauseAutomation

POST/automations/{id}/resume

Resume an automation

الصلاحياتautomations:writeemails:sendيرسل البريد

Turns a paused automation back on with the version it was running, without publishing the draft. Contacts that were held move on, and from now on it sends as the caller. The published version is checked again first, so an automation OpenEmail paused stays paused until what stopped it is fixed. Resuming a live automation changes nothing. No body.

Requires the automations:write and emails:send scopes.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

يُرجع

Live again.

الأخطاء

403

automation_limit_reached when the plan covers no more live automations, or insufficient_scope.

404

automation_not_found when the id names no automation you can reach.

409

automation_not_published: there is no published version to resume. automation_archived: an archived automation cannot be resumed.

422

invalid_automation when the draft cannot run: the error carries problems, every problem that blocks it, each with a code, the path of the field, the stepKey and a message.

الأخطاء التي يمكن أن تُرجعها أي عملية400401500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.resume()
Python
automations.resume()
Ruby
automations.resume
PHP
automations->resume
Go
Automations.Resume
Java
automations().resume
C#
Automations.ResumeAsync
CLI
openemail automations resume
MCP
resumeAutomation

POST/automations/{id}/archive

Archive an automation

الصلاحياتautomations:writeيحذف

Retires an automation for good and keeps its history. Everyone in it leaves with the exit reason archived, nobody enters again, and it can no longer be changed, published or resumed. Its versions, enrollments and statistics stay readable. Archiving an archived automation changes nothing. No body.

To start again from its steps, use POST /automations/{id}/duplicate.

Requires the automations:write scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

يُرجع

Archived.

الأخطاء

404

automation_not_found when the id names no automation you can reach.

الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.archive()
Python
automations.archive()
Ruby
automations.archive
PHP
automations->archive
Go
Automations.Archive
Java
automations().archive
C#
Automations.ArchiveAsync
CLI
openemail automations archive
MCP
archiveAutomation

POST/automations/{id}/duplicate

Duplicate an automation

الصلاحياتautomations:writeيغيّر البيانات

Makes a new draft with the same draft definition and settings, named after the original with (copy) on the end. The copy has no versions, no contacts and no statistics. No body.

Requires the automations:write scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

يُرجع

The copy, as a draft.

الأخطاء

404

automation_not_found when the id names no automation you can reach.

422

workspace_limit_reached when the workspace holds the most automations it may.

الأخطاء التي يمكن أن تُرجعها أي عملية400401403500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.duplicate()
Python
automations.duplicate()
Ruby
automations.duplicate
PHP
automations->duplicate
Go
Automations.Duplicate
Java
automations().duplicate
C#
Automations.DuplicateAsync
CLI
openemail automations duplicate
MCP
duplicateAutomation

POST/automations/{id}/test

Send a test of one email step

الصلاحياتautomations:writeemails:sendيرسل البريد

Sends the email of one step of the draft to one address, so you can read it before publishing. Contact values are filled from a sample contact, values that come from an event are left empty, and the subject starts with [Test]. It counts toward the monthly sends, is not tracked and enrolls nobody.

Requires the automations:write and emails:send scopes.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

متن الطلب

stepKeystringمطلوب

The key of the email step to send, from the draft definition.

من 1 إلى 64 من الأحرف
tostring

Where the test goes. Left out, it goes to the account email of the person the key or app acts for.

حتى 320 من الأحرفالتنسيقemail

يُرجع

الأخطاء

403

from_address_forbidden when the caller may not send as the from address of the step, or insufficient_scope.

404

automation_not_found when the id names no automation you can reach.

409

domain_not_sendable when the domain of the from address cannot send yet.

422

invalid_automation when stepKey names no step, the step is not an email, or its template cannot be sent, with param set to stepKey.

429

send_quota_exceeded: the monthly sends of the plan are used up.

الأخطاء التي يمكن أن تُرجعها أي عملية400401500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.sendTest()
Python
automations.send_test()
Ruby
automations.send_test
PHP
automations->sendTest
Go
Automations.SendTest
Java
automations().sendTest
C#
Automations.SendTestAsync
CLI
openemail automations send-test
MCP
sendAutomationTest

GET/automations/{id}/versions

List the versions of an automation

الصلاحياتautomations:readيقرأ

Every published version, the newest first, each with its whole definition. current marks the one that is running. Not paginated. A draft that was never published has none.

Requires the automations:read scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

يُرجع

The versions.

الأخطاء

404

automation_not_found when the id names no automation you can reach.

الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.listVersions()
Python
automations.list_versions()
Ruby
automations.list_versions
PHP
automations->listVersions
Go
Automations.ListVersions
Java
automations().listVersions
C#
Automations.ListVersionsAsync
CLI
openemail automations list-versions
MCP
listAutomationVersions

POST/automations/{id}/versions/{version}/restore

Restore a version into the draft

الصلاحياتautomations:writeيغيّر البيانات

Copies the definition of an earlier version into the draft, replacing what the draft holds. Nothing that is running changes until POST /automations/{id}/publish. No body.

Requires the automations:write scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

versionintegerمطلوب

The number of the version, as GET /automations/{id}/versions lists it.

على الأقل 1

يُرجع

The automation, with the version in its draft.

الأخطاء

404

automation_not_found when the id names no automation you can reach, or, with param set to version, when it has no such version.

409

automation_archived: an archived automation cannot be changed.

الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.restoreVersion()
Python
automations.restore_version()
Ruby
automations.restore_version
PHP
automations->restoreVersion
Go
Automations.RestoreVersion
Java
automations().restoreVersion
C#
Automations.RestoreVersionAsync
CLI
openemail automations restore-version
MCP
restoreAutomationVersion

GET/automations/{id}/stats

How an automation has performed

الصلاحياتautomations:readيقرأ

Totals for a window, the same numbers step by step, and a point per day. The steps are those of the published version, or of the draft when nothing is published. active and waiting are counted at the moment of the read, whatever the window.

Requires the automations:read scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

معلمات الاستعلام

sincestring

Where the window starts, as an ISO 8601 instant. Left out, 30 days before until. It reaches back at most 366 days before until.

التنسيقdate-time
untilstring

Where the window ends, as an ISO 8601 instant. Left out, now.

التنسيقdate-time

يُرجع

The numbers for the window.

الأخطاء

404

automation_not_found when the id names no automation you can reach.

422

invalid_parameter when a time is not an ISO 8601 instant or until is not after since.

الأخطاء التي يمكن أن تُرجعها أي عملية400401403500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.stats()
Python
automations.stats()
Ruby
automations.stats
PHP
automations->stats
Go
Automations.Stats
Java
automations().stats
C#
Automations.StatsAsync
CLI
openemail automations stats
MCP
getAutomationStats

GET/automations/{id}/enrollments

List the contacts in an automation

الصلاحياتautomations:readيقرأ

Everyone who is in the automation or has been, the most recent entry first: where each contact is, what they are waiting for and how it ended.

Requires the automations:read scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

معلمات الاستعلام

statusstring

Only enrollments in this state.

أحد"active""completed""exited"
stepKeystring

Only contacts at the step with this key.

من 1 إلى 64 من الأحرف
qstring

Only contacts whose address or name contains this text, compared without case.

حتى 200 من الأحرف
limitinteger

Rows per page, 1 to 200.

على الأقل 1على الأكثر 200الافتراضي50
cursorstring

The id of the last enrollment on the previous page. Keyset, not offset: pass the previous page's nextCursor. One that names nothing in this list is a 400 invalid_cursor.

يُرجع

A page of enrollments.

الأخطاء

404

automation_not_found when the id names no automation you can reach.

الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.listEnrollments()automations.listAllEnrollments()automations.iterateEnrollments()
Python
automations.list_enrollments()automations.list_all_enrollments()automations.iterate_enrollments()
Ruby
automations.list_enrollmentsautomations.list_all_enrollmentsautomations.iterate_enrollments
PHP
automations->listEnrollmentsautomations->listAllEnrollmentsautomations->iterateEnrollments
Go
Automations.ListEnrollmentsAutomations.ListAllEnrollmentsAutomations.IterateEnrollments
Java
automations().listEnrollmentsautomations().listAllEnrollmentsautomations().iterateEnrollments
C#
Automations.ListEnrollmentsAsyncAutomations.ListAllEnrollmentsAsyncAutomations.IterateEnrollmentsAsync
CLI
openemail automations list-enrollments
MCP
listAutomationEnrollments

POST/automations/{id}/enrollments

Enroll a contact in an automation

الصلاحياتautomations:writeيرسل البريد

Puts one contact into a live automation at its first step, whatever its trigger is. The contact has to exist already. data gives the steps the values they would otherwise read from an event.

A contact is in an automation once at a time, and comes back in only after settings.reentryDays. An address on the suppression list, or one that unsubscribed from the audience the automation sends through, is refused.

Requires the automations:write scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

متن الطلب

contactIdstring

The contact, by id. Send this or email, never both.

من 1 إلى 64 من الأحرف
emailstring

The contact, by email address. Send this or contactId, never both.

حتى 320 من الأحرفالتنسيقemail
dataRecord<string, any>

Values the steps can read wherever a value comes from the event, such as an order number for an email. At most 50 keys and 4 KB of JSON.

يُرجع

Enrolled, and due at the first step.

الأخطاء

404

automation_not_found, or contact_not_found when no contact has that id or address.

409

automation_not_live when it is a draft, paused or archived. already_enrolled when the contact is in it or finished it too recently. contact_unreachable when the address is suppressed or unsubscribed.

422

invalid_parameter when neither or both of contactId and email are sent, or data is too large.

الأخطاء التي يمكن أن تُرجعها أي عملية400401403500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.enroll()
Python
automations.enroll()
Ruby
automations.enroll
PHP
automations->enroll
Go
Automations.Enroll
Java
automations().enroll
C#
Automations.EnrollAsync
CLI
openemail automations enroll
MCP
enrollInAutomation

GET/automations/{id}/enrollments/{enrollmentId}

Retrieve an enrollment

الصلاحياتautomations:readيقرأ

One contact's way through the automation: the enrollment, plus runs, what each step did for them, oldest first, up to 200.

Requires the automations:read scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

enrollmentIdstringمطلوب

The enrollment, such as aen_2b8d4f6a1c3e5079b6d8f0a2, as GET /automations/{id}/enrollments lists it.

يُرجع

The enrollment with its runs.

الأخطاء

الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.getEnrollment()
Python
automations.get_enrollment()
Ruby
automations.get_enrollment
PHP
automations->getEnrollment
Go
Automations.GetEnrollment
Java
automations().getEnrollment
C#
Automations.GetEnrollmentAsync
CLI
openemail automations get-enrollment
MCP
getAutomationEnrollment

POST/automations/{id}/enrollments/{enrollmentId}/exit

Take a contact out of an automation

الصلاحياتautomations:writeيحذف

Ends an active enrollment at once with the exit reason removed. The contact gets nothing more from this automation, and stays in the contacts and in their audiences. No body.

Requires the automations:write scope.

معلمات المسار

idstringمطلوب

The automation, such as aut_5c1e9a7b3d2f48e6a0b4c7d1, as GET /automations lists it.

enrollmentIdstringمطلوب

The enrollment, such as aen_2b8d4f6a1c3e5079b6d8f0a2, as GET /automations/{id}/enrollments lists it.

يُرجع

The enrollment, exited.

الأخطاء

409

automation_enrollment_finished: the contact already completed or left.

الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء

متاح أيضًا في

TypeScript
automations.exitEnrollment()
Python
automations.exit_enrollment()
Ruby
automations.exit_enrollment
PHP
automations->exitEnrollment
Go
Automations.ExitEnrollment
Java
automations().exitEnrollment
C#
Automations.ExitEnrollmentAsync
CLI
openemail automations exit-enrollment
MCP
removeFromAutomation

الكائنات

Automationobject

objectstringمطلوب
أحد"automation"
idstringمطلوب

The id of the automation. It never changes.

namestringمطلوب

What the workspace calls it. Contacts never see it.

descriptionstringمطلوب

A note for the workspace.

يمكن أن يكون null
statusstringمطلوب

draft until the first publish. live takes contacts in and moves them along. paused takes nobody in and holds everyone where they are. archived is retired for good and everyone in it has left.

أحد"draft""live""paused""archived"
triggerKindstringمطلوب

What starts the draft, or null while it has no trigger.

يمكن أن يكون nullأحد"audience_joined""form_submitted""event""date""manual"
stepCountintegerمطلوب

How many steps the draft holds.

على الأقل 0
emailCountintegerمطلوب

How many of those steps send an email.

على الأقل 0
hasUnpublishedChangesbooleanمطلوب

True when the draft differs from the version that is running.

publishedVersionintegerمطلوب

The number of the version that is running. Null until the first publish.

يمكن أن يكون null
pausedReasonstringمطلوب

Why it is paused. manual is a person. The others are OpenEmail stopping it: sender_refused when its from address can no longer send, key_revoked when the API key that published it was revoked, expired or turned off, template_unavailable when one of its templates can no longer be sent, audience_missing when an audience it depends on is gone, and plan_limit when the plan no longer covers this many live automations. Null while it is not paused.

يمكن أن يكون nullأحد"manual""sender_refused""key_revoked""template_unavailable""audience_missing""plan_limit"
lastErrorstringمطلوب

What went wrong the last time OpenEmail paused it, in a sentence. Null otherwise.

يمكن أن يكون null
countsobjectمطلوب

Contacts, counted at the moment of the read.

activeintegerمطلوب

In the automation now.

على الأقل 0
completedintegerمطلوب

Reached the end of a path, in all its time.

على الأقل 0
exitedintegerمطلوب

Left before the end, in all its time.

على الأقل 0
createdBystringمطلوب

The user id of the person who made it. Null when that account is gone.

يمكن أن يكون null
publishedAtstringمطلوب

The last publish. Null until the first.

يمكن أن يكون nullالتنسيقdate-time
pausedAtstringمطلوب

When it was paused. Null while it is not.

يمكن أن يكون nullالتنسيقdate-time
archivedAtstringمطلوب

When it was archived. Null otherwise.

يمكن أن يكون nullالتنسيقdate-time
createdAtstringمطلوب

When it was made.

التنسيقdate-time
updatedAtstringمطلوب

The last save. Send it back as expectedUpdatedAt so a change never overwrites one you have not seen.

التنسيقdate-time
definitionobjectمطلوب

What starts an automation and what it then does. Paths never join or loop: every step is reached from exactly one place, and a definition holds at most 50 steps.

triggerobjectمطلوب

What puts a contact into the automation. Null in a draft that has none yet, and a draft cannot be published without one.

يمكن أن يكون null
kindstringمطلوب
أحد"audience_joined"
audienceIdstringمطلوب
حتى 64 من الأحرف
includeImportedbooleanمطلوب
entrystringمطلوب

The key of the first step, or null while the draft has no steps.

يمكن أن يكون nullالنمط^[a-z][a-z0-9]{2,23}$
stepsobject[]مطلوب

Every step, in any order. Each has a unique key, and names the step after it by key in next, or in yes and no for a branch. Null ends the path there.

حتى 50 من العناصر
keystringمطلوب
النمط^[a-z][a-z0-9]{2,23}$
namestring
حتى 80 من الأحرف
kindstringمطلوب
أحد"send_email"
nextstringمطلوب
يمكن أن يكون nullالنمط^[a-z][a-z0-9]{2,23}$
templateIdstringمطلوب
حتى 64 من الأحرف
templateVersionintegerمطلوب
يمكن أن يكون nullعلى الأقل 1
fromobjectمطلوب
emailstringمطلوب
حتى 320 من الأحرف
namestring
حتى 120 من الأحرف
replyTostringمطلوب
يمكن أن يكون nullحتى 320 من الأحرف
subjectstringمطلوب
يمكن أن يكون nullحتى 300 من الأحرف
propsRecord<string, object>مطلوب
publishedobjectمطلوب

What starts an automation and what it then does. Paths never join or loop: every step is reached from exactly one place, and a definition holds at most 50 steps.

يمكن أن يكون null
triggerobjectمطلوب

What puts a contact into the automation. Null in a draft that has none yet, and a draft cannot be published without one.

يمكن أن يكون null
kindstringمطلوب
أحد"audience_joined"
audienceIdstringمطلوب
حتى 64 من الأحرف
includeImportedbooleanمطلوب
entrystringمطلوب

The key of the first step, or null while the draft has no steps.

يمكن أن يكون nullالنمط^[a-z][a-z0-9]{2,23}$
stepsobject[]مطلوب

Every step, in any order. Each has a unique key, and names the step after it by key in next, or in yes and no for a branch. Null ends the path there.

حتى 50 من العناصر
keystringمطلوب
النمط^[a-z][a-z0-9]{2,23}$
namestring
حتى 80 من الأحرف
kindstringمطلوب
أحد"send_email"
nextstringمطلوب
يمكن أن يكون nullالنمط^[a-z][a-z0-9]{2,23}$
templateIdstringمطلوب
حتى 64 من الأحرف
templateVersionintegerمطلوب
يمكن أن يكون nullعلى الأقل 1
fromobjectمطلوب
emailstringمطلوب
حتى 320 من الأحرف
namestring
حتى 120 من الأحرف
replyTostringمطلوب
يمكن أن يكون nullحتى 320 من الأحرف
subjectstringمطلوب
يمكن أن يكون nullحتى 300 من الأحرف
propsRecord<string, object>مطلوب
settingsobjectمطلوب

How it runs. Settings take effect when they are saved, published or not.

timezonestringمطلوب

The IANA time zone the sending window and waits until a day and time are read in, such as Europe/London. UTC until you set one.

من 1 إلى 64 من الأحرف
sendWindowobjectمطلوب

When emails may go out: days of the week (0 is Sunday) and startMinute to endMinute of the day, counted from midnight. An email due outside it waits for the window to open. Null sends at any time.

يمكن أن يكون null
daysinteger[]مطلوب
حتى 7 من العناصر
startMinuteintegerمطلوب
على الأقل 0على الأكثر 1440
endMinuteintegerمطلوب
على الأقل 0على الأكثر 1440
reentryDaysintegerمطلوب

How many days after a contact finishes before they may enter again. Null lets each contact through once only.

يمكن أن يكون nullعلى الأقل 1على الأكثر 3650
exitOnLeavebooleanمطلوب

Take a contact out when they leave the audience that started the automation. True by default.

listAudienceIdstringمطلوب

The audience an unsubscribe from one of these emails is recorded in. A contact who unsubscribed from it is not sent to and cannot be enrolled. Null uses the audience that starts the automation, or the built-in audience of every contact when no audience starts it.

يمكن أن يكون nullحتى 64 من الأحرف
problemsAutomationProblem[]مطلوب

What is wrong with the draft, checked at the moment of the read. Empty when it is ready. A publish checks more: that every template can be sent and that the caller may send from every from address.

AutomationEnrollmentobject

objectstringمطلوب
أحد"automation_enrollment"
idstringمطلوب

The id of the enrollment.

automationIdstringمطلوب
versionintegerمطلوب

The published version the contact entered on and stays on. Null when that version is gone.

يمكن أن يكون null
contactobjectمطلوب
idstringمطلوب

The id of the contact.

emailstringمطلوب
التنسيقemail
namestringمطلوب
يمكن أن يكون null
statusstringمطلوب

active while the contact is in it, completed at the end of a path, exited when they left early.

أحد"active""completed""exited"
sourcestringمطلوب

How they got in: trigger, by hand in the app (manual), or through this API or an app (api).

أحد"trigger""manual""api"
stepKeystringمطلوب

The key of the step the contact is at, or was at when they finished. Null before the first step.

يمكن أن يكون null
waitingbooleanمطلوب

True while the contact sits in a wait step.

waitingForEventstringمطلوب

The event name a wait step is holding out for. Null otherwise.

يمكن أن يكون null
heldForstringمطلوب

Why a step that is due has not run: window for the sending window, quota for the monthly sends, lane when the broadcast lane of the workspace is paused, retry after a failure that is tried again. Null when nothing holds it.

يمكن أن يكون nullأحد"window""quota""lane""retry"
nextRunAtstringمطلوب

When the contact moves next. Null once they finished.

يمكن أن يكون nullالتنسيقdate-time
exitReasonstringمطلوب

How it ended: completed, an exit step (exit_step), unsubscribed, suppressed, left_audience, taken out by a person or a call (removed), the automation was archived, or a step failed for good. Null while active.

يمكن أن يكون nullأحد"completed""exit_step""unsubscribed""suppressed""left_audience""removed""archived""failed"
lastErrorstringمطلوب

The last failure of a step, in a sentence.

يمكن أن يكون null
startedAtstringمطلوب

When the contact entered.

التنسيقdate-time
finishedAtstringمطلوب

When they completed or left. Null while active.

يمكن أن يكون nullالتنسيقdate-time
updatedAtstringمطلوب

The last time anything about the enrollment changed.

التنسيقdate-time

AutomationEnrollmentDetailobject

objectstringمطلوب
أحد"automation_enrollment"
idstringمطلوب

The id of the enrollment.

automationIdstringمطلوب
versionintegerمطلوب

The published version the contact entered on and stays on. Null when that version is gone.

يمكن أن يكون null
contactobjectمطلوب
idstringمطلوب

The id of the contact.

emailstringمطلوب
التنسيقemail
namestringمطلوب
يمكن أن يكون null
statusstringمطلوب

active while the contact is in it, completed at the end of a path, exited when they left early.

أحد"active""completed""exited"
sourcestringمطلوب

How they got in: trigger, by hand in the app (manual), or through this API or an app (api).

أحد"trigger""manual""api"
stepKeystringمطلوب

The key of the step the contact is at, or was at when they finished. Null before the first step.

يمكن أن يكون null
waitingbooleanمطلوب

True while the contact sits in a wait step.

waitingForEventstringمطلوب

The event name a wait step is holding out for. Null otherwise.

يمكن أن يكون null
heldForstringمطلوب

Why a step that is due has not run: window for the sending window, quota for the monthly sends, lane when the broadcast lane of the workspace is paused, retry after a failure that is tried again. Null when nothing holds it.

يمكن أن يكون nullأحد"window""quota""lane""retry"
nextRunAtstringمطلوب

When the contact moves next. Null once they finished.

يمكن أن يكون nullالتنسيقdate-time
exitReasonstringمطلوب

How it ended: completed, an exit step (exit_step), unsubscribed, suppressed, left_audience, taken out by a person or a call (removed), the automation was archived, or a step failed for good. Null while active.

يمكن أن يكون nullأحد"completed""exit_step""unsubscribed""suppressed""left_audience""removed""archived""failed"
lastErrorstringمطلوب

The last failure of a step, in a sentence.

يمكن أن يكون null
startedAtstringمطلوب

When the contact entered.

التنسيقdate-time
finishedAtstringمطلوب

When they completed or left. Null while active.

يمكن أن يكون nullالتنسيقdate-time
updatedAtstringمطلوب

The last time anything about the enrollment changed.

التنسيقdate-time
runsobject[]مطلوب

What each step did for the contact, oldest first.

idstringمطلوب
stepKeystringمطلوب

The key of the step that ran.

kindstringمطلوب
أحد"send_email""wait""branch""add_to_audience""remove_from_audience""update_field""webhook""exit"
outcomestringمطلوب

What happened: an email sent, a wait waited out, a branch answered yes or no, the contact added to or removed from an audience, a field updated, a webhook called, the path exited, the step skipped, or it failed.

أحد"sent""skipped""waited""yes""no""added""removed""updated""called""exited""failed"
emailIdstringمطلوب

The email a send step sent, as GET /emails lists it. Null for every other step.

يمكن أن يكون null
detailstringمطلوب

Why a step was skipped or failed, or how a wait ended.

يمكن أن يكون null
createdAtstringمطلوب

When the step ran.

التنسيقdate-time

AutomationEnrollmentListobject

objectstring
أحد"list"
hasMoreboolean

True when another page follows. Pass nextCursor back as cursor to read it.

nextCursorstring

The id of the last row on this page, or null on the last page.

يمكن أن يكون null
automationIdstring

The automation the enrollments belong to.

AutomationListobject

objectstring
أحد"list"
hasMoreboolean

True when another page follows. Pass nextCursor back as cursor to read it.

nextCursorstring

The id of the last row on this page, or null on the last page.

يمكن أن يكون null

AutomationProblemobject

codestringمطلوب

What is wrong, for a program to branch on.

أحد"trigger_missing""trigger_audience_missing""trigger_form_missing""trigger_event_invalid""trigger_filter_invalid""no_steps""too_many_steps""too_deep""duplicate_key""unknown_target""shared_step""unreachable""template_missing""sender_missing""sender_invalid""reply_to_invalid""wait_invalid""wait_too_long""wait_days_missing""event_name_invalid""condition_step_missing""audience_missing""field_invalid""value_missing""webhook_missing""list_audience_missing""timezone_invalid""window_invalid""template_not_found""template_not_published""template_unsubscribe_missing""template_prop_missing""template_name_required""sender_refused""audience_not_found""audience_is_everyone""form_not_found""webhook_not_found""opens_unreliable"
pathstringمطلوب

The field at fault, dotted, such as definition.steps.2.templateId or settings.timezone.

stepKeystringمطلوب

The key of the step at fault. Null when it is the trigger or a setting.

يمكن أن يكون null
messagestringمطلوب

The problem in a sentence a person can act on.

blockingbooleanمطلوب

True when it stops a publish. False for a warning, such as a branch on opens.

AutomationStarterobject

objectstringمطلوب
أحد"automation_starter"
slugstringمطلوب

What POST /automations takes as starter.

namestringمطلوب
descriptionstringمطلوب

What the starter is for, in a sentence.

definitionobjectمطلوب

What starts an automation and what it then does. Paths never join or loop: every step is reached from exactly one place, and a definition holds at most 50 steps.

triggerobjectمطلوب

What puts a contact into the automation. Null in a draft that has none yet, and a draft cannot be published without one.

يمكن أن يكون null
kindstringمطلوب
أحد"audience_joined"
audienceIdstringمطلوب
حتى 64 من الأحرف
includeImportedbooleanمطلوب
entrystringمطلوب

The key of the first step, or null while the draft has no steps.

يمكن أن يكون nullالنمط^[a-z][a-z0-9]{2,23}$
stepsobject[]مطلوب

Every step, in any order. Each has a unique key, and names the step after it by key in next, or in yes and no for a branch. Null ends the path there.

حتى 50 من العناصر
keystringمطلوب
النمط^[a-z][a-z0-9]{2,23}$
namestring
حتى 80 من الأحرف
kindstringمطلوب
أحد"send_email"
nextstringمطلوب
يمكن أن يكون nullالنمط^[a-z][a-z0-9]{2,23}$
templateIdstringمطلوب
حتى 64 من الأحرف
templateVersionintegerمطلوب
يمكن أن يكون nullعلى الأقل 1
fromobjectمطلوب
emailstringمطلوب
حتى 320 من الأحرف
namestring
حتى 120 من الأحرف
replyTostringمطلوب
يمكن أن يكون nullحتى 320 من الأحرف
subjectstringمطلوب
يمكن أن يكون nullحتى 300 من الأحرف
propsRecord<string, object>مطلوب

AutomationStatsobject

objectstringمطلوب
أحد"automation_stats"
automationIdstringمطلوب
sincestringمطلوب

Where the window starts.

التنسيقdate-time
untilstringمطلوب

Where the window ends.

التنسيقdate-time
totalsobjectمطلوب

The whole automation over the window.

enteredinteger

Contacts that entered.

على الأقل 0
activeinteger

Contacts in it now, whatever the window.

على الأقل 0
completedinteger

Contacts that reached the end of a path.

على الأقل 0
exitedinteger

Contacts that left early.

على الأقل 0
sentinteger

Emails sent.

على الأقل 0
deliveredinteger

Emails delivered.

على الأقل 0
openedinteger

Emails opened. Many mail apps hide opens, so read it as a floor.

على الأقل 0
clickedinteger

Emails with a click.

على الأقل 0
bouncedinteger

Emails that bounced.

على الأقل 0
complainedinteger

Emails marked as spam.

على الأقل 0
unsubscribedinteger

Contacts that unsubscribed from one of its emails.

على الأقل 0
stepsobject[]مطلوب

The same numbers for each step.

stepKeystring

The key of the step.

kindstring
أحد"send_email""wait""branch""add_to_audience""remove_from_audience""update_field""webhook""exit"
enteredinteger

Contacts that reached the step.

على الأقل 0
waitinginteger

Contacts sitting at the step now.

على الأقل 0
completedinteger

Contacts whose path ended at the step.

على الأقل 0
exitedinteger

Contacts that left early at the step.

على الأقل 0
sentinteger

Emails the step sent.

على الأقل 0
skippedinteger

Times the step did nothing, such as an address that cannot receive mail.

على الأقل 0
failedinteger

Times the step failed for good.

على الأقل 0
yesinteger

Contacts a branch sent down yes.

على الأقل 0
nointeger

Contacts a branch sent down no.

على الأقل 0
deliveredinteger

Emails of the step that were delivered.

على الأقل 0
openedinteger

Emails of the step that were opened.

على الأقل 0
clickedinteger

Emails of the step with a click.

على الأقل 0
bouncedinteger

Emails of the step that bounced.

على الأقل 0
complainedinteger

Emails of the step marked as spam.

على الأقل 0
unsubscribedinteger

Contacts that unsubscribed from an email of the step.

على الأقل 0
seriesobject[]مطلوب

One point for each UTC day in the window on which something happened, oldest first.

daystring

The start of the day, in UTC.

التنسيقdate-time
enteredinteger

Contacts that entered that day.

على الأقل 0
completedinteger

Contacts that completed that day.

على الأقل 0
exitedinteger

Contacts that left early that day.

على الأقل 0
sentinteger

Emails sent that day.

على الأقل 0

AutomationSummaryobject

objectstringمطلوب
أحد"automation"
idstringمطلوب

The id of the automation. It never changes.

namestringمطلوب

What the workspace calls it. Contacts never see it.

descriptionstringمطلوب

A note for the workspace.

يمكن أن يكون null
statusstringمطلوب

draft until the first publish. live takes contacts in and moves them along. paused takes nobody in and holds everyone where they are. archived is retired for good and everyone in it has left.

أحد"draft""live""paused""archived"
triggerKindstringمطلوب

What starts the draft, or null while it has no trigger.

يمكن أن يكون nullأحد"audience_joined""form_submitted""event""date""manual"
stepCountintegerمطلوب

How many steps the draft holds.

على الأقل 0
emailCountintegerمطلوب

How many of those steps send an email.

على الأقل 0
hasUnpublishedChangesbooleanمطلوب

True when the draft differs from the version that is running.

publishedVersionintegerمطلوب

The number of the version that is running. Null until the first publish.

يمكن أن يكون null
pausedReasonstringمطلوب

Why it is paused. manual is a person. The others are OpenEmail stopping it: sender_refused when its from address can no longer send, key_revoked when the API key that published it was revoked, expired or turned off, template_unavailable when one of its templates can no longer be sent, audience_missing when an audience it depends on is gone, and plan_limit when the plan no longer covers this many live automations. Null while it is not paused.

يمكن أن يكون nullأحد"manual""sender_refused""key_revoked""template_unavailable""audience_missing""plan_limit"
lastErrorstringمطلوب

What went wrong the last time OpenEmail paused it, in a sentence. Null otherwise.

يمكن أن يكون null
countsobjectمطلوب

Contacts, counted at the moment of the read.

activeintegerمطلوب

In the automation now.

على الأقل 0
completedintegerمطلوب

Reached the end of a path, in all its time.

على الأقل 0
exitedintegerمطلوب

Left before the end, in all its time.

على الأقل 0
createdBystringمطلوب

The user id of the person who made it. Null when that account is gone.

يمكن أن يكون null
publishedAtstringمطلوب

The last publish. Null until the first.

يمكن أن يكون nullالتنسيقdate-time
pausedAtstringمطلوب

When it was paused. Null while it is not.

يمكن أن يكون nullالتنسيقdate-time
archivedAtstringمطلوب

When it was archived. Null otherwise.

يمكن أن يكون nullالتنسيقdate-time
createdAtstringمطلوب

When it was made.

التنسيقdate-time
updatedAtstringمطلوب

The last save. Send it back as expectedUpdatedAt so a change never overwrites one you have not seen.

التنسيقdate-time

AutomationTestobject

objectstringمطلوب
أحد"automation_test"
automationIdstringمطلوب
emailIdstringمطلوب

The test email, as GET /emails/{id} returns it.

tostringمطلوب

Where it went.

التنسيقemail
stepKeystringمطلوب

The step that was sent.

AutomationVersionobject

objectstringمطلوب
أحد"automation_version"
idstringمطلوب
automationIdstringمطلوب
versionintegerمطلوب

Counts up from 1 with each publish that changed the definition.

على الأقل 1
definitionobjectمطلوب

What starts an automation and what it then does. Paths never join or loop: every step is reached from exactly one place, and a definition holds at most 50 steps.

triggerobjectمطلوب

What puts a contact into the automation. Null in a draft that has none yet, and a draft cannot be published without one.

يمكن أن يكون null
kindstringمطلوب
أحد"audience_joined"
audienceIdstringمطلوب
حتى 64 من الأحرف
includeImportedbooleanمطلوب
entrystringمطلوب

The key of the first step, or null while the draft has no steps.

يمكن أن يكون nullالنمط^[a-z][a-z0-9]{2,23}$
stepsobject[]مطلوب

Every step, in any order. Each has a unique key, and names the step after it by key in next, or in yes and no for a branch. Null ends the path there.

حتى 50 من العناصر
keystringمطلوب
النمط^[a-z][a-z0-9]{2,23}$
namestring
حتى 80 من الأحرف
kindstringمطلوب
أحد"send_email"
nextstringمطلوب
يمكن أن يكون nullالنمط^[a-z][a-z0-9]{2,23}$
templateIdstringمطلوب
حتى 64 من الأحرف
templateVersionintegerمطلوب
يمكن أن يكون nullعلى الأقل 1
fromobjectمطلوب
emailstringمطلوب
حتى 320 من الأحرف
namestring
حتى 120 من الأحرف
replyTostringمطلوب
يمكن أن يكون nullحتى 320 من الأحرف
subjectstringمطلوب
يمكن أن يكون nullحتى 300 من الأحرف
propsRecord<string, object>مطلوب
currentbooleanمطلوب

True for the version that is running.

createdBystringمطلوب

The user id of whoever published it.

يمكن أن يكون null
createdAtstringمطلوب

When it was published.

التنسيقdate-time

DeletedAutomationobject

objectstringمطلوب
أحد"automation"
idstringمطلوب
deletedbooleanمطلوب
أحدtrue