Omnisend REST API — Campaigns
Omnisend Campaigns capability. Create, schedule, send, cancel, and copy email/SMS campaigns; list campaigns with cursor pagination.
Omnisend REST API — Campaigns is a Naftiko capability published by Omnisend, one of 9 capabilities the APIs.io network indexes for this provider. It bundles 3 operations.
The capability includes 1 read-only operation and 2 state-changing operations. Lead operation: List Omnisend campaigns. Can be deployed as a REST endpoint, MCP tool, or Agent Skill via Naftiko.
Tagged areas include Omnisend, Campaigns, Email, and SMS.
naftiko: 1.0.0-alpha2
info:
label: Omnisend REST API — Campaigns
description: 'Omnisend Campaigns capability. Create, schedule, send, cancel, and copy email/SMS campaigns; list campaigns with cursor pagination.'
tags:
- Omnisend
- Campaigns
- Email
- SMS
created: '2026-05-25'
modified: '2026-05-25'
binds:
- namespace: env
keys:
OMNISEND_API_KEY: OMNISEND_API_KEY
capability:
consumes:
- type: http
namespace: campaigns
baseUri: https://api.omnisend.com/v5
description: Omnisend Campaigns business capability.
resources:
- name: campaigns
path: /campaigns
operations:
- name: listCampaigns
method: GET
description: List campaigns
outputRawFormat: json
outputParameters: [{ name: result, type: object, value: $. }]
- name: createCampaign
method: POST
description: Create a campaign
outputRawFormat: json
outputParameters: [{ name: result, type: object, value: $. }]
inputParameters: [{ name: body, in: body, type: object, required: true }]
- name: campaign-by-id
path: /campaigns/{campaignID}
operations:
- name: getCampaign
method: GET
description: Get a campaign
outputRawFormat: json
outputParameters: [{ name: result, type: object, value: $. }]
inputParameters: [{ name: campaignID, in: path, type: string, required: true }]
- name: updateCampaign
method: PATCH
description: Update a campaign
outputRawFormat: json
outputParameters: [{ name: result, type: object, value: $. }]
inputParameters:
- { name: campaignID, in: path, type: string, required: true }
- { name: body, in: body, type: object, required: true }
- name: deleteCampaign
method: DELETE
description: Delete a campaign
outputRawFormat: json
outputParameters: [{ name: result, type: object, value: $. }]
inputParameters: [{ name: campaignID, in: path, type: string, required: true }]
- name: campaign-send
path: /campaigns/{campaignID}/send
operations:
- name: sendCampaign
method: POST
description: Send a campaign now or as scheduled
outputRawFormat: json
outputParameters: [{ name: result, type: object, value: $. }]
inputParameters: [{ name: campaignID, in: path, type: string, required: true }]
- name: campaign-cancel
path: /campaigns/{campaignID}/cancel
operations:
- name: cancelCampaign
method: POST
description: Cancel a scheduled or sending campaign
outputRawFormat: json
outputParameters: [{ name: result, type: object, value: $. }]
inputParameters: [{ name: campaignID, in: path, type: string, required: true }]
- name: campaign-copy
path: /campaigns/{campaignID}/copy
operations:
- name: copyCampaign
method: POST
description: Copy a campaign
outputRawFormat: json
outputParameters: [{ name: result, type: object, value: $. }]
inputParameters: [{ name: campaignID, in: path, type: string, required: true }]
authentication:
type: apikey
key: X-API-KEY
value: '{{env.OMNISEND_API_KEY}}'
placement: header
exposes:
- type: mcp
namespace: campaigns-mcp
port: 9090
transport: http
description: MCP adapter for Omnisend Campaigns.
tools:
- name: omnisend-list-campaigns
description: List Omnisend campaigns
hints: { readOnly: true, destructive: false, idempotent: true }
call: campaigns.listCampaigns
outputParameters: [{ type: object, mapping: $. }]
- name: omnisend-send-campaign
description: Send an Omnisend campaign
hints: { readOnly: false, destructive: true, idempotent: false }
call: campaigns.sendCampaign
with: { campaignID: tools.campaignID }
outputParameters: [{ type: object, mapping: $. }]
- name: omnisend-cancel-campaign
description: Cancel an Omnisend campaign
hints: { readOnly: false, destructive: true, idempotent: true }
call: campaigns.cancelCampaign
with: { campaignID: tools.campaignID }
outputParameters: [{ type: object, mapping: $. }]