How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Omnisend Automations API

The Automations API from Omnisend — 13 operation(s) for creating, enabling, copying and restructuring event-triggered automation workflows, including the sendWebhook action block that is Omnisend's only outbound webhook mechanism.

Omnisend Automations API is one of 15 APIs that Omnisend publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 2 JSON Schema definitions.

Tagged areas include Automations, Workflows, and Webhook. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, authentication docs, a JSON-LD context, and 2 JSON Schemas.

This API exposes 13 operations across 9 paths, and defines 103 schemas. It is described by OpenAPI 3.0.0, at version 2026-preview.

Requests are made against a single base URL, https://api.omnisend.com/api.

13 operations 9 paths 103 schemas 1 DELETE4 GET1 PATCH5 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
2026-preview
Base URL
https://api.omnisend.com/api
Authentication
API Key, OAuth 2.0
Resource Areas
1

Authentication & Security 2

Omnisend Automations API declares 2 security schemes for authenticating requests. An API key is passed in the header as Authorization (ApiKeyAuth). It supports OAuth 2.0 (Bearer) using the clientCredentials flow, exposing 2 scopes.

  • ApiKeyAuth — API key authentication. Use format: Omnisend-API-Key {api-key}

Paths & Operations 13

Across 9 paths, the API surfaces 13 operations — 1 DELETE, 4 GET, 1 PATCH, 5 POST, 2 PUT. Each is listed below with its method, path, parameters, and response codes.

Automations 13
GET
/automations
List automation workflows
12 params → 200400401403410429500
POST
/automations
Create automation workflow
1 param body → 201400401403410429500
DELETE
/automations/{id}
Delete automation workflow
2 params → 204400401403410429500
GET
/automations/{id}
Get automation workflow
2 params → 200400401403404410429500
PATCH
/automations/{id}
Patch automation workflow
2 params body → 200400401403404409410429
PUT
/automations/{id}/blocks
Replace automation workflow blocks
2 params body → 200400401403404409410429
POST
/automations/{id}/blocks/{blockID}/test-email
Send test email
3 params body → 204400401402403404409410
GET
/automations/{id}/blocks/{blockID}/utm
Get UTM tags for an automation block
3 params → 200400401403404410429500
PUT
/automations/{id}/blocks/{blockID}/utm
Update UTM tags for an automation block
3 params body → 200400401403404410429500
POST
/automations/{id}/copy
Copy automation workflow
2 params body → 201400401403404410429500
POST
/automations/{id}/disable
Disable automation workflow
2 params body → 200400401403404410429500
POST
/automations/{id}/enable
Enable automation workflow
2 params body → 200400401403404409410429
GET
/automations/{id}/utm
Get aggregated UTM tags for all blocks
2 params → 200400401403404410429500

Schemas 103

The contract defines 103 schemas that model the data the API accepts and returns. The most detailed are Automation (12 properties), SendEmailRequest (8 properties), InputSendEmail (8 properties), SendEmail (8 properties). Each schema is shown below with its type and property counts.

