MARKETING · EMAIL
Contacts, campaigns, automations, and segments in the store they connected.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
omnisend_delete_automations_by_idWRITEDelete automation workflow. DELETE /automations/{id}. Delete a single automation workflow by ID. This operation is idempotent — deleting a non-existent automation returns a success response. This endpoint is rate limited to 400 requests per minute.
omnisend_delete_campaigns_by_idWRITEDelete campaign. DELETE /campaigns/{id}. Delete a campaign. This endpoint is rate limited to 400 requests per minute.
omnisend_delete_contacts_tagsWRITEBatch remove tags. DELETE /contacts/tags. Removes the specified tags from contacts selected by contact IDs, emails, phone numbers or a segment. At least one of contactIDs, emails, phones or segmentID is required. Selectors can be combined and are applied additively — the tags are removed from the union of all matched contacts: every contact in contactIDs, every contact matched by an address in emails, every contact matched by a number in phones and every member of segmentID. A contact matched by more than one selector is processed once. Emails and phones with no matching contact are silently ignored.
omnisend_delete_email_templates_by_idWRITEDelete email template. DELETE /email-templates/{id}. With this endpoint you can delete email template by ID. This endpoint is rate limited to 400 requests per minute.
omnisend_delete_email_universal_layouts_by_idWRITEDelete universal layout. DELETE /email-universal-layouts/{id}. With this endpoint you can delete a universal layout by ID. This endpoint is rate limited to 400 requests per minute.
omnisend_delete_images_by_idWRITEDelete image. DELETE /images/{id}. With this endpoint you can delete an image by ID. This endpoint is rate limited to 400 requests per minute.
omnisend_delete_product_categories_by_categoryidWRITEDelete product category. DELETE /product-categories/{categoryID}. With this endpoint you can delete product category. Check POSTMAN documentation This endpoint is rate limited to 400 requests per minute.
omnisend_delete_products_by_productidWRITEDelete product. DELETE /products/{productID}. Delete product by ID This endpoint is rate limited to 400 requests per minute.
omnisend_delete_segments_by_segmentidWRITEDelete segment. DELETE /segments/{segmentID}. Permanently deletes a segment by its unique identifier. The segment must not be in a building state to be deleted. If the segment is currently being built, a 409 Conflict error is returned. This endpoint is rate limited to 100 requests per minute.
omnisend_get_automationsREADList automation workflows. GET /automations. List automation workflows with filtering, sorting, and cursor-based pagination. Pagination: This endpoint uses cursor-based pagination. Use the paging.cursors.after value from the response to get the next page Use the paging.cursors.before value to get the previous page The paging.hasMore field indicates if more results are available Maximum page size is 250 items. Default: 100 This endpoint is rate limited to 400 requests per minute.
omnisend_get_automations_by_idREADGet automation workflow. GET /automations/{id}. Get a single automation workflow by ID. This endpoint is rate limited to 400 requests per minute.
omnisend_get_automations_by_id_blocks_by_blockid_utmREADGet UTM tags for an automation block. GET /automations/{id}/blocks/{blockID}/utm. Retrieve UTM tracking tags for a specific send-action block. Missing or cleared tags are returned with their default values. This endpoint is rate limited to 400 requests per minute.
omnisend_get_automations_by_id_utmREADGet aggregated UTM tags for all blocks. GET /automations/{id}/utm. Retrieve UTM tracking tags for all send-action blocks in an automation. Each block's tags include default-value synthesis for missing fields. This endpoint is rate limited to 400 requests per minute.
omnisend_get_batchesREADGet batches. GET /batches. Get batches This endpoint is rate limited to 400 requests per minute.
omnisend_get_batches_by_batchidREADGet batch information. GET /batches/{batchID}. Get batch information This endpoint is rate limited to 400 requests per minute.
omnisend_get_batches_by_batchid_itemsREADGet batch items. GET /batches/{batchID}/items. Get batch items This endpoint is rate limited to 400 requests per minute.
omnisend_get_campaignsREADList campaigns with filtering, sorting, and cursor pagination. GET /campaigns. List campaigns with filtering, sorting, and cursor-based pagination. Filtering & sorting: Supported query parameters: nameContains, status, channel, type, parentCampaignID, createdAtFrom/createdAtTo, updatedAtFrom/updatedAtTo, sort, direction, limit, after, before. Only these documented parameters are accepted; any unknown parameter returns 400. sort accepts createdAt, updatedAt, or name; direction (asc/desc) is only valid together with sort. Pagination: This endpoint uses cursor-based pagination.
omnisend_get_campaigns_by_idREADGet campaign. GET /campaigns/{id}. Get a single campaign by ID. This endpoint is rate limited to 400 requests per minute.
omnisend_get_campaigns_by_id_utmREADGet campaign UTM settings. GET /campaigns/{id}/utm. Get UTM tag settings for a campaign. The response shape is the same for all campaign types: tags is populated for regular campaigns, variants for A/B campaigns. The absent field is omitted. This endpoint is rate limited to 400 requests per minute.
omnisend_get_contactsREADList contacts. GET /contacts. Returns a paginated list of contacts filtered by the provided query parameters. Filter restrictions: tag and status cannot be used together in the same request. updatedAtFrom cannot be combined with email, phone, status, segmentID, or tag. This endpoint is rate limited to 400 requests per minute.
omnisend_get_contacts_by_idREADGet contact. GET /contacts/{id}. Returns the contact with the specified ID. This endpoint is rate limited to 400 requests per minute.
omnisend_get_email_content_by_idREADGet email content. GET /email-content/{id}. With this endpoint you can get email content by ID. This endpoint is rate limited to 400 requests per minute.
omnisend_get_email_templatesREADGet email templates. GET /email-templates. With this endpoint you can get a paginated list of email templates. Sorting: Use sort and direction to control the order of results. Supported sort fields: createdAt (default), name. Supported directions: asc, desc (default). Filtering: Use nameContains to filter templates by name (case-insensitive partial match, max 200 characters) Pagination: This endpoint uses cursor-based pagination for efficient traversal of large datasets.
omnisend_get_email_templates_by_idREADGet email template. GET /email-templates/{id}. With this endpoint you can get email template by ID. This endpoint is rate limited to 400 requests per minute.
omnisend_get_email_universal_layoutsREADGet universal layouts. GET /email-universal-layouts. With this endpoint you can get a paginated list of universal layouts. Sorting: Items are returned in descending order by creation time (newest first). This is based on the internal document ID which contains a timestamp. Pagination: This endpoint uses cursor-based pagination for efficient traversal of large datasets.
omnisend_get_email_universal_layouts_by_idREADGet universal layout. GET /email-universal-layouts/{id}. With this endpoint you can get a universal layout by ID. This endpoint is rate limited to 400 requests per minute.
omnisend_get_forms_ab_setups_by_absetupid_reportREADGet AB setup report. GET /forms/ab-setups/{abSetupID}/report. Get the report for an AB setup by its ID, including per-version form statistics.
omnisend_get_forms_by_formid_contactsREADGet form submitted contacts. GET /forms/{formID}/contacts. Get a list of contacts for a form by form ID.
omnisend_get_imagesREADList images. GET /images. With this endpoint you can get a paginated list of images for a brand. Sorting: Supported sort fields: createdAt (default), name Supported directions: asc, desc (default) Filtering: Use nameContains to filter images by name (case-insensitive, partial match) Pagination: This endpoint uses cursor-based pagination for efficient traversal of large datasets.
omnisend_get_images_by_idREADGet image. GET /images/{id}. With this endpoint you can get a single image by ID. This endpoint is rate limited to 400 requests per minute.
omnisend_get_product_categoriesREADList product categories. GET /product-categories. List products categories Guide: Sync products catalog, categories Check POSTMAN documentation This endpoint is rate limited to 400 requests per minute.
omnisend_get_product_categories_by_categoryidREADGet product category. GET /product-categories/{categoryID}. Get product category by ID. Check POSTMAN documentation This endpoint is rate limited to 400 requests per minute.
omnisend_get_productsREADList products. GET /products. List products Guide: Sync products catalog, categories This endpoint is rate limited to 400 requests per minute.
omnisend_get_products_by_productidREADGet product. GET /products/{productID}. Get product by ID This endpoint is rate limited to 400 requests per minute.
omnisend_get_segmentsREADList segments. GET /segments. List segments with sorting and cursor-based pagination support. Pagination: This endpoint uses cursor-based pagination. Use the after cursor from the response to get the next page, or the before cursor to get the previous page. Do not use both after and before parameters simultaneously. Sorting: Only single-field sorting is supported. You cannot sort by multiple fields. Available sort fields: createdAt (default), name. When sorting by name, segments are sorted lexicographically (case-sensitive). Sort parameters are only required on the first request.
omnisend_get_segments_by_segmentidREADGet segment. GET /segments/{segmentID}. Returns a segment by its unique identifier. This endpoint is rate limited to 100 requests per minute.
omnisend_get_segments_by_segmentid_statisticsREADGet segment statistics. GET /segments/{segmentID}/statistics. Returns statistics for a segment, including the total number of matching contacts. This endpoint is rate limited to 100 requests per minute.
omnisend_patch_automations_by_idWRITEPatch automation workflow. PATCH /automations/{id}. Partially update an automation workflow. Only the fields provided in the request body are updated. Enabled automations cannot be patched. Disable the automation via POST /automations/{id}/disable, make changes, then re-enable via POST /automations/{id}/enable when ready. When disabling, contactsInWorkflow controls whether contacts already in the workflow continue through the remaining blocks (keep) or exit immediately (exit). Enable/disable state is controlled exclusively via the /automations/{id}/enable and /automations/{id}/disable endpoints.
omnisend_patch_brands_currentWRITEUpdate brand. PATCH /brands/current. Update brand information. All fields are optional — include only the fields you want to change. OAuth connections only; refused on an API-key connection.
omnisend_patch_campaigns_by_idWRITEUpdate campaign (draft status only). PATCH /campaigns/{id}. Update a campaign draft. Only campaigns in 'draft' status can be updated; any other status returns 409. To change a campaign that is no longer a draft, copy it and edit the new draft copy. This endpoint is rate limited to 400 requests per minute.
omnisend_patch_contactsWRITEUpdate contact by email. PATCH /contacts. Updates the contact matching the provided email address. This endpoint is rate limited to 400 requests per minute.
omnisend_patch_contacts_by_idWRITEUpdate contact by ID. PATCH /contacts/{id}. Updates the contact with the specified ID. This endpoint is rate limited to 400 requests per minute.
omnisend_patch_product_categories_by_categoryidWRITEUpdate product category. PATCH /product-categories/{categoryID}. Update product category by ID. Check POSTMAN documentation This endpoint is rate limited to 400 requests per minute.
omnisend_post_accountsWRITECreate account. POST /accounts. Create a new Omnisend account with a primary user and brand. Returns identifiers needed for subsequent session and brand operations. OAuth connections only; refused on an API-key connection.
omnisend_post_analytics_reportsWRITEGenerate report (by send date). POST /analytics/reports. Returns aggregated marketing analytics grouped by message send date. Covers delivery, engagement, and revenue attribution metrics for campaigns and automations. Supports optional dimensions (timestamp, channel, activity), filters, and up to 4 queries per request. This endpoint is rate limited to 10 requests per minute and 55 requests per 24 hours. Rate limits apply per brand. See Rate limits.
omnisend_post_analytics_statisticsWRITEGenerate statistics report (by event date). POST /analytics/statistics. Returns aggregated marketing analytics grouped by event date (when opens, clicks, orders actually occurred). Covers delivery, engagement, revenue attribution, and audience growth metrics. Requires a timestamp dimension. Supports a rich set of dimensions (client, click, subscription, deliverability) and up to 4 queries per request. This endpoint is rate limited to 10 requests per minute and 55 requests per 24 hours. Rate limits apply per brand. See Rate limits.
omnisend_post_automationsWRITECreate automation workflow. POST /automations. Create a new automation workflow. Trigger condition examples The trigger.condition field defines the event that enrolls contacts into the automation. Most trigger events use standard Events API event names and may require origin. Built-in trigger events, such as 'birthday', do not use origin. For the 'birthday' trigger, omit trigger.condition.filterGroups to enroll contacts on the day of their birthday.
omnisend_post_automations_by_id_blocks_by_blockid_test_emailWRITESend test email. POST /automations/{id}/blocks/{blockID}/test-email. Send the saved email content of a specific email block as a test email to up to 5 recipients. The email is rendered and delivered asynchronously. This endpoint is rate limited to 400 requests per minute.
omnisend_post_automations_by_id_copyWRITECopy automation workflow. POST /automations/{id}/copy. Create a copy of an existing automation workflow. The copy is always created in a disabled state, regardless of the source automation's status. The request body is optional. When provided, you can specify a custom name for the copy. When omitted (or when name is empty), the copy is named 'Copy of: '. This endpoint is rate limited to 400 requests per minute.
omnisend_post_automations_by_id_disableWRITEDisable automation workflow. POST /automations/{id}/disable. Disable an automation workflow. Once disabled, the workflow stops accepting new trigger events. Use contactsInWorkflow to control what happens to contacts currently progressing through the workflow: keep: contacts remain and continue through the remaining blocks until completion. No new contacts enter. exit: all contacts are immediately removed from the workflow. Contacts who have not yet received their messages will not receive them. Disabling an already-disabled automation is idempotent — returns the current state without side effects.
omnisend_post_automations_by_id_enableWRITEEnable automation workflow. POST /automations/{id}/enable. Enable an automation workflow. Once enabled, the workflow starts processing trigger events in real time. The request body is optional. Use enrollExisting to also enroll contacts who already qualify at the time of enabling. When the body is omitted (or enrollExisting is omitted or false), only future trigger events are processed. Enabling an already-enabled automation is idempotent — returns the current state without side effects. This endpoint is rate limited to 400 requests per minute.
omnisend_post_batchesWRITECreate batch. POST /batches. Batch operations allow for multiple actions of a similar type to be executed in a single request. Utilizing the batch endpoint is recommended to avoid hitting rate limits and to enhance overall performance. Creating batches is an asynchronous process that initiates the creation or updating of the specified items. POST batch operations to create multiple items simultaneously. PUT batch operations to apply multiple updates to multiple items. Each batch operation can include up to 100 actions. The required scopes depend on the type of batch operation being performed.
omnisend_post_brands_currentWRITEConnect brand. POST /brands/current. With this endpoint you can connect your site to Omnisend. Note it's only possible to connect store with oAuth flow. This endpoint is rate limited to 400 requests per minute. OAuth connections only; refused on an API-key connection.
omnisend_post_campaignsWRITECreate campaign. POST /campaigns. Create a new campaign draft. Boosters (type: booster): The parent campaign (boosterSettings.campaignID) must be a regular email campaign in 'draft' or 'sent' status; 'scheduled' and 'started' parents return 409. Each parent campaign supports at most one booster; creating another returns 409. Delete the existing booster first to replace it. sendingSettings is only allowed when the parent is already sent; for a draft parent provide boosterSettings.delay instead (max 240 hours) and the booster is scheduled automatically when the parent sends.
omnisend_post_campaigns_by_id_ab_test_resumeWRITEResume A/B test. POST /campaigns/{id}/ab-test/resume. Resume a stopped A/B test. Automatic winner selection becomes eligible to pick this campaign again. Available only while the campaign is in stopped status. This endpoint is rate limited to 400 requests per minute.
omnisend_post_campaigns_by_id_ab_test_stopWRITEStop A/B test. POST /campaigns/{id}/ab-test/stop. Halt the A/B test winner-selection phase. While stopped, automatic winner selection no longer considers this campaign until it is resumed. Available only while the campaign is in started status. This endpoint is rate limited to 400 requests per minute.
omnisend_post_campaigns_by_id_ab_test_winnerWRITESelect A/B test winner. POST /campaigns/{id}/ab-test/winner. Manually pick a variant as the winner. The chosen variant is routed into the send pipeline immediately. This endpoint is rate limited to 400 requests per minute.
omnisend_post_campaigns_by_id_cancelWRITECancel campaign. POST /campaigns/{id}/cancel. Cancel a campaign and mark it as canceled. Cancelable source states: scheduled or paused (all channel types), or started (email only). Any other status (e.g. draft, sent, canceled) returns 409. Supported cases: Any scheduled or paused campaign (all channel types) Started email campaigns Note: For started campaigns, cancellation is best-effort — messages already in flight may still be delivered. This endpoint is rate limited to 400 requests per minute.
omnisend_post_campaigns_by_id_copyWRITECopy campaign. POST /campaigns/{id}/copy. Create a draft copy of an existing campaign, copying content, audience, and settings from the original. The copy is a new draft campaign with its own ID; the original campaign is left unchanged. The copied campaign name will be prefixed with 'Copy of: '. This endpoint is rate limited to 400 requests per minute.
omnisend_post_campaigns_by_id_restoretodraftWRITERestore campaign to draft. POST /campaigns/{id}/restoreToDraft. Restore a scheduled campaign to draft while preserving its ID and name. Only campaigns in scheduled status are supported. Regular email, SMS, push, and A/B test parent campaigns can be restored. Booster campaigns are not supported. Restoring cancels the scheduled send, deletes send progress, and changes the campaign status to draft. For A/B tests, all child campaigns are also restored to draft. This endpoint is rate limited to 400 requests per minute.
omnisend_post_campaigns_by_id_sendWRITESend campaign. POST /campaigns/{id}/send. Submit a campaign draft for sending. Only campaigns in 'draft' status can be sent; to send a campaign again, copy it and send the copy. Supports both email and SMS campaigns. Behavior depends on the campaign's sending strategy: Immediate: Campaign will be sent immediately Scheduled: Campaign will be queued for the scheduled time with optional timezone optimization This endpoint is rate limited to 400 requests per minute.
omnisend_post_campaigns_by_id_test_emailWRITESend campaign test email. POST /campaigns/{id}/test-email. Render the campaign draft and email it to up to 5 recipients so the merchant (or their AI tool) can preview it without leaving the API. The test uses the campaign's saved subject, sender, and content; only email campaigns are supported. This endpoint is rate limited to 400 requests per minute.
omnisend_post_contactsWRITECreate or update existing contact. POST /contacts. Creates a new contact. If a contact with the provided email identifier already exists, it will be updated instead. Returns 201 Created for new contacts and 200 OK when an existing contact was updated. This endpoint is rate limited to 400 requests per minute.
omnisend_post_contacts_tagsWRITEBatch add tags. POST /contacts/tags. Adds the specified tags to contacts selected by contact IDs, emails, phone numbers or a segment. At least one of contactIDs, emails, phones or segmentID is required. Selectors can be combined and are applied additively — the union of all matched contacts is tagged: every contact in contactIDs, every contact matched by an address in emails, every contact matched by a number in phones and every member of segmentID. A contact matched by more than one selector is tagged once. Emails and phones with no matching contact are silently ignored.
omnisend_post_email_content_by_id_renderWRITERender email content. POST /email-content/{id}/render. With this endpoint you can render email content to HTML by ID. The content is rendered with an empty data context (no contact, no marketing activity). This endpoint is rate limited to 40 requests per minute.
omnisend_post_email_templatesWRITECreate email template. POST /email-templates. With this endpoint you can create a new email template. This endpoint is rate limited to 400 requests per minute.
omnisend_post_email_templates_by_id_renderWRITERender email template. POST /email-templates/{id}/render. With this endpoint you can render an email template by ID and get the full HTML body for preview purposes. This endpoint is rate limited to 40 requests per minute.
omnisend_post_email_templates_importWRITEImport email template from HTML. POST /email-templates/import. With this endpoint you can import email template from raw HTML content. The HTML will be parsed, styles extracted, and structured into a template. Request body size limit: 1 MB This endpoint is rate limited to 400 requests per minute.
omnisend_post_email_universal_layoutsWRITECreate universal layout. POST /email-universal-layouts. With this endpoint you can create a new universal layout. This endpoint is rate limited to 400 requests per minute.
omnisend_post_event_metadataWRITECreate custom event metadata. POST /event-metadata. Declares a new brand-custom event schema. The event identity is the combination of name and origin; displayName and at least one top-level property are required. Optional metadata fields must be omitted rather than sent as null. The created event is returned with every node flagged explicitlyDefined. This endpoint is rate limited to 400 requests per minute.
omnisend_post_event_metadata_queryWRITEQuery events metadata. POST /event-metadata/query. Returns event metadata entries for the given category, optionally filtered by event names and/or origins. Supported categories: automations, events, segments API version scoping: The events a category exposes depend on the requested Omnisend-Version; a date between releases resolves to the nearest earlier supported version. Brand-custom events are not version-scoped. Event name filtering: When events are provided, only events whose system name matches one of the given values are returned (exact, case-sensitive match).
omnisend_post_eventsWRITESend Customer event. POST /events. With this endpoint you can send customer events to Omnisend. Customer events are used to track customer behavior and trigger automations based on that behavior. You can either format and send custom customer events or use predefined events. This endpoint is rate limited to 400 requests per minute.
omnisend_post_imagesWRITEUpload image by URL. POST /images. With this endpoint you can upload an image from a publicly accessible URL. If the name is not provided, the filename will be extracted from the URL. This endpoint is rate limited to 400 requests per minute.
omnisend_post_product_categoriesWRITECreate product category. POST /product-categories. Creates a new product category Check POSTMAN documentation This endpoint is rate limited to 400 requests per minute.
omnisend_post_productsWRITECreate product. POST /products. Creates a new product This endpoint is rate limited to 400 requests per minute.
omnisend_post_segmentsWRITECreate segment. POST /segments. Creates a new segment. Segmentation examples Event filter fields reference For entity: 'event' conditions, each filter in the filters array supports the following fields: > origin is usually optional. Most events belong to a single origin, so the API resolves it for you. > You only need to specify origin when an event exists under multiple origins — otherwise the API returns an error with the list of valid values to choose from. Period operators The period object is optional on every event filter. When omitted, the filter matches across all time.
omnisend_post_sessionsWRITECreate session from token. POST /sessions. Exchange a one-time login token for a browser session. On success the user is redirected (302) to Omnisend with session cookies set. This endpoint must be called from the user's browser (e.g. via a form POST) so that cookies are stored in the browser context. Browser-bound: Omnisend answers this with a 302 redirect carrying session cookies, which a server-side call cannot use.
omnisend_post_sessions_tokenWRITECreate session token. POST /sessions/token. Create a one-time login token. Use this token in the session creation endpoint to log the user in and redirect them to Omnisend. OAuth connections only; refused on an API-key connection.
omnisend_put_automations_by_id_blocksWRITEReplace automation workflow blocks. PUT /automations/{id}/blocks. Replace the full block tree for an automation workflow. Blocks identified by id are updated in place. Blocks identified by temporaryID are created as new blocks. Existing blocks not included in this array are removed. Enabled automations cannot be restructured. Disable the automation via POST /automations/{id}/disable, send the new block tree, then re-enable via POST /automations/{id}/enable when ready. When disabling, contactsInWorkflow controls whether contacts already in the workflow continue through the remaining blocks (keep) or exit immediately (exit).
omnisend_put_automations_by_id_blocks_by_blockid_utmWRITEUpdate UTM tags for an automation block. PUT /automations/{id}/blocks/{blockID}/utm. Set UTM tracking tags for a specific send-action block. All three tag fields are replaced atomically. Send an empty string to clear a field — the next read will return its default value. This endpoint is rate limited to 400 requests per minute.
omnisend_put_campaigns_by_id_utmWRITEUpdate campaign UTM settings. PUT /campaigns/{id}/utm. Replace UTM tag settings for a campaign. For regular campaigns send a tags object. For A/B test campaigns send a variants object. The campaign must be in draft status. This endpoint is rate limited to 400 requests per minute.
omnisend_put_email_content_by_idWRITEUpdate email content. PUT /email-content/{id}. With this endpoint you can update (fully replace) email content by ID. The full content structure must be provided in the request body. This endpoint is rate limited to 400 requests per minute.
omnisend_put_email_templates_by_idWRITEUpdate email template. PUT /email-templates/{id}. With this endpoint you can update (fully replace) an email template by ID. This endpoint is rate limited to 400 requests per minute.
omnisend_put_email_universal_layouts_by_idWRITEUpdate universal layout. PUT /email-universal-layouts/{id}. With this endpoint you can update (fully replace) a universal layout by ID. This endpoint is rate limited to 400 requests per minute.
omnisend_put_event_metadataWRITEUpdate custom event metadata. PUT /event-metadata. Merges changes into an existing brand-custom event, identified by name and origin. Only supplied fields are applied: omitted metadata and omitted properties are preserved, and no property is deleted. The type of an already explicitly-defined property cannot change. Optional metadata fields must be omitted rather than sent as null. The merged event is returned. This endpoint is rate limited to 400 requests per minute.
omnisend_put_products_by_productidWRITEReplace product. PUT /products/{productID}. Replace product by ID This endpoint is rate limited to 400 requests per minute.
omnisend_put_segments_by_segmentidWRITEUpdate segment. PUT /segments/{segmentID}. Updates an existing segment by ID. The segment must not be in a building state to be updated. If the segment is currently being built, a 409 Conflict error is returned. The request body structure (name and conditionGroups) is identical to Create segment. See the Create segment endpoint for detailed examples of condition groups, filters, and advanced segmentation patterns. This endpoint is rate limited to 15 requests per minute.
Put Omnisend behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.