Optimizely Campaigns API

Manage content campaigns and editorial calendar entries.

Operations 17

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /campaigns List editorial calendar campaigns · List campaigns #
Ask an LLM
“Which content campaigns are on my editorial calendar?”
“Can I page through campaigns with a limit and offset?”
Tell an agent
List the content campaigns in my editorial calendar.
Show {limit} editorial campaigns starting at offset {offset}.
POST /campaigns Create a content marketing campaign · POST /campaigns #
Ask an LLM
“How do I create a new campaign in my content marketing calendar?”
“Can a new campaign be nested under a parent campaign with start and end dates?”
Tell an agent
Create a campaign titled {title}.
Create campaign {title} running from {start_date} to {end_date} under parent {parent_campaign}.
GET /campaigns/{campaignId} Get an editorial calendar campaign · Get a campaign #
Ask an LLM
“What are the details of one content campaign on my editorial calendar?”
“Can I look up an editorial calendar campaign by its campaignId?”
Tell an agent
Get editorial calendar campaign {campaignId}.
Show me the calendar entry for content campaign {campaignId}.
GET /campaigns/{id} Get a content campaign record by id · GET /campaigns/{id} #
Ask an LLM
“Where do I read the CMP campaign record that its fields, comments and attachments hang off?”
“What does the content marketing platform return for a campaign I fetch by plain id?”
Tell an agent
Fetch the CMP campaign record {id}.
Pull up content marketing campaign {id} before I edit its fields.
PATCH /campaigns/{id} Update a content campaign's title or dates · PATCH /campaigns/{id} #
Ask an LLM
“How do I rename a content marketing campaign or move its dates?”
“Can I reassign the owner of a CMP campaign?”
Tell an agent
Retitle content campaign {id} to {title}.
Move content campaign {id} to run {start_date} through {end_date}.
POST /campaigns/{id}/comments Comment on a campaign · POST /campaigns/{id}/comments #
Ask an LLM
“Can I post a comment on a campaign and mention a teammate?”
“Does a campaign comment support Markdown and attachments?”
Tell an agent
Comment {value} on campaign {id}.
Post a note on campaign {id} saying {value} with attachments {attachments}.
GET /campaigns/{id}/fields List a campaign's custom fields · GET campaigns/{id}/fields #
Ask an LLM
“Which custom fields are defined on a given campaign?”
“Can I page through a campaign's fields with a page size?”
Tell an agent
List the fields on campaign {id}.
Show {page_size} fields of campaign {id} from offset {offset}.
POST /campaigns/{id}/fields Add a field to a campaign · POST campaigns/{id}/fields #
Ask an LLM
“How do I attach a new custom field to a campaign?”
“Can I extend a campaign with an additional field?”
Tell an agent
Add a field to campaign {id}.
Attach a new custom field to campaign {id}.
GET /campaigns/{id}/brief Get a campaign's brief · GET /campaigns/{id}/brief #
Ask an LLM
“Where can I read the brief written for a campaign?”
“What does the brief of a content campaign contain?”
Tell an agent
Get the brief for campaign {id}.
Show me campaign {id}'s creative brief.
POST /campaigns/{id}/attachments Attach an uploaded file to a campaign · POST /campaigns/{id}/attachments #
Ask an LLM
“How do I attach a file I already uploaded to a campaign?”
“What upload key do I need to add an attachment to a campaign?”
Tell an agent
Attach uploaded file {key} named {name} to campaign {id}.
Add attachment {name} from upload session {key} to campaign {id}.
PUT /campaigns/{campaign_id}/fields/{field_id} Set a campaign field's value · PUT /campaigns/{campaign_id}/fields/{field_id} #
Ask an LLM
“How do I change the value of one custom field on a campaign?”
“Can I update a single campaign field without touching the rest of the campaign?”
Tell an agent
Update field {field_id} on campaign {campaign_id}.
Set a new value for field {field_id} of campaign {campaign_id}.
GET /campaigns/{campaign_id} Get an experimentation campaign · Get a campaign #
Ask an LLM
“What are the full details of a Web Experimentation personalization campaign?”
“Can I look up an experimentation campaign by campaign_id to see its project and status?”
Tell an agent
Get experimentation campaign {campaign_id}.
Show project and status details for personalization campaign {campaign_id}.
PATCH /campaigns/{campaign_id} Rename or change status of a campaign · Update a campaign #
Ask an LLM
“How do I change the status of an experimentation campaign?”
“Can I move a personalization campaign to another project or rename it?”
Tell an agent
Set the status of campaign {campaign_id} to {status}.
Rename experimentation campaign {campaign_id} to {name}.
DELETE /campaigns/{campaign_id} Archive or delete a campaign · Delete a campaign #
Ask an LLM
“How do I remove a personalization campaign I no longer need?”
“Does deleting a campaign archive it or remove it permanently?”
Tell an agent destructive · confirm first
Delete campaign {campaign_id}.
Archive personalization campaign {campaign_id}.
GET /campaigns/{campaign_id}/results Get a campaign's statistical results · Get campaign results #
Ask an LLM
“How is my personalization campaign performing statistically?”
“Where can I see the results of a campaign?”
Tell an agent
Get results for campaign {campaign_id}.
Show the statistical performance of campaign {campaign_id}.
GET /export/campaigns/{campaign_id}/results/csv Export campaign results as CSV · Get Campaign results as a CSV #
Ask an LLM
“How do I download a campaign's results as a CSV file?”
“Can I export campaign results segmented by device or browser?”
Tell an agent
Export results for campaign {campaign_id} as CSV.
Export CSV results for campaign {campaign_id} from {start_time} to {end_time}.

Documentation

Specifications

Other Resources

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/optimizely:optimizely-campaigns-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

OpenAPI Specification

optimizely-campaigns-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Optimizely Campaigns API
  version: '1.0'
  description: 'Operations tagged Campaigns across 4 of this provider''s published API definitions: optimizely-cmp-openapi.yml, optimizely-content-marketing-platform-optimizely-cmp-open-api-documentation-openapi.json, optimizely-web-experimentation-openapi.yml, optimizely-web-experimentation-optimizely-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.cmp.optimizely.com/v0
  description: Optimizely CMP API Server
- url: https://api.cmp.optimizely.com/v3
  description: v3 version of Optimizely CMP Open API
- url: https://api.optimizely.com/v2
  description: Optimizely REST API v2 Production Server
tags:


# --- truncated at 32 KB (97 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/optimizely-campaigns-api-openapi.yml