Omnisend · Capability

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.

Run with Naftiko OmnisendCampaignsEmailSMS

MCP Tools

omnisend-list-campaigns

List Omnisend campaigns

read-only idempotent
omnisend-send-campaign

Send an Omnisend campaign

omnisend-cancel-campaign

Cancel an Omnisend campaign

idempotent

Capability Spec

campaigns.yaml Raw ↑
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: $. }]