Omnisend · OpenAPI Overlay 1.0.0
API Evangelist enhancements for Omnisend campaigns-api
30 actions
30 updates
documentation
extends
omnisend-campaigns-api-openapi.yml
Derived by API Evangelist
Built from the contracts Omnisend publishes. Omnisend did not publish this file.
What the actions change
tagsoperationIdsecurity
Targets 15
$
$.paths['/campaigns'].get
$.paths['/campaigns'].post
$.paths['/campaigns/{id}'].delete
$.paths['/campaigns/{id}'].get
$.paths['/campaigns/{id}'].patch
$.paths['/campaigns/{id}/ab-test/resume'].post
$.paths['/campaigns/{id}/ab-test/stop'].post
$.paths['/campaigns/{id}/ab-test/winner'].post
$.paths['/campaigns/{id}/cancel'].post
$.paths['/campaigns/{id}/copy'].post
$.paths['/campaigns/{id}/send'].post
$.paths['/campaigns/{id}/test-email'].post
$.paths['/campaigns/{id}/utm'].get
$.paths['/campaigns/{id}/utm'].put
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements for Omnisend campaigns-api
version: 1.0.0
x-generated: '2026-08-13'
x-method: generated
x-source: openapi/omnisend-campaigns-api-openapi.yml
x-note: 'Records API Evangelist enhancements over the contract Omnisend publishes. It is never applied to the harvested
file — openapi/ stays verbatim. The gaps captured here are real and measured: 14 of 14 operations carry no operationId,
0 carry no tag, and the document declares securitySchemes without ever applying them.'
extends: omnisend-campaigns-api-openapi.yml
actions:
- target: $
description: Apply the two declared security schemes at the document root. The published contract defines ApiKeyAuth and
Bearer in components.securitySchemes but never applies them, so no operation states its auth requirement.
update:
security:
- ApiKeyAuth: []
- Bearer: []
- target: $
description: Declare a document-level tag so every operation can be grouped. The published contract declares none.
update:
tags:
- name: Campaigns
description: API for managing campaigns.
- target: $.paths['/campaigns'].get
description: Tag GET /campaigns as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns'].post
description: Tag POST /campaigns as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns/{id}'].delete
description: Tag DELETE /campaigns/{id} as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns/{id}'].get
description: Tag GET /campaigns/{id} as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns/{id}'].patch
description: Tag PATCH /campaigns/{id} as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns/{id}/ab-test/resume'].post
description: Tag POST /campaigns/{id}/ab-test/resume as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns/{id}/ab-test/stop'].post
description: Tag POST /campaigns/{id}/ab-test/stop as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns/{id}/ab-test/winner'].post
description: Tag POST /campaigns/{id}/ab-test/winner as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns/{id}/cancel'].post
description: Tag POST /campaigns/{id}/cancel as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns/{id}/copy'].post
description: Tag POST /campaigns/{id}/copy as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns/{id}/send'].post
description: Tag POST /campaigns/{id}/send as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns/{id}/test-email'].post
description: Tag POST /campaigns/{id}/test-email as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns/{id}/utm'].get
description: Tag GET /campaigns/{id}/utm as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns/{id}/utm'].put
description: Tag PUT /campaigns/{id}/utm as Campaigns.
update:
tags:
- Campaigns
- target: $.paths['/campaigns'].get
description: Add a stable operationId for GET /campaigns; the published contract omits it, which blocks code generation
and tool binding.
update:
operationId: get_campaigns
- target: $.paths['/campaigns'].post
description: Add a stable operationId for POST /campaigns; the published contract omits it, which blocks code generation
and tool binding.
update:
operationId: post_campaigns
- target: $.paths['/campaigns/{id}'].delete
description: Add a stable operationId for DELETE /campaigns/{id}; the published contract omits it, which blocks code generation
and tool binding.
update:
operationId: delete_campaigns_id
- target: $.paths['/campaigns/{id}'].get
description: Add a stable operationId for GET /campaigns/{id}; the published contract omits it, which blocks code generation
and tool binding.
update:
operationId: get_campaigns_id
- target: $.paths['/campaigns/{id}'].patch
description: Add a stable operationId for PATCH /campaigns/{id}; the published contract omits it, which blocks code generation
and tool binding.
update:
operationId: patch_campaigns_id
- target: $.paths['/campaigns/{id}/ab-test/resume'].post
description: Add a stable operationId for POST /campaigns/{id}/ab-test/resume; the published contract omits it, which blocks
code generation and tool binding.
update:
operationId: post_campaigns_id_ab_test_resume
- target: $.paths['/campaigns/{id}/ab-test/stop'].post
description: Add a stable operationId for POST /campaigns/{id}/ab-test/stop; the published contract omits it, which blocks
code generation and tool binding.
update:
operationId: post_campaigns_id_ab_test_stop
- target: $.paths['/campaigns/{id}/ab-test/winner'].post
description: Add a stable operationId for POST /campaigns/{id}/ab-test/winner; the published contract omits it, which blocks
code generation and tool binding.
update:
operationId: post_campaigns_id_ab_test_winner
- target: $.paths['/campaigns/{id}/cancel'].post
description: Add a stable operationId for POST /campaigns/{id}/cancel; the published contract omits it, which blocks code
generation and tool binding.
update:
operationId: post_campaigns_id_cancel
- target: $.paths['/campaigns/{id}/copy'].post
description: Add a stable operationId for POST /campaigns/{id}/copy; the published contract omits it, which blocks code
generation and tool binding.
update:
operationId: post_campaigns_id_copy
- target: $.paths['/campaigns/{id}/send'].post
description: Add a stable operationId for POST /campaigns/{id}/send; the published contract omits it, which blocks code
generation and tool binding.
update:
operationId: post_campaigns_id_send
- target: $.paths['/campaigns/{id}/test-email'].post
description: Add a stable operationId for POST /campaigns/{id}/test-email; the published contract omits it, which blocks
code generation and tool binding.
update:
operationId: post_campaigns_id_test_email
- target: $.paths['/campaigns/{id}/utm'].get
description: Add a stable operationId for GET /campaigns/{id}/utm; the published contract omits it, which blocks code generation
and tool binding.
update:
operationId: get_campaigns_id_utm
- target: $.paths['/campaigns/{id}/utm'].put
description: Add a stable operationId for PUT /campaigns/{id}/utm; the published contract omits it, which blocks code generation
and tool binding.
update:
operationId: put_campaigns_id_utm
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/omnisend-campaigns-api-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.