VX Agents

API directory · Email

Omnisend Email & SMS Campaigns

v1.0.0 · 11 endpoints · 0 connections · shared by vx.ai

Draft, test and send Omnisend campaigns without opening the editor: create an email or SMS draft for a segment, fill in subject, sender and content, set UTM tags, send a test to up to 5 inboxes, then send or schedule it. Copy last month's winner as a starting point, and pull a scheduled send back to draft or cancel it.

Connect this API to an AI agent Browse all specs

What you can do with Omnisend Email & SMS Campaigns via MCP

Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.

MethodPathOperationDescription
GET /campaigns listCampaigns List campaigns by status, channel, type, name or date
POST /campaigns createCampaign Create an email, SMS or push campaign draft
GET /campaigns/{id} getCampaign Get a campaign with its audience, content and sending settings
PATCH /campaigns/{id} updateCampaign Update a draft's name, audience, content or sending settings
POST /campaigns/{id}/copy copyCampaign Copy a campaign into a new draft
GET /campaigns/{id}/utm getCampaignUtm Get a campaign's UTM tag settings
PUT /campaigns/{id}/utm updateCampaignUtm Replace a draft campaign's UTM tags
POST /campaigns/{id}/test-email sendTestEmail Email a test of a draft campaign to up to 5 recipients
POST /campaigns/{id}/send sendCampaign Send a draft campaign now or at its scheduled time
POST /campaigns/{id}/restoreToDraft restoreCampaignToDraft Pull a scheduled campaign back to draft
POST /campaigns/{id}/cancel cancelCampaign Cancel a scheduled, paused or sending campaign

Authentication

omnisendApiKey

API key — sent as the Authorization header

Omnisend API key sent in the Authorization header as Omnisend-API-Key <your key>. Save the whole value, including the Omnisend-API-Key prefix, as the credential.

How to get a credential

  1. In Omnisend, open Store settings > API keys (app.omnisend.com/integrations/api-keys).
  2. Click Create API key, name it (e.g. VX Agents campaigns).
  3. Under permissions, give Campaigns read and write access.
  4. Copy the key and save it as Omnisend-API-Key <key>.

Permissions used

Permission Operations
Campaigns: read (campaigns.read) listCampaigns, getCampaign, getCampaignUtm
Campaigns: write (campaigns.write) createCampaign, updateCampaign, copyCampaign, updateCampaignUtm, sendTestEmail, sendCampaign, cancelCampaign, restoreCampaignToDraft

Common errors

  • 401 Unauthorized: the header is missing the Omnisend-API-Key prefix, or the key was deleted. Re-create the key and save it with the prefix.
  • 403 Forbidden: the key has no Campaigns permission. Edit the key's permissions.
  • 400 Bad Request: invalid field or filter, or a missing Omnisend-Version header.
  • 409 Conflict: the campaign is in the wrong status (only drafts can be edited or sent; only scheduled campaigns can go back to draft).
  • 429 Too Many Requests: limit is 400 requests per minute per endpoint; wait and retry.

Store the key as a VX Agents credential so it is never pasted into chat.

Usage guide

Setup

  • Credential: an Omnisend API key with Campaigns read/write, saved with its prefix as Omnisend-API-Key <key> (it goes in the Authorization header).
  • Omnisend-Version: 2026-03-15 is pinned on every call.
  • Worth pinning as presets: the email templateID you build campaigns from, your sender name/email, and the segment ids you usually target (from Omnisend's Segments page or Segments API).

Build and send a campaign

  1. Start from a past one: listCampaigns with status=sent, channel=email, view=summary, then copyCampaign to get a new draft (name prefixed "Copy of: "). Or createCampaign with type: regular, channel: email (or sms), name, audience.includedSegmentIDs (empty = all subscribers), and content.email (templateID, subject, preheader, senderName) or content.sms (message, compliance).
  2. Adjust the draft with updateCampaign; set tracking with getCampaignUtm / updateCampaignUtm.
  3. sendTestEmail with recipients (up to 5 addresses) and ask the user to check the test.
  4. Choose timing in sendingSettings: strategy immediate, scheduled with scheduledAt (RFC 3339), or personalized with optimizeFor (opens, clicks, orders).
  5. Only after the user confirms audience, content and time: sendCampaign.
  6. Changed plans: restoreCampaignToDraft (scheduled campaigns only) to edit again, or cancelCampaign (scheduled or paused; started email campaigns best-effort).

Good to know

  • Always confirm before sendCampaign, cancelCampaign and sendTestEmail: they email or text real people and cannot be undone.
  • Only draft campaigns can be updated or sent (409 otherwise); to resend, copy and send the copy.
  • listCampaigns pages with limit (1-250) and the after / before cursors; filter by status, channel, type, nameContains, createdAtFrom/createdAtTo (ISO 8601).
  • view=summary drops the heavy content and A/B sections; add include=content to keep content.
  • A/B test controls and deletes are left out by design. Rate limit: 400 requests per minute per endpoint.

Source: Omnisend API reference (https://api-docs.omnisend.com/reference/get_campaigns), checked 2026-10-24.

How to use this spec

  1. Create a free VX Agents account (sandbox tools included).
  2. Open the marketplace and connect “Omnisend Email & SMS Campaigns” to an agent.
  3. Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.

Related APIs