الأتمتة
كل عملية في هذه المجموعة: ما تقبله وما تُرجعه والأخطاء التي قد تردّ بها.
العمليات
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.
/automations/automations/automations/starters/automations/{id}/automations/{id}/automations/{id}/automations/{id}/publish/automations/{id}/pause/automations/{id}/resume/automations/{id}/archive/automations/{id}/duplicate/automations/{id}/test/automations/{id}/versions/automations/{id}/versions/{version}/restore/automations/{id}/stats/automations/{id}/enrollments/automations/{id}/enrollments/automations/{id}/enrollments/{enrollmentId}/automations/{id}/enrollments/{enrollmentId}/exit
GET/automations
List automations
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.
معلمات الاستعلام
statusstringOnly automations in this state.
أحد"draft""live""paused""archived"limitintegerRows per page, 1 to 100.
على الأقل 1على الأكثر 100الافتراضي50cursorstringThe 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 400invalid_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
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 من الأحرفdescriptionstringA note for the workspace, at most 500 characters. Contacts never see it.
يمكن أن يكون nullحتى 500 من الأحرفstarterstringBegin from a starter, by its
slug:welcome-series,trial-follow-up,birthdayorwin-back. Ignored whendefinitionis sent. A starter leaves the audience, the templates and the from address for you to fill in.من 1 إلى 64 من الأحرفdefinitionobjectWhat 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.
يمكن أن يكون nullkindstringمطلوب- أحد
"audience_joined" audienceIdstringمطلوب- حتى 64 من الأحرف
includeImportedbooleanمطلوب
entrystringمطلوبThe
keyof 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 innext, or inyesandnofor 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>مطلوب
settingsobjectHow the automation runs:
timezone, an IANA zone such asEurope/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, andlistAudienceId, 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
exitOnLeavebooleanlistAudienceIdstring- يمكن أن يكون nullحتى 64 من الأحرف
يُرجع
Created, as a draft.
الأخطاء
- 422
invalid_parameterfor a value of the wrong shape,unknown_parameterfor a key the body does not take,invalid_automationfor an unknownstarteror a definition that breaks a rule of its structure, such as two steps with one key, orworkspace_limit_reachedwhen the workspace holds the most automations it may.
الأخطاء التي يمكن أن تُرجعها أي عملية400401403404500دليل الأخطاء
متاح أيضًا في
GET/automations/starters
List the automation starters
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دليل الأخطاء
متاح أيضًا في
GET/automations/{id}
Retrieve an automation
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, asGET /automationslists it.
يُرجع
The automation.
الأخطاء
- 404
automation_not_foundwhen the id names no automation you can reach.
الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء
متاح أيضًا في
PATCH/automations/{id}
Update an automation
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, asGET /automationslists it.
متن الطلب
namestringWhat the workspace calls the automation, trimmed, 1 to 120 characters. Contacts never see it, and it need not be unique.
من 1 إلى 120 من الأحرفdescriptionstringA note for the workspace, at most 500 characters. Contacts never see it.
يمكن أن يكون nullحتى 500 من الأحرفdefinitionobjectWhat 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.
يمكن أن يكون nullkindstringمطلوب- أحد
"audience_joined" audienceIdstringمطلوب- حتى 64 من الأحرف
includeImportedbooleanمطلوب
entrystringمطلوبThe
keyof 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 innext, or inyesandnofor 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>مطلوب
settingsobjectMerged 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
exitOnLeavebooleanlistAudienceIdstring- يمكن أن يكون nullحتى 64 من الأحرف
expectedUpdatedAtstringThe
updatedAtyou read. When the automation was saved since, the call is refused with 409version_conflictand nothing is written.التنسيقdate-time
يُرجع
Saved.
الأخطاء
- 404
automation_not_foundwhen the id names no automation you can reach.- 409
version_conflict: the automation was saved afterexpectedUpdatedAt.automation_archived: an archived automation cannot be changed. Nothing was written.- 422
invalid_parameterfor a value of the wrong shape,unknown_parameterfor a key the body does not take, orinvalid_automationwhen the definition breaks a rule of its structure orsettings.listAudienceIdnames no audience.
الأخطاء التي يمكن أن تُرجعها أي عملية400401403500دليل الأخطاء
متاح أيضًا في
DELETE/automations/{id}
Delete an automation
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, asGET /automationslists it.
يُرجع
Deleted.
الأخطاء
- 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 withPOST /security/step-up, send it toPOST /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_foundwhen the id names no automation you can reach.
الأخطاء التي يمكن أن تُرجعها أي عملية400401422500دليل الأخطاء
متاح أيضًا في
POST/automations/{id}/publish
Publish an automation
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, asGET /automationslists it.
يُرجع
Published and live.
الأخطاء
- 403
automation_limit_reachedwhen the plan covers no more live automations, orinsufficient_scope.- 404
automation_not_foundwhen the id names no automation you can reach.- 409
automation_archived: an archived automation cannot be published.- 422
invalid_automationwhen the draft cannot run: the error carriesproblems, every problem that blocks it, each with acode, thepathof the field, thestepKeyand amessage.
الأخطاء التي يمكن أن تُرجعها أي عملية400401500دليل الأخطاء
متاح أيضًا في
POST/automations/{id}/pause
Pause an automation
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, asGET /automationslists it.
يُرجع
Paused.
الأخطاء
- 404
automation_not_foundwhen 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دليل الأخطاء
متاح أيضًا في
POST/automations/{id}/resume
Resume an automation
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, asGET /automationslists it.
يُرجع
Live again.
الأخطاء
- 403
automation_limit_reachedwhen the plan covers no more live automations, orinsufficient_scope.- 404
automation_not_foundwhen 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_automationwhen the draft cannot run: the error carriesproblems, every problem that blocks it, each with acode, thepathof the field, thestepKeyand amessage.
الأخطاء التي يمكن أن تُرجعها أي عملية400401500دليل الأخطاء
متاح أيضًا في
POST/automations/{id}/archive
Archive an automation
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, asGET /automationslists it.
يُرجع
Archived.
الأخطاء
- 404
automation_not_foundwhen the id names no automation you can reach.
الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء
متاح أيضًا في
POST/automations/{id}/duplicate
Duplicate an automation
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, asGET /automationslists it.
يُرجع
The copy, as a draft.
الأخطاء
- 404
automation_not_foundwhen the id names no automation you can reach.- 422
workspace_limit_reachedwhen the workspace holds the most automations it may.
الأخطاء التي يمكن أن تُرجعها أي عملية400401403500دليل الأخطاء
متاح أيضًا في
POST/automations/{id}/test
Send a test of one email step
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, asGET /automationslists it.
متن الطلب
stepKeystringمطلوبThe
keyof the email step to send, from the draftdefinition.من 1 إلى 64 من الأحرفtostringWhere the test goes. Left out, it goes to the account email of the person the key or app acts for.
حتى 320 من الأحرفالتنسيقemail
يُرجع
Sent.
الأخطاء
- 403
from_address_forbiddenwhen the caller may not send as the from address of the step, orinsufficient_scope.- 404
automation_not_foundwhen the id names no automation you can reach.- 409
domain_not_sendablewhen the domain of the from address cannot send yet.- 422
invalid_automationwhenstepKeynames no step, the step is not an email, or its template cannot be sent, withparamset tostepKey.- 429
send_quota_exceeded: the monthly sends of the plan are used up.
الأخطاء التي يمكن أن تُرجعها أي عملية400401500دليل الأخطاء
متاح أيضًا في
GET/automations/{id}/versions
List the versions of an automation
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, asGET /automationslists it.
يُرجع
The versions.
الأخطاء
- 404
automation_not_foundwhen the id names no automation you can reach.
الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء
متاح أيضًا في
POST/automations/{id}/versions/{version}/restore
Restore a version into the draft
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, asGET /automationslists it.versionintegerمطلوبThe number of the version, as
GET /automations/{id}/versionslists it.على الأقل 1
يُرجع
The automation, with the version in its draft.
الأخطاء
- 404
automation_not_foundwhen the id names no automation you can reach, or, withparamset toversion, when it has no such version.- 409
automation_archived: an archived automation cannot be changed.
الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء
متاح أيضًا في
GET/automations/{id}/stats
How an automation has performed
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, asGET /automationslists it.
معلمات الاستعلام
sincestringWhere the window starts, as an ISO 8601 instant. Left out, 30 days before
until. It reaches back at most 366 days beforeuntil.التنسيقdate-timeuntilstringWhere the window ends, as an ISO 8601 instant. Left out, now.
التنسيقdate-time
يُرجع
The numbers for the window.
الأخطاء
- 404
automation_not_foundwhen the id names no automation you can reach.- 422
invalid_parameterwhen a time is not an ISO 8601 instant oruntilis not aftersince.
الأخطاء التي يمكن أن تُرجعها أي عملية400401403500دليل الأخطاء
متاح أيضًا في
GET/automations/{id}/enrollments
List the contacts in an automation
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, asGET /automationslists it.
معلمات الاستعلام
statusstringOnly enrollments in this state.
أحد"active""completed""exited"stepKeystringOnly contacts at the step with this
key.من 1 إلى 64 من الأحرفqstringOnly contacts whose address or name contains this text, compared without case.
حتى 200 من الأحرفlimitintegerRows per page, 1 to 200.
على الأقل 1على الأكثر 200الافتراضي50cursorstringThe 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 400invalid_cursor.
يُرجع
A page of enrollments.
الأخطاء
- 404
automation_not_foundwhen 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
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, asGET /automationslists it.
متن الطلب
contactIdstringThe contact, by id. Send this or
email, never both.من 1 إلى 64 من الأحرفemailstringThe contact, by email address. Send this or
contactId, never both.حتى 320 من الأحرفالتنسيقemaildataRecord<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, orcontact_not_foundwhen no contact has that id or address.- 409
automation_not_livewhen it is a draft, paused or archived.already_enrolledwhen the contact is in it or finished it too recently.contact_unreachablewhen the address is suppressed or unsubscribed.- 422
invalid_parameterwhen neither or both ofcontactIdandemailare sent, ordatais too large.
الأخطاء التي يمكن أن تُرجعها أي عملية400401403500دليل الأخطاء
متاح أيضًا في
GET/automations/{id}/enrollments/{enrollmentId}
Retrieve an enrollment
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, asGET /automationslists it.enrollmentIdstringمطلوبThe enrollment, such as
aen_2b8d4f6a1c3e5079b6d8f0a2, asGET /automations/{id}/enrollmentslists it.
يُرجع
The enrollment with its runs.
الأخطاء
الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء
متاح أيضًا في
POST/automations/{id}/enrollments/{enrollmentId}/exit
Take a contact out of an automation
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, asGET /automationslists it.enrollmentIdstringمطلوبThe enrollment, such as
aen_2b8d4f6a1c3e5079b6d8f0a2, asGET /automations/{id}/enrollmentslists it.
يُرجع
The enrollment, exited.
الأخطاء
- 409
automation_enrollment_finished: the contact already completed or left.
الأخطاء التي يمكن أن تُرجعها أي عملية400401403422500دليل الأخطاء
متاح أيضًا في
الكائنات
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.
يمكن أن يكون nullstatusstringمطلوبdraftuntil the first publish.livetakes contacts in and moves them along.pausedtakes nobody in and holds everyone where they are.archivedis 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.
على الأقل 0emailCountintegerمطلوبHow many of those steps send an email.
على الأقل 0hasUnpublishedChangesbooleanمطلوب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.
يمكن أن يكون nullpausedReasonstringمطلوبWhy it is paused.
manualis a person. The others are OpenEmail stopping it:sender_refusedwhen its from address can no longer send,key_revokedwhen the API key that published it was revoked, expired or turned off,template_unavailablewhen one of its templates can no longer be sent,audience_missingwhen an audience it depends on is gone, andplan_limitwhen 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.
يمكن أن يكون nullcountsobjectمطلوبContacts, counted at the moment of the read.
activeintegerمطلوبIn the automation now.
على الأقل 0completedintegerمطلوبReached the end of a path, in all its time.
على الأقل 0exitedintegerمطلوب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.
يمكن أن يكون nullpublishedAtstringمطلوبThe last publish. Null until the first.
يمكن أن يكون nullالتنسيقdate-timepausedAtstringمطلوبWhen it was paused. Null while it is not.
يمكن أن يكون nullالتنسيقdate-timearchivedAtstringمطلوبWhen it was archived. Null otherwise.
يمكن أن يكون nullالتنسيقdate-timecreatedAtstringمطلوبWhen it was made.
التنسيقdate-timeupdatedAtstringمطلوبThe last save. Send it back as
expectedUpdatedAtso a change never overwrites one you have not seen.التنسيقdate-timedefinitionobjectمطلوب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.
يمكن أن يكون nullkindstringمطلوب- أحد
"audience_joined" audienceIdstringمطلوب- حتى 64 من الأحرف
includeImportedbooleanمطلوب
entrystringمطلوبThe
keyof 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 innext, or inyesandnofor 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.
يمكن أن يكون nulltriggerobjectمطلوبWhat puts a contact into the automation. Null in a draft that has none yet, and a draft cannot be published without one.
يمكن أن يكون nullkindstringمطلوب- أحد
"audience_joined" audienceIdstringمطلوب- حتى 64 من الأحرف
includeImportedbooleanمطلوب
entrystringمطلوبThe
keyof 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 innext, or inyesandnofor 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.UTCuntil you set one.من 1 إلى 64 من الأحرفsendWindowobjectمطلوبWhen emails may go out:
daysof the week (0 is Sunday) andstartMinutetoendMinuteof the day, counted from midnight. An email due outside it waits for the window to open. Null sends at any time.يمكن أن يكون nulldaysinteger[]مطلوب- حتى 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على الأكثر 3650exitOnLeavebooleanمطلوب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.
يمكن أن يكون nullcontactobjectمطلوبidstringمطلوبThe id of the contact.
emailstringمطلوب- التنسيق
email namestringمطلوب- يمكن أن يكون null
statusstringمطلوبactivewhile the contact is in it,completedat the end of a path,exitedwhen 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
keyof the step the contact is at, or was at when they finished. Null before the first step.يمكن أن يكون nullwaitingbooleanمطلوبTrue while the contact sits in a wait step.
waitingForEventstringمطلوبThe event name a wait step is holding out for. Null otherwise.
يمكن أن يكون nullheldForstringمطلوبWhy a step that is due has not run:
windowfor the sending window,quotafor the monthly sends,lanewhen the broadcast lane of the workspace is paused,retryafter 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-timeexitReasonstringمطلوبHow it ended:
completed, an exit step (exit_step),unsubscribed,suppressed,left_audience, taken out by a person or a call (removed), the automation wasarchived, or a stepfailedfor 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.
يمكن أن يكون nullstartedAtstringمطلوبWhen the contact entered.
التنسيقdate-timefinishedAtstringمطلوبWhen they completed or left. Null while active.
يمكن أن يكون nullالتنسيقdate-timeupdatedAtstringمطلوب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.
يمكن أن يكون nullcontactobjectمطلوبidstringمطلوبThe id of the contact.
emailstringمطلوب- التنسيق
email namestringمطلوب- يمكن أن يكون null
statusstringمطلوبactivewhile the contact is in it,completedat the end of a path,exitedwhen 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
keyof the step the contact is at, or was at when they finished. Null before the first step.يمكن أن يكون nullwaitingbooleanمطلوبTrue while the contact sits in a wait step.
waitingForEventstringمطلوبThe event name a wait step is holding out for. Null otherwise.
يمكن أن يكون nullheldForstringمطلوبWhy a step that is due has not run:
windowfor the sending window,quotafor the monthly sends,lanewhen the broadcast lane of the workspace is paused,retryafter 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-timeexitReasonstringمطلوبHow it ended:
completed, an exit step (exit_step),unsubscribed,suppressed,left_audience, taken out by a person or a call (removed), the automation wasarchived, or a stepfailedfor 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.
يمكن أن يكون nullstartedAtstringمطلوبWhen the contact entered.
التنسيقdate-timefinishedAtstringمطلوبWhen they completed or left. Null while active.
يمكن أن يكون nullالتنسيقdate-timeupdatedAtstringمطلوبThe last time anything about the enrollment changed.
التنسيقdate-timerunsobject[]مطلوبWhat each step did for the contact, oldest first.
idstringمطلوبstepKeystringمطلوبThe
keyof 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 waitwaitedout, a branch answeredyesorno, the contactaddedto orremovedfrom an audience, a fieldupdated, a webhookcalled, the pathexited, the stepskipped, or itfailed.أحد"sent""skipped""waited""yes""no""added""removed""updated""called""exited""failed"emailIdstringمطلوبThe email a send step sent, as
GET /emailslists it. Null for every other step.يمكن أن يكون nulldetailstringمطلوبWhy a step was skipped or failed, or how a wait ended.
يمكن أن يكون nullcreatedAtstringمطلوبWhen the step ran.
التنسيقdate-time
AutomationEnrollmentListobject
objectstring- أحد
"list" hasMorebooleanTrue when another page follows. Pass
nextCursorback ascursorto read it.nextCursorstringThe id of the last row on this page, or null on the last page.
يمكن أن يكون nullautomationIdstringThe automation the enrollments belong to.
AutomationListobject
objectstring- أحد
"list" hasMorebooleanTrue when another page follows. Pass
nextCursorback ascursorto read it.nextCursorstringThe 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.templateIdorsettings.timezone.stepKeystringمطلوبThe
keyof the step at fault. Null when it is the trigger or a setting.يمكن أن يكون nullmessagestringمطلوب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 /automationstakes asstarter.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.
يمكن أن يكون nullkindstringمطلوب- أحد
"audience_joined" audienceIdstringمطلوب- حتى 64 من الأحرف
includeImportedbooleanمطلوب
entrystringمطلوبThe
keyof 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 innext, or inyesandnofor 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>مطلوب
AutomationStarterListobject
objectstring- أحد
"list"
AutomationStatsobject
objectstringمطلوب- أحد
"automation_stats" automationIdstringمطلوبsincestringمطلوبWhere the window starts.
التنسيقdate-timeuntilstringمطلوبWhere the window ends.
التنسيقdate-timetotalsobjectمطلوبThe whole automation over the window.
enteredintegerContacts that entered.
على الأقل 0activeintegerContacts in it now, whatever the window.
على الأقل 0completedintegerContacts that reached the end of a path.
على الأقل 0exitedintegerContacts that left early.
على الأقل 0sentintegerEmails sent.
على الأقل 0deliveredintegerEmails delivered.
على الأقل 0openedintegerEmails opened. Many mail apps hide opens, so read it as a floor.
على الأقل 0clickedintegerEmails with a click.
على الأقل 0bouncedintegerEmails that bounced.
على الأقل 0complainedintegerEmails marked as spam.
على الأقل 0unsubscribedintegerContacts that unsubscribed from one of its emails.
على الأقل 0
stepsobject[]مطلوبThe same numbers for each step.
stepKeystringThe
keyof the step.kindstring- أحد
"send_email""wait""branch""add_to_audience""remove_from_audience""update_field""webhook""exit" enteredintegerContacts that reached the step.
على الأقل 0waitingintegerContacts sitting at the step now.
على الأقل 0completedintegerContacts whose path ended at the step.
على الأقل 0exitedintegerContacts that left early at the step.
على الأقل 0sentintegerEmails the step sent.
على الأقل 0skippedintegerTimes the step did nothing, such as an address that cannot receive mail.
على الأقل 0failedintegerTimes the step failed for good.
على الأقل 0yesintegerContacts a branch sent down yes.
على الأقل 0nointegerContacts a branch sent down no.
على الأقل 0deliveredintegerEmails of the step that were delivered.
على الأقل 0openedintegerEmails of the step that were opened.
على الأقل 0clickedintegerEmails of the step with a click.
على الأقل 0bouncedintegerEmails of the step that bounced.
على الأقل 0complainedintegerEmails of the step marked as spam.
على الأقل 0unsubscribedintegerContacts 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.
daystringThe start of the day, in UTC.
التنسيقdate-timeenteredintegerContacts that entered that day.
على الأقل 0completedintegerContacts that completed that day.
على الأقل 0exitedintegerContacts that left early that day.
على الأقل 0sentintegerEmails 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.
يمكن أن يكون nullstatusstringمطلوبdraftuntil the first publish.livetakes contacts in and moves them along.pausedtakes nobody in and holds everyone where they are.archivedis 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.
على الأقل 0emailCountintegerمطلوبHow many of those steps send an email.
على الأقل 0hasUnpublishedChangesbooleanمطلوب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.
يمكن أن يكون nullpausedReasonstringمطلوبWhy it is paused.
manualis a person. The others are OpenEmail stopping it:sender_refusedwhen its from address can no longer send,key_revokedwhen the API key that published it was revoked, expired or turned off,template_unavailablewhen one of its templates can no longer be sent,audience_missingwhen an audience it depends on is gone, andplan_limitwhen 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.
يمكن أن يكون nullcountsobjectمطلوبContacts, counted at the moment of the read.
activeintegerمطلوبIn the automation now.
على الأقل 0completedintegerمطلوبReached the end of a path, in all its time.
على الأقل 0exitedintegerمطلوب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.
يمكن أن يكون nullpublishedAtstringمطلوبThe last publish. Null until the first.
يمكن أن يكون nullالتنسيقdate-timepausedAtstringمطلوبWhen it was paused. Null while it is not.
يمكن أن يكون nullالتنسيقdate-timearchivedAtstringمطلوبWhen it was archived. Null otherwise.
يمكن أن يكون nullالتنسيقdate-timecreatedAtstringمطلوبWhen it was made.
التنسيقdate-timeupdatedAtstringمطلوبThe last save. Send it back as
expectedUpdatedAtso 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.
التنسيقemailstepKeystringمطلوبThe step that was sent.
AutomationVersionobject
objectstringمطلوب- أحد
"automation_version" idstringمطلوبautomationIdstringمطلوبversionintegerمطلوبCounts up from 1 with each publish that changed the definition.
على الأقل 1definitionobjectمطلوب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.
يمكن أن يكون nullkindstringمطلوب- أحد
"audience_joined" audienceIdstringمطلوب- حتى 64 من الأحرف
includeImportedbooleanمطلوب
entrystringمطلوبThe
keyof 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 innext, or inyesandnofor 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.
يمكن أن يكون nullcreatedAtstringمطلوبWhen it was published.
التنسيقdate-time
AutomationVersionListobject
objectstring- أحد
"list"
DeletedAutomationobject
objectstringمطلوب- أحد
"automation" idstringمطلوبdeletedbooleanمطلوب- أحد
true