ABTesting
object
A/B testing block configuration. Splits contacts randomly between two variants based on aBlocksPercentage. bBlocks receives the remaining percentage (100 - aBl…
3 properties
Action
object
Action block configuration. Exactly one action-specific field is populated based on the type discriminator.
7 properties
ActionRequest
object
Action block configuration for creation. Exactly one action-specific field must be populated based on the type discriminator. The action-specific configuration…
7 properties 1 required
AggregateUTMResponse
object
Aggregated UTM tracking tags for all send-action blocks in an automation.
1 property
AggregateUTMResponseBlock
object
UTM tracking tags for a single block within the aggregate response.
2 properties
Automation
object
Automation workflow resource
12 properties
Block
object
Automation workflow block. Exactly one of delay, action, split, or abTesting is populated based on the type discriminator.
6 properties
ConflictProblem
object
Error response returned when the automation state prevents the operation.
6 properties
ContactFilter
object
Contact filter condition applied to contact properties.
3 properties
ContactFilterGroup
object
Contact filter group containing one or more contact filters combined by a logical operator.
2 properties
ContactFilterGroupRequest
object
Contact filter group containing one or more contact filters combined by a logical operator.
2 properties 2 required
ContactFilterRequest
object
Contact filter condition applied to contact properties. Each of the 10 supported fields has a fixed set of allowed operators and a specific value shape: | Fiel…
3 properties 3 required
CopyAutomationRequest
object
Copy automation workflow request.
1 property
CreateABTestingRequest
object
A/B test block configuration for creation. Contacts are randomly assigned to branch A (aBlocksPercentage %) or branch B (remainder). At least one of aBlocks or…
3 properties 1 required
CreateAutomationRequest
object
Create automation workflow request.
5 properties 3 required
CreateBlockRequest
object
Automation workflow block for creation. Exactly one of the type-specific fields (action, delay, split, abTesting) must be populated based on the type discrimin…
6 properties 2 required
CreateDelayRequest
object
Delay block configuration for creation. Constraint: A delay block cannot be the last block in its sequence. At least one action block must follow it. This appl…
4 properties 1 required
CreateDurationRequest
object
Duration configuration for delay creation.
2 properties 2 required
CreateSettingsRequest
object
Automation settings configuration for create. All sub-fields are optional — omit to use engine defaults. sendingThresholds does not accept null — sending null…
3 properties
CreateSplitRequest
object
Conditional split block configuration for creation. Filter types (event, contact, message) can be mixed in one group. At least one of trueBlocks or falseBlocks…
3 properties 1 required
CreateTriggerCondition
object
Trigger condition for automation creation — specifies the event that starts the automation and optional event-property filter groups evaluated before the workf…
3 properties 1 required
CreateTriggerRequest
object
Trigger configuration for automation creation. The condition.event field identifies what triggers the automation workflow. Most events are standard events rece…
3 properties 1 required
CursorsResponse
object
Cursor pointers for paginating forward and backward through results
2 properties
Delay
object
Delay block configuration. The mode field determines the delay behavior: - "duration": wait for the specified amount of time units - "immediate": no wait, proc…
4 properties
DisableAutomationRequest
object
Disable an automation workflow. Once disabled, the workflow stops accepting new trigger events. The contactsInWorkflow field determines what happens to contact…
1 property 1 required
DiscountCombinesWith
object
Discount combination rules.
3 properties
DiscountExpiry
object
Discount expiry configuration.
3 properties
DiscountScope
object
Discount scope — determines what orders or products the discount applies to. The conditions field controls scoping behavior: - "allOrders": discount applies to…
4 properties
DiscountSettings
object
Discount configuration. The type field determines the discount behavior and how value is interpreted: - "percentage": value is a whole number string representi…
6 properties
Duration
object
Duration configuration for a relative delay.
2 properties
DurationRequest
object
Duration amount and unit for inactivity settings.
2 properties 2 required
EnableAutomationRequest
object
Enable an automation workflow. Once enabled, the workflow starts processing trigger events in real time. Use enrollExisting to also enroll contacts who already…
1 property
EventFilter
object
Event filter condition applied to event properties.
3 properties
EventFilterGroup
object
Event filter group containing one or more event filters combined by a logical operator.
2 properties
EventFilterGroupRequest
object
Event filter group containing one or more event property filters combined by a logical operator.
2 properties 2 required
EventFilterRequest
object
Event filter condition applied to event properties. Use a property path returned by the [event metadata endpoint](https://api-docs.omnisend.com/v2026-preview/r…
3 properties 2 required
ExitCondition
object
Exit condition that removes contacts from the automation workflow when a matching event occurs.
3 properties
ExitConditionRequest
object
Exit condition configuration. When a contact triggers any exit condition event, they are immediately removed from the automation workflow.
3 properties 1 required
FieldError
object
A single field validation failure within a validation error response.
3 properties
FrequencyIntervalDuration
object
Frequency interval duration. The response always reports the duration in the largest time unit that divides it evenly: weeks when the interval is a whole numbe…
2 properties
FrequencyIntervalDurationRequest
object
Frequency interval duration. Per-unit caps: 8760 hours, 365 days, 52 weeks.
2 properties 2 required
FrequencyLimiter
object
Frequency limiter controls how often the same contact can enter the automation. When present, the limiter is active. Omit or set to null to disable. The mode f…
2 properties
FrequencyLimiterRequest
object
Frequency limiter — restricts how often the same contact can re-enter the automation. Provide an object to enable; omit or send null to disable. The mode field…
2 properties 1 required
InactivitySettings
object
Trigger inactivity time defines how long a contact must remain inactive before the automation triggers. The contact must first match the trigger filters. If th…
1 property
InactivitySettingsRequest
object
Inactivity settings — fires the workflow only after the contact has gone quiet (no new triggering events) for the given duration. Each new triggering event res…
1 property 1 required
InputActionRequest
object
Action block configuration for full replacement. Exactly one action-specific field must be populated based on the type discriminator. The action-specific confi…
7 properties 1 required
InputSendEmail
object
Send email action configuration for PUT (full replacement). For new blocks (identified by temporaryID): templateID is required. For existing blocks (identified…
8 properties 4 required
InputTagAction
object
Tag action configuration.
1 property 1 required
ListAutomationsResponse
object
Paginated list of automations
2 properties
OverlapLimiter
object
Overlap limiter prevents a contact from entering this automation when they are already in, or were recently in, other specified automations. When present, the…
3 properties
OverlapLimiterRequest
object
Overlap limiter — prevents enrolling a contact who is already in (or recently completed) one of the listed automations. The mode field selects the check: - "cu…
3 properties 2 required
PagingResponse
object
Cursor-based pagination metadata
3 properties
PatchABTestingRequest
object
A/B test block configuration for PATCH — only aBlocksPercentage is patchable. Branches (aBlocks, bBlocks) cannot be changed via PATCH. Use PUT /automations/{id…
1 property 1 required
PatchActionRequest
object
Action block configuration for partial update. Only the fields explicitly provided are updated.
7 properties 1 required
PatchAutomationRequest
object
Patch automation workflow request. All fields are optional — only provided fields are updated. trigger fields are patched individually — only sub-fields within…
5 properties
PatchBlockRequest
object
Automation workflow block for PATCH — updates an existing block only. id is required to identify the target block. action.sendEmail is patched field-by-field (…
6 properties 2 required
PatchSendEmailRequest
object
Send email action configuration for partial update. All fields are optional — only the fields explicitly provided are updated. replyToEmail accepts null or ""…
7 properties
PatchSendPushRequest
object
Send push notification action configuration for partial update. All fields are optional — only the fields explicitly provided are updated. iconID and imageID a…
6 properties
PatchSendSmsRequest
object
SMS action configuration for partial update. All fields are optional — only the fields explicitly provided are updated. imageID accepts null or "" to remove th…
5 properties
PatchSendWebhookRequest
object
Send webhook action configuration for partial update. All fields are optional — only the fields explicitly provided are updated. Send null or an empty array ([…
3 properties
PatchSettingsRequest
object
Automation settings patch. Each sub-field follows partial-update semantics: omit to leave unchanged, send a value to replace. sendingThresholds does not accept…
3 properties
PatchSplitRequest
object
Split block configuration for PATCH — only the filterGroup is replaced. Branches (trueBlocks, falseBlocks) cannot be changed via PATCH. Use PUT /automations/{i…
1 property 1 required
PatchTriggerCondition
object
Trigger condition for PATCH. When sent, the entire trigger condition (event, origin, and filter groups) is replaced in full — partial updates of individual con…
3 properties 1 required
PatchTriggerRequest
object
Trigger configuration for PATCH. Tri-state per field — omit to leave unchanged, send a value to replace, send null to clear (where the schema marks the field n…
3 properties
Problem
object
Standard error response returned by all API endpoints on failure.
5 properties
PutBlocksRequest
object
Replace all blocks in an automation workflow.
1 property 1 required
RateLimitProblem
object
Error response returned when the rate limit is exceeded. Use the retryAfter value to know when it is safe to retry the request.
6 properties
SendEmail
object
Send email action configuration. contentID references an Email Template entity documented in the [Email Templates API](https://api-docs.omnisend.com/reference/…
8 properties
SendEmailRequest
object
Send email action configuration for automation creation. templateID references an Email Template entity documented in the [Email Templates API](https://api-doc…
8 properties 5 required
SendPush
object
Send push notification action configuration.
6 properties
SendPushRequest
object
Send push notification action configuration. Used for both POST (creation) and PUT (full replacement) — the request shape is identical for both. iconID and ima…
6 properties 3 required
SendSms
object
Send SMS action configuration.
6 properties
SendSmsRequest
object
SMS action configuration. Used for both POST (creation) and PUT (full replacement). imageID references an image entity documented in the [Images API](https://a…
5 properties 2 required
SendTestEmailRequest
object
Send a test email for an automation email block to the given recipients. The saved email content is rendered and delivered asynchronously.
1 property 1 required
SendWebhook
object
Sends an HTTP POST request to the specified URL with the provided headers and body.
3 properties
SendWebhookRequest
object
Send webhook action configuration. Used for both POST (creation) and PUT (full replacement) — the request shape is identical for both. Sends an HTTP POST reque…
3 properties 2 required
SendingThresholds
object
Sending thresholds control which contacts receive messages at each send block (email, SMS, push) based on their subscription status. These settings do not affe…
2 properties
SendingThresholdsRequest
object
Sending thresholds — controls which contacts receive messages at each send block (email, SMS) based on subscription status. When provided, both email and sms a…
2 properties 2 required
Settings
object
Automation settings.
4 properties
SmsCompliance
object
SMS compliance text settings. Controls opt-out and unsubscribe text appended to the SMS body. By default, both stop keyword and unsubscribe link are enabled. W…
4 properties
SmsComplianceRequest
object
SMS compliance settings for POST / PUT. Controls whether the opt-out keyword and unsubscribe link are included in the message.
4 properties
Split
object
Conditional split block configuration.
3 properties
SplitFilter
object
Split filter condition. The type discriminator determines the filter category. For event/contact filters, field and operator follow the same rules as EventFilt…
5 properties
SplitFilterGroup
object
Split filter group containing one or more filters of mixed types (event, contact, message) combined by a logical operator. At least one filter is required.
2 properties
SplitFilterGroupRequest
object
Split filter group containing one or more filters of mixed types (event, contact, message) combined by a logical operator.
2 properties 2 required
SplitFilterRequest
object
Split filter — the type discriminator determines which fields and operators are valid. | type | field | operator | value | urlMatch | |---|---|---|---|---| | e…
5 properties 3 required
TagAction
object
Tag action configuration. Used by both addTag and removeTag action types.
1 property
Trigger
object
Automation trigger configuration.
3 properties
TriggerCondition
object
Trigger condition — the event that triggers the automation workflow, together with optional event-property filters. The event field identifies what triggers th…
3 properties
UTMResponse
object
UTM tracking tags for a single automation block.
1 property
UTMTags
object
UTM tracking tag values.
3 properties
UTMTagsInput
object
UTM tracking tag values for an update request. All three fields must be provided — send an empty string to clear a field (which resets it to its default value…
3 properties 3 required
UpdateABTestingRequest
object
A/B test block configuration for full replacement (PUT). At least one of aBlocks or bBlocks must be non-empty.
3 properties 1 required
UpdateBlockRequest
object
Automation workflow block for PUT — can create a new block (via temporaryID) or update an existing one (via id). Exactly one of the type-specific fields must b…
7 properties 1 required
UpdateDelayRequest
object
Delay block configuration for full replacement (PUT and PATCH). All fields of the delay are replaced atomically — this is not a partial update. Re-send the com…
4 properties 1 required
UpdateDurationRequest
object
Duration configuration for delay replacement (PUT and PATCH).
2 properties 2 required
UpdateSmsCompliance
object
SMS compliance settings for PATCH (full replacement of the compliance object). Both toggle fields are required when this object is provided. Cannot be aliased…
4 properties 2 required
UpdateSplitRequest
object
Conditional split block configuration for full replacement (PUT). All fields of the split are replaced atomically — this is not a partial update. Re-send the c…
3 properties 1 required
UpdateUTMRequest
object
Update UTM tracking tags for an automation block. All three tag fields (source, medium, campaign) must be provided. Send an empty string for any field to clear…
1 property 1 required
UrlMatch
object
URL match condition for clicked message filters.
2 properties
UrlMatchRequest
object
URL match condition for clicked message filters (clickedEmail, clickedSms, clickedPush). When operator is "any", value may be omitted. For all other operators,…
2 properties 1 required
ValidationProblem
object
Error response returned when the request contains invalid input. The errors array lists every field that failed validation.
6 properties
WebhookHeader
object
A single webhook HTTP header.
2 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

omnisend-automations-api-openapi.yml Raw ↑

Other APIs Omnisend publishes across the network.

Omnisend Analytics API
Omnisend Batches API
Omnisend Brands API
Omnisend Campaigns API
Omnisend Contacts API
Omnisend EmailContent API
Omnisend EmailTemplates API
Omnisend EmailUniversalLayouts API
Omnisend Events API
Omnisend Images API
Omnisend ProductCategories API
Omnisend Products API
Where this information came from

This is an independent, third-party profile of Omnisend Automations API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.