How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Optimizely Campaign REST API

Email and omnichannel campaign management, formerly Episerver Campaign and optivo broadmail — mailings, smart campaigns and their nodes, recipient lists, transactional mail, unsubscribes and webhooks. 137 paths served under the versioned vendor media type application/vnd.optivo.broadmail.v1+json. Harvested verbatim 2026-08-13.

Optimizely Campaign REST API is one of 50 APIs that Optimizely publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Email and Marketing Automation. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 234 operations across 137 paths, organized into 23 resource areas, and defines 150 schemas. It is described by OpenAPI 3.0.1, at version 1.

Requests are made against a single base URL, https://api.campaign.episerver.net/rest.

234 operations 137 paths 150 schemas 37 DELETE105 GET88 POST4 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.1
API Version
1
Base URL
https://api.campaign.episerver.net/rest
Authentication
API Key
Resource Areas
23

Authentication & Security 1

Optimizely Campaign REST API declares 1 security scheme for authenticating requests. An API key is passed in the header as Authorization (Authorization).

Paths & Operations 234

Across 137 paths, the API surfaces 234 operations — 37 DELETE, 105 GET, 88 POST, 4 PUT. They span 23 resource areas, including Assets, Attachments, Personalized Attachments, Blocklist entries, Confirmations, Smart Campaigns, Transactional mails, Click profiles, and 15 more. Each is listed below with its method, path, parameters, and response codes.

Assets 6

Manage assets

GET
/{clientId}/assets/images/count
Get the total number of images
count 1 param → 200
GET
/{clientId}/assets/images
Get information about all images
getAllImages 3 params → 200400
POST
/{clientId}/assets/images
Upload an image
createImage 1 param body → 201400500
GET
/{clientId}/assets/images/{imageId}
Get information about an image
getImage 2 params → 200404
POST
/{clientId}/assets/images/{imageId}
Update the image name
updateImage 2 params body → 200400404
DELETE
/{clientId}/assets/images/{imageId}
Delete an image
deleteImage 2 params → 204404500
Attachments 8

Manage email attachments

GET
/{clientId}/attachments/count
Get the total number of attachments
count_1 1 param → 200
GET
/{clientId}/attachments
Get information about all attachments
getAllAttachments 5 params → 200400
POST
/{clientId}/attachments
Create an attachment
createAttachment 1 param body → 201400
GET
/{clientId}/attachments/{attachmentId}/content
Get the content of an uploaded attachment
getUploadAttachment 2 params → 200404
POST
/{clientId}/attachments/{attachmentId}/content
Update the content of an uploaded attachment
uploadAttachment 2 params body → 200404
GET
/{clientId}/attachments/{attachmentId}
Get information about an attachment
getAttachment 2 params → 200
POST
/{clientId}/attachments/{attachmentId}
Update attachment information
updateAttachment 2 params body → 200404
DELETE
/{clientId}/attachments/{attachmentId}
Delete an attachment
deleteAttachment 2 params → 200404409
Personalized Attachments 1

Manage personalized email attachments

POST
/{clientId}/attachments/personalized
Create a personalized attachment
createAttachment_1 1 param body → 200400406500
Blocklist entries 7

Manage recipients on the blocklist

GET
/{clientId}/blacklistentries/blacklisted
Check whether an address is blocklisted
blacklisted 2 params → 200
GET
/{clientId}/blacklistentries/count
Get the total number of blocklist entries
count_2 2 params → 200
GET
/{clientId}/blacklistentries
Get information about all blocklist entries
findAllBlacklistEntries 7 params → 200400
POST
/{clientId}/blacklistentries
Create a blocklist entry
createBlacklistEntry 1 param body → 201400
DELETE
/{clientId}/blacklistentries
Delete multiple blocklist entries
deleteBlacklistEntries 2 params → 204400
GET
/{clientId}/blacklistentries/{entry}
Get information about a blocklist entry
getBlacklistEntry 2 params → 200404
DELETE
/{clientId}/blacklistentries/{entry}
Delete a blocklist entry
deleteBlacklistEntry 2 params → 204404
Confirmations 21

Manage registration confirmations (opt-in emails)

GET
/{clientId}/confirmations
Get information about all confirmation mailings
selectConfirmationMailings 9 params → 200400
POST
/{clientId}/confirmations
Create a confirmation mail
createConfirmationMailing 1 param body → 201400
GET
/{clientId}/confirmations/{confirmationMailId}
Get information about a confirmation mailing
getConfirmationMailing 2 params → 200404
DELETE
/{clientId}/confirmations/{confirmationMailId}
Delete a confirmation mailing
deleteConfirmationMailing 2 params → 204
POST
/{clientId}/confirmations/{confirmationMailId}/message
Update a mailing
updateCampaignMessage 2 params body → 200
POST
/{clientId}/confirmations/{confirmationMailId}/message/attachments
Add attachments into a campaign message. Only applicable for campaign message of type email
addAttachments 2 params body → 200400404405
DELETE
/{clientId}/confirmations/{confirmationMailId}/message/attachments
Delete attachments of a campaign message. Only applicable for campaign message of type email
deleteAttachments 3 params → 204400404405
GET
/{clientId}/confirmations/{confirmationMailId}/message/content
Get the content of a mailing (email)
getCampaignMessageContent 4 params → 200404406
GET
/{clientId}/confirmations/{confirmationMailId}/message/test/{testMailingId}
Get information about the sending status of all recipients of a test mailing
getTestMailingReport 3 params → 200
GET
/{clientId}/confirmations/{confirmationMailId}/message/tracking/links/{trackingLinkId}
Get information about a tracking link of a mailing
getTrackingLink 3 params → 200
POST
/{clientId}/confirmations/{confirmationMailId}/message/tracking/links/{trackingLinkId}
Update the tracking link configuration of a mailing
updateLinkTracking 3 params body → 200
GET
/{clientId}/confirmations/{confirmationMailId}/message/tracking/links
Get information about all tracking links of a mailing
getTrackingLinks 2 params → 200400
GET
/{clientId}/confirmations/{confirmationMailId}/message/tracking
Get information about the tracking configuration of a mailing
getTrackingConfiguration 2 params → 200
POST
/{clientId}/confirmations/{confirmationMailId}/message/tracking
Update the tracking configuration of a mailing
updateTrackingConfiguration 2 params body → 200
GET
/{clientId}/confirmations/{confirmationMailId}/recipientLists
Get information about a "Recipients" node
getRecipientListsNodeForSCMailing 2 params → 200404
POST
/{clientId}/confirmations/{confirmationMailId}/recipientLists
Create or update a "Recipients" node
createOrUpdateRecipientListsNode 2 params body → 200201404
GET
/{clientId}/confirmations/{confirmationMailId}/test/{testMailingId}
Get information about the sending status of all recipients of a test mailing
getTestMailingReport_1 3 params → 200
POST
/{clientId}/confirmations/{confirmationMailId}/test
Send a test mailing
startTestMailing_1 2 params body → 202400
GET
/{clientId}/confirmations/{confirmationMailId}/report
Get a campaign report
getReport 2 params → 200
POST
/{clientId}/confirmations/{confirmationMailId}/start
Start a confirmation mailing
startConfirmationMailing 2 params → 200
POST
/{clientId}/confirmations/{confirmationMailId}/stop
Stop a confirmation mailing
stopConfirmationMailing 2 params → 200
Smart Campaigns 65

Manage Smart Campaigns

GET
/{clientId}/smartcampaigns
Get information about all Smart Campaigns
selectSmartCampaigns 9 params → 200400
POST
/{clientId}/smartcampaigns
Create or copy a Smart Campaign
createOrCopySmartCampaign 1 param body → 201
POST
/{clientId}/smartcampaigns/{campaignId}/activate
Activate a Smart Campaign
activateSmartCampaign 2 params → 200409
POST
/{clientId}/smartcampaigns/{campaignId}/deactivate
Deactivate a Smart Campaign
deactivateSmartCampaign 2 params → 200409
GET
/{clientId}/smartcampaigns/{campaignId}
Get information about a Smart Campaign
getSmartCampaign 2 params → 200
POST
/{clientId}/smartcampaigns/{campaignId}
Update the name of a Smart Campaign
updateCampaignMessage_2 2 params body → 200
DELETE
/{clientId}/smartcampaigns/{campaignId}
Delete a Smart Campaign
deleteSmartCampaign 2 params → 204400
GET
/{clientId}/smartcampaigns/{campaignId}/abtest
Get information about a "A/B test" node of a Smart Campaign
getSplitNode 2 params → 200404
POST
/{clientId}/smartcampaigns/{campaignId}/abtest
Create or update an "A/B test" node of a Smart Campaign
createOrUpdateSplitNode 2 params body → 200201
DELETE
/{clientId}/smartcampaigns/{campaignId}/abtest
Delete an "A/B test" node of a Smart Campaign
deleteSplitNode 2 params → 204
GET
/{clientId}/smartcampaigns/{campaignId}/abtest/successors/{nodeId}
Get information about a connection from an "A/B test" node
getSuccessor 3 params → 200404
POST
/{clientId}/smartcampaigns/{campaignId}/abtest/successors/{nodeId}
Create or update a connection from a "A/B test" node
createOrUpdateSuccessorEdge 3 params body → 200201404
DELETE
/{clientId}/smartcampaigns/{campaignId}/abtest/successors/{nodeId}
Delete a connection from a "A/B test" node to another node
deleteSuccessorEdge 3 params → 204
GET
/{clientId}/smartcampaigns/{campaignId}/abtest/successors
Get information about all connections from an "A/B test" node
findSuccessors 2 params → 200
DELETE
/{clientId}/smartcampaigns/{campaignId}/abtest/successors
Delete all connections from the "A/B test" node to other nodes
deleteSuccessorEdges 2 params → 204
GET
/{clientId}/smartcampaigns/{campaignId}/analysis
Get analysis data of a Smart Campaign
getAnalysisData 2 params → 200409
POST
/{clientId}/smartcampaigns/{campaignId}/analysis
Schedule new recipient analysis for a Smart Campaign
scheduleAnalysis 2 params → 202400409
DELETE
/{clientId}/smartcampaigns/{campaignId}/analysis
Cancel a running recipient analysis of a Smart Campaign
cancelAnalysis 2 params → 204404409
GET
/{clientId}/smartcampaigns/{campaignId}/block
Get information about a "Block" node of a Smart Campaign
getBlockNode 2 params → 200404
POST
/{clientId}/smartcampaigns/{campaignId}/block
Create or update a "Block" node of a Smart Campaign
createOrUpdateBlockNode 2 params body → 200201400
DELETE
/{clientId}/smartcampaigns/{campaignId}/block
Delete a "Block" node of a Smart Campaign
deleteBlockNode 2 params → 204404
GET
/{clientId}/smartcampaigns/{campaignId}/cap
Get information about a "Limit" node of a Smart Campaign
getCapNode 2 params → 200
POST
/{clientId}/smartcampaigns/{campaignId}/cap
Create or update a "Limit" node of a Smart Campaign
createOrUpdateCapNode 2 params body → 200201400
DELETE
/{clientId}/smartcampaigns/{campaignId}/cap
Delete a "Limit" node of a Smart Campaign
deleteCapNode 2 params → 204404
GET
/{clientId}/smartcampaigns/{campaignId}/messages
Get information about all mailings of a Smart Campaign
getMessages 2 params → 200
POST
/{clientId}/smartcampaigns/{campaignId}/messages
Create a mailing
createCampaignMessage 2 params body → 201
GET
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}
Get information about a mailing
getSmartCampaignMessage_1 3 params → 200
POST
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}
Update a mailing
updateCampaignMessage_1 3 params body → 200
DELETE
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}
Delete a mailing
deleteCampaignMessage_1 3 params → 204409
POST
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/attachments
Add attachments into a campaign message. Only applicable for campaign message of type email
addAttachments_1 3 params body → 200400404405
DELETE
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/attachments
Delete attachments of a campaign message. Only applicable for campaign message of type email
deleteAttachments_1 4 params → 204400404405
GET
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/content
Get the content of a mailing (email)
getCampaignMessageContent_1 5 params → 200404406
POST
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/content
Update the content of a mailing
storeCampaignMessageContent_1 3 params body → 200409
DELETE
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/content
Delete the content of a mailing (email)
removeContentFromCampaignMessage_1 3 params → 200400
GET
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/test/{testMailingId}
Get information about the sending status of all recipients of a test mailing
getTestMailingReport_2 4 params → 200
POST
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/test
Send a test mailing
startTestMailing_2 3 params body → 202400
GET
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/tracking/links/{trackingLinkId}
Get information about a tracking link of a mailing
getTrackingLink_1 4 params → 200
POST
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/tracking/links/{trackingLinkId}
Update the tracking link configuration of a mailing
updateLinkTracking_1 4 params body → 200
GET
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/tracking/links
Get information about all tracking links of a mailing
getTrackingLinks_1 3 params → 200400
GET
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/tracking
Get information about the tracking configuration of a mailing
getTrackingConfiguration_1 3 params → 200
POST
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/tracking
Update the tracking configuration of a mailing
updateTrackingConfiguration_1 3 params body → 200
POST
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/pause
Pause a mailing
pauseCampaignMessage_1 3 params → 200409
POST
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/start
Start a mailing
startCampaignMessage_1 3 params → 200409
POST
/{clientId}/smartcampaigns/{campaignId}/messages/{mailingId}/stop
Stop a mailing
stopCampaignMessage_1 3 params → 200409
GET
/{clientId}/smartcampaigns/{campaignId}/recipientLists
Get information about a "Recipients" node
getRecipientListsNodeForSCMailing_1 2 params → 200404
POST
/{clientId}/smartcampaigns/{campaignId}/recipientLists
Create or update a "Recipients" node
createOrUpdateRecipientListsNode_1 2 params body → 200201404
GET
/{clientId}/smartcampaigns/{campaignId}/schedules
Get information about all "Wait" nodes of a Smart Campaign
findWaitNodes 2 params → 200
POST
/{clientId}/smartcampaigns/{campaignId}/schedules
Create a new "Wait" node in a Smart Campaign
createWaitNode 2 params body → 201
GET
/{clientId}/smartcampaigns/{campaignId}/schedules/{waitNodeId}
Get information about a "Wait" node of a Smart Campaign
getWaitNode 3 params → 200404
POST
/{clientId}/smartcampaigns/{campaignId}/schedules/{waitNodeId}
Update a "Wait" node in a Smart Campaign
updateWaitNode 3 params body → 200404
DELETE
/{clientId}/smartcampaigns/{campaignId}/schedules/{waitNodeId}
Delete a "Wait" node in a Smart Campaign
deleteWaitNode 3 params → 204
GET
/{clientId}/smartcampaigns/{campaignId}/targetGroups
Get information about all "Target groups" nodes of a Smart Campaign
findTargetGroups 2 params → 200
POST
/{clientId}/smartcampaigns/{campaignId}/targetGroups
Create or update a "Target groups" node of a Smart Campaign
createOrUpdateTargetGroupNode 2 params body → 200201
DELETE
/{clientId}/smartcampaigns/{campaignId}/targetGroups
Delete all "Target groups" nodes of a Smart Campaign
deleteTargetGroupNode 2 params → 204
GET
/{clientId}/smartcampaigns/{campaignId}/targetGroups/{filterNodeId}
Get information about a "Target groups" node of a Smart Campaign
getTargetGroup 3 params → 200
DELETE
/{clientId}/smartcampaigns/{campaignId}/targetGroups/{filterNodeId}
Delete a "Target groups" node of a Smart Campaign
deleteTargetGroupNodeByNodeId 3 params → 204
GET
/{clientId}/smartcampaigns/{campaignId}/throttles
Get information about all "Throttle" nodes of a Smart Campaign
findThrottleNodes 2 params → 200
POST
/{clientId}/smartcampaigns/{campaignId}/throttles
Create a new "Throttle" node in a Smart Campaign
createThrottleNode 2 params body → 201
GET
/{clientId}/smartcampaigns/{campaignId}/throttles/{throttleNodeId}
Get information about a "Throttle" node of a Smart Campaign
getThrottleNode 3 params → 200404
POST
/{clientId}/smartcampaigns/{campaignId}/throttles/{throttleNodeId}
Update a "Throttle" node of a Smart Campaign
updateThrottleNode 3 params body → 200
DELETE
/{clientId}/smartcampaigns/{campaignId}/throttles/{throttleNodeId}
Delete a "Throttle" node in a Smart Campaign
deleteThrottleNode 3 params → 204
POST
/{clientId}/smartcampaigns/{campaignId}/pause
Pause a Smart Campaign
pauseSmartCampaign 2 params → 200409
GET
/{clientId}/smartcampaigns/{campaignId}/report
Get a campaign report
getReport_1 2 params → 200
POST
/{clientId}/smartcampaigns/{campaignId}/start
Start a Smart Campaign
startSmartCampaign 2 params → 200409
POST
/{clientId}/smartcampaigns/{campaignId}/stop
Cancel a Smart Campaign
stopSmartCampaign 2 params → 200409
Transactional mails 24

Manage transactional mails that are triggered by a recipient action or event

GET
/{clientId}/transactionalmail
Get information about all transactional mails
selectTransactionalCampaigns 9 params → 200400
POST
/{clientId}/transactionalmail
Create a transactional mail
createTransactionalMailing 1 param body → 201400
GET
/{clientId}/transactionalmail/{transactionalMailId}
Get information about a transactional mail
getTransactionalMailing 2 params → 200
DELETE
/{clientId}/transactionalmail/{transactionalMailId}
Delete a transactional mail
deleteTransactionalMailing 2 params → 204409
POST
/{clientId}/transactionalmail/{transactionalMailId}/message
Update a mailing
updateCampaignMessage_3 2 params body → 200
POST
/{clientId}/transactionalmail/{transactionalMailId}/message/attachments
Add attachments into a campaign message. Only applicable for campaign message of type email
addAttachments_2 2 params body → 200400404405
DELETE
/{clientId}/transactionalmail/{transactionalMailId}/message/attachments
Delete attachments of a campaign message. Only applicable for campaign message of type email
deleteAttachments_2 3 params → 204400404405
GET
/{clientId}/transactionalmail/{transactionalMailId}/message/content
Get the content of a mailing (email)
getCampaignMessageContent_2 4 params → 200404406
POST
/{clientId}/transactionalmail/{transactionalMailId}/message/content
Update the content of a mailing
storeCampaignMessageContent_2 2 params body → 200409
GET
/{clientId}/transactionalmail/{transactionalMailId}/message/test/{testMailingId}
Get information about the sending status of all recipients of a test mailing
getTestMailingReport_3 3 params → 200
GET
/{clientId}/transactionalmail/{transactionalMailId}/message/tracking/links/{trackingLinkId}
Get information about a tracking link of a mailing
getTrackingLink_2 3 params → 200
POST
/{clientId}/transactionalmail/{transactionalMailId}/message/tracking/links/{trackingLinkId}
Update the tracking link configuration of a mailing
updateLinkTracking_2 3 params body → 200
GET
/{clientId}/transactionalmail/{transactionalMailId}/message/tracking/links
Get information about all tracking links of a mailing
getTrackingLinks_2 2 params → 200400
GET
/{clientId}/transactionalmail/{transactionalMailId}/message/tracking
Get information about the tracking configuration of a mailing
getTrackingConfiguration_2 2 params → 200
POST
/{clientId}/transactionalmail/{transactionalMailId}/message/tracking
Update the tracking configuration of a mailing
updateTrackingConfiguration_2 2 params body → 200
GET
/{clientId}/transactionalmail/{transactionalMailId}/recipientLists
Get information about a "Recipients" node
getRecipientListsNodeForSCMailing_2 2 params → 200404
POST
/{clientId}/transactionalmail/{transactionalMailId}/recipientLists
Create or update a "Recipients" node
createOrUpdateRecipientListsNode_2 2 params body → 200201404
GET
/{clientId}/transactionalmail/{transactionalMailId}/test/{testMailingId}
Get information about the sending status of all recipients of a test mailing
getTestMailingReport_4 3 params → 200
POST
/{clientId}/transactionalmail/{transactionalMailId}/test
Send a test mailing
startTestMailing_4 2 params body → 202400
POST
/{clientId}/transactionalmail/{transactionalMailId}/send
Send a transactional mail
sendTransactionalMailing 2 params body → 202400
GET
/{clientId}/transactionalmail/{transactionalMailId}/report
Get a campaign report
getReport_2 2 params → 200
POST
/{clientId}/transactionalmail/{transactionalMailId}/start
Start a transactional mail
startTransactionalMailing 2 params → 200409
POST
/{clientId}/transactionalmail/{transactionalMailId}/stop
Stop a transactional mail
stopTransactionalMailing 2 params → 200409
GET
/{clientId}/transactionalmail/status
Get the sending status of a sent transactional mail
retrieveSendStatus 2 params → 200
Click profiles 7

Manage click profiles

GET
/{clientId}/clickprofiles
Get information about all click profiles
selectClickProfiles 8 params → 200400
POST
/{clientId}/clickprofiles
Create a new click profile
createClickProfile 1 param body → 201400
GET
/{clientId}/clickprofiles/{clickProfileId}/assignedlinks
Get links a click profile is assigned to
getAssignedLinks 13 params → 200400
POST
/{clientId}/clickprofiles/{clickProfileId}/assignedlinks
Assign links to a click profile
assignLinksToClickProfile 2 params body → 200
DELETE
/{clientId}/clickprofiles/{clickProfileId}/assignedlinks
Unassign specific links from a click profile
unAssignLinksFromClickProfile 3 params → 204
GET
/{clientId}/clickprofiles/{clickProfileId}
Get information about a click profile
getClickProfile 2 params → 200404409
POST
/{clientId}/clickprofiles/{clickProfileId}
Update a click profile
updateClickProfile 2 params body → 200400404409
Coupon blocks 11

Manage coupon blocks that organize coupon codes

GET
/{clientId}/couponblocks
Get information about all coupon blocks
selectCouponBlocks 3 params → 200400
POST
/{clientId}/couponblocks
Create a new coupon block
createCouponBlock 1 param body → 201
GET
/{clientId}/couponblocks/{couponBlockId}
Get information about a coupon block
getCouponBlock 2 params → 200404409
DELETE
/{clientId}/couponblocks/{couponBlockId}
Delete a coupon block
deleteCouponBlock 2 params → 204404409
GET
/{clientId}/couponblocks/{couponBlockId}/codes
Get information about coupon codes
selectCouponCodes 9 params → 200400404409
POST
/{clientId}/couponblocks/{couponBlockId}/codes
Create a list of coupon codes
createCouponCodes 2 params body → 201400404409
DELETE
/{clientId}/couponblocks/{couponBlockId}/codes
Delete coupon codes
deleteAllCouponCodes 3 params → 204404409
GET
/{clientId}/couponblocks/{couponBlockId}/codes/{code}
Get information about a coupon code
getCouponCode 3 params → 200404409
POST
/{clientId}/couponblocks/{couponBlockId}/codes/{code}
Invalidate a coupon code
markAsUsed 3 params → 200404409
DELETE
/{clientId}/couponblocks/{couponBlockId}/codes/{code}
Delete a coupon code
deleteCouponCode 3 params → 204404409
GET
/{clientId}/couponblocks/{couponBlockId}/assignedmailings
Get all mailing IDs a coupon block is assigned to
getAllAssignedMailings 2 params → 200404409
Custom blocklists 10

Manage custom blocklists

GET
/{clientId}/customblacklists
Get information about all custom blocklists
selectCustomBlacklists 3 params → 200400
POST
/{clientId}/customblacklists
Create a custom blocklist
createCustomBlacklist 1 param body → 201
GET
/{clientId}/customblacklists/{customBlacklistId}/entries
Get information about all entries of a custom blocklist
selectCustomBlacklistEntries 8 params → 200400
POST
/{clientId}/customblacklists/{customBlacklistId}/entries
Create custom blocklist entries
createBlacklistEntries 2 params body → 200
DELETE
/{clientId}/customblacklists/{customBlacklistId}/entries
Delete all entries from a custom blocklist
wipeCustomBlacklistEntries 2 params → 204
GET
/{clientId}/customblacklists/{customBlacklistId}/entries/{customBlacklistEntryId}
Get information about a custom blocklist entry
getCustomBlacklistEntry 3 params → 200404
POST
/{clientId}/customblacklists/{customBlacklistId}/entries/{customBlacklistEntryId}
Update a custom blocklist entry
updateCustomBlacklistEntry 3 params body → 200404
DELETE
/{clientId}/customblacklists/{customBlacklistId}/entries/{customBlacklistEntryId}
Delete a custom blocklist entry
deleteCustomBlacklistEntry 3 params → 204404
GET
/{clientId}/customblacklists/{customBlacklistId}
Get information about a custom blocklist
getCustomBlacklist 2 params → 200404409
POST
/{clientId}/customblacklists/{customBlacklistId}
Update a custom blocklist
updateCustomBlacklist 2 params body → 200
Scheduled jobs 2

Get information about scheduled jobs

GET
/{clientId}/customerjobs/configured
Get information about all configured scheduled jobs
selectAllConfiguredJobs 2 params → 200400403
GET
/{clientId}/customerjobs/running
Get information about all running scheduled jobs
selectAllRunningJobs 1 param → 200400403
Folders 7

Manage folders for mailings, message templates, custom blacklists, images, recipient list and attachment

GET
/{clientId}/folders
Get information about all folders
selectFolders 5 params → 200400
POST
/{clientId}/folders
Create a folder
createFolder 1 param body → 201400404
POST
/{clientId}/folders/{folderId}/assign
Assign to an entity
assign 2 params body → 200400404409
GET
/{clientId}/folders/{folderId}
Get information about a folder
getFolder 2 params → 200404
POST
/{clientId}/folders/{folderId}
Update a folder
updateFolder 2 params body → 200404
DELETE
/{clientId}/folders/{folderId}
Delete a folder
deleteFolder 2 params → 204404409
POST
/{clientId}/folders/{folderId}/unassign
Unassign from an entity
unassign 2 params body → 200400404409
Mail archive 4

Get archived mailings

GET
/{clientId}/mailarchive/{bmMailId}
Get information about an archived mailing
getArchivedMailMetaData 2 params → 200400404409
GET
/{clientId}/mailarchive
Get information about all archived mailings
selectArchiveMails 10 params → 200204400
GET
/{clientId}/mailarchive/{bmMailId}/content
Get the content of an archived mailing
getArchivedMailContent 4 params → 200400404409
GET
/{clientId}/mailarchive/content
Get compressed file with archived mailing contents
selectArchivedMailContents 10 params → 200204400
Mail ID 3

Get information about a mail ID

GET
/{clientId}/mailid/{mailId}
Get information about a mail ID
getDetailedMailIdInformationByEncodedId 2 params → 200400409
GET
/{clientId}/mailid/{mailId}/plain
Get information about a plain mail ID (contains only mailing id)
getDetailedMailIdInformationByEncodedPlainId 2 params → 200400
GET
/{clientId}/mailid
Retrieve a mail ID
retrieveBmMailId 2 params → 200400409
Message templates 6

Manage message templates

GET
/{clientId}/messagetemplates
Get information about all message templates
selectMessageTemplates 6 params → 200400
POST
/{clientId}/messagetemplates
Create or copy a message template
createOrCopyMessageTemplate 1 param body → 201
GET
/{clientId}/messagetemplates/{messageTemplateId}
Get information about a message template
getMessageTemplate 2 params → 200409
POST
/{clientId}/messagetemplates/{messageTemplateId}
Update a message template
updateMessageTemplate 2 params body → 200
DELETE
/{clientId}/messagetemplates/{messageTemplateId}
Delete a message template
deleteMessageTemplate 2 params → 204409
POST
/{clientId}/messagetemplates/{messageTemplateId}/test
Test a message template
testMessageTemplate 2 params body → 202
Opt-in processes 4

View, update and create opt-in processes

GET
/{clientId}/optinprocesses
Get information about all opt-in processes
selectOptinProcesses 4 params → 200400
POST
/{clientId}/optinprocesses
Create an opt-in process
createOptinProcess 1 param body → 201404
GET
/{clientId}/optinprocesses/{optinProcessId}
Get information about an opt-in process
getOptinProcess 2 params → 200409
POST
/{clientId}/optinprocesses/{optinProcessId}
Update an opt-in process
updateOptinProcess 2 params body → 200
Recipient lists 6

View, copy and update recipient lists

GET
/{clientId}/recipientlists
Get information about all recipient lists
selectRecipientLists 6 params → 200400
POST
/{clientId}/recipientlists
Copy a recipient list
copyRecipientList 1 param body → 201400
GET
/{clientId}/recipientlists/{recipientListId}
Get information about a recipient list
getRecipientList 2 params → 200409
POST
/{clientId}/recipientlists/{recipientListId}
Update a recipient list
updateRecipientList 2 params body → 200
GET
/{clientId}/recipientlists/{recipientListId}/attributeNames
Get the attribute names of a recipient list
getRecipientListAttributeNames 2 params → 200409
GET
/{clientId}/recipientlists/{recipientListId}/fields
Get the fields of a recipient list
getRecipientListFields 2 params → 200409
Recipients 19

Manage recipients or delete recipient history

GET
/{clientId}/recipients/{recipientListId}
Get information about all recipients in a recipient list
selectRecipients 9 params → 200429
PUT
/{clientId}/recipients/{recipientListId}
Add multiple recipients to a recipient list. Double opt-in processes will not be overwritten by other opt-in processes (see Opt-in documentation ).
addRecipients 2 params body → 200409
POST
/{clientId}/recipients/{recipientListId}
Add a recipient to a recipient list. Double opt-in processes will not be overwritten by other opt-in processes (see Opt-in documentation ).
addRecipient 2 params body → 201202400409
DELETE
/{clientId}/recipients/{recipientListId}
Delete recipients from a recipient list
deleteRecipients 5 params → 204400
GET
/{clientId}/recipients/{recipientListId}/count
Get the total number of recipients in a recipient list
countRecipients 3 params → 200429
GET
/{clientId}/recipients/{recipientListId}/distinctvalues/count
Get the total number of recipients for distinct attribute values
countDistinctValues 5 params → 200400
GET
/{clientId}/recipients/{recipientListId}/distinctvalues
Get all distinct attribute values of a recipient
retrieveDistinctValues 5 params → 200400
PUT
/{clientId}/recipients/{recipientListId}/modify
Update attribute values of multiple recipients
modifyRecipientsAttributes 2 params body → 200
POST
/{clientId}/recipients/{recipientListId}/modify
Update attribute values of recipients filtered by a target group
modifyRecipientsAttributesByTargetGroup 2 params body → 200400
GET
/{clientId}/recipients/{recipientListId}/{recipientId}
Get information about a recipient
getRecipient 5 params → 200404
POST
/{clientId}/recipients/{recipientListId}/{recipientId}
Update attribute values of a recipient
modifyRecipientAttributes 3 params body → 200409
DELETE
/{clientId}/recipients/{recipientListId}/{recipientId}
Delete a recipient from a recipient list
deleteRecipient 3 params → 204404
GET
/{clientId}/recipients/{recipientListId}/{recipientId}/optinstatus
Check status optin of given recipient
getOptinStatus 3 params → 200400404
GET
/{clientId}/recipients/{recipientListId}/{recipientId}/valid
Check whether a recipient is valid
isRecipientValid 4 params → 200404
POST
/{clientId}/recipients/trackingoptout
Create a tracking opt-out
createTrackingOptOut 1 param body → 201406
DELETE
/{clientId}/recipients/trackingoptout
Delete a tracking opt-out
deleteTrackingOptOut 2 params → 204406
GET
/{clientId}/recipients
Check whether a recipient is valid in multiple recipient lists
isRecipientValid_1 4 params → 200400
DELETE
/{clientId}/recipients
Delete the recipient history
wipeRecipientHistory 3 params → 202400
POST
/{clientId}/recipients/updaterecipientid
Update a recipient ID
updateRecipientId 1 param body → 200400
Responses 5

Manage mailing responses, such as hard or soft bounces

GET
/{clientId}/responses/bounces/{recipientId}
Get the total number of hard or soft bounces of a recipient
getBounceCounter 4 params → 200
DELETE
/{clientId}/responses/bounces/{recipientId}
Delete hard and soft bounces
resetBounceCounter 3 params → 204
GET
/{clientId}/responses/bounces/{recipientId}/thresholdExceeded
Get information about whether a recipient has exceeded the hard or the soft bounce threshold
isBounceCounterThresholdExceeded 3 params → 200
GET
/{clientId}/responses/bounces
Get the maximum number of allowed bounces of a recipient
getBounceCounterThreshold 2 params → 200
GET
/{clientId}/responses
Get information about all responses of a recipient
selectResponses 5 params → 200400404
Batch sending 5

Create and send messages as batches to recipients segmented in separate platform

GET
/{clientId}/sending/batches/{sendingBatchId}
Get information about a sending batch
getSendingBatch 2 params → 200404
PUT
/{clientId}/sending/batches/{sendingBatchId}
Persist chunked recipients
addRecipients_1 2 params body → 200400404409
POST
/{clientId}/sending/batches/{sendingBatchId}
Send campaign to the chunked recipients
importRecipientsAndSendBatch 2 params body → 202400404409
GET
/{clientId}/sending/batches
Get information about all sending batches
selectSendingBatches 3 params → 200400
POST
/{clientId}/sending/batches
Prepares new sending batch
prepareNewBatch 1 param body → 201400409
Unsubscribes 4

Manage recipients on an unsubscribe list

GET
/{clientId}/unsubscribes/count
Get the total number of unsubscribes
countUnsubscribes 2 params → 200
GET
/{clientId}/unsubscribes
Get information about all unsubscribe entries
selectUnsubscribes 8 params → 200400
POST
/{clientId}/unsubscribes
Add recipients to the internal unsubscribe list or unsubscribe recipients (max. 5000)
createUnsubscribes 1 param body → 200400
DELETE
/{clientId}/unsubscribes
Remove one or multiple recipients from the internal unsubscribe list
removeUnsubscribes 4 params → 204404
Users 2

User Management

GET
/{clientId}/users/authenticated
Get basic information of an authenticated user.
getAuthenticatedUser 1 param → 200
POST
/{clientId}/users/rotatepassword
Rotate a password. Please be aware that after rotation it can take some minutes until the new password can be used.
rotatePassword 1 param body → 202400
Webhooks 7

Manage webhooks

POST
/{clientId}/webhooks/{webhookId}/activate
Activate a webhook
activateWebhook 2 params → 200400404409
GET
/{clientId}/webhooks
Get information about all webhooks
selectWebhooks 5 params → 200
POST
/{clientId}/webhooks
Create a webhook
createWebhook 1 param body → 201400
POST
/{clientId}/webhooks/{webhookId}/deactivate
Deactivate a webhook
deactivateWebhook 2 params → 200400404409
PUT
/{clientId}/webhooks/{webhookId}
Update a webhook
updateWebhook 2 params body → 200400404409
DELETE
/{clientId}/webhooks/{webhookId}
Delete a webhook
deleteWebhook 2 params → 204400404409
GET
/{clientId}/webhooks/{webhookId}/verify
Verify a webhook
verifyWebhook 4 params → 200400

Schemas 150

The contract defines 150 schemas that model the data the API accepts and returns. The most detailed are RestMessageNode (34 properties), MessageRequestData (27 properties), EventBasedMailingRequestData (24 properties), ConfirmationMailingRequestData (21 properties). Each schema is shown below with its type and property counts.

RestCount
object
2 properties
RestMultiPartRequestSchema
object
2 properties 1 required
RestImage
object
7 properties
RestApiLink
object
2 properties
RestImageStreamingCollection
object
5 properties
RestAttachment
object
11 properties
AttachmentRequestData
object
3 properties
RestPersonalizedAttachment
object
List of uploaded attachments
6 properties
RestPersonalizedAttachmentUpload
object
2 properties
BodyPart
object
8 properties
ContentDisposition
object
7 properties
FormDataBodyPart
object
Attachment files
12 properties
FormDataContentDisposition
object
8 properties
MessageBodyWorkers
object
MultiPart
object
9 properties
ParameterizedHeader
object
2 properties
RestAttachmentStreamingCollection
object
5 properties
RestBlacklistedEntry
object
2 properties
BlacklistEntryRequestData
object
2 properties 1 required
RestBlacklistEntry
object
6 properties
RestBlacklistEntryStreamingCollection
object
5 properties
ConfirmationMailingRequestData
object
21 properties 4 required
Filter
object
1 property
Point
object
Grid location point
2 properties
RestMessageNode
object
34 properties
RestRecipientListsNode
object
5 properties
RestSmartCampaign
object
15 properties
RestTargetGroupNode
object
6 properties
MultiRequest
object
1 property
TestMailingReport
object
7 properties
TestMailingStartedReport
object
5 properties
TestMailingRequestData
object
5 properties 2 required
RestTrackingLink
object
9 properties
TrackingLinkConfigurationRequestData
object
4 properties
RestTrackingConfiguration
object
6 properties
TrackingConfigurationRequestData
object
5 properties
MessageRequestData
object
27 properties
RecipientListsRequestData
object
2 properties 1 required
CampaignMailingRestReport
object
8 properties
RestBounces
object
Number of hard and soft bounces
2 properties
RestClicks
object
Number of unique and total clicks
2 properties
RestOpens
object
Number of unique and total opens
2 properties
RestRecipients
object
Number of total, skipped and in-queue recipients
4 properties
RestReport
object
5 properties
RestSmartCampaignStreamingCollection
object
5 properties
CampaignRequestData
object
3 properties
SplitRequestData
object
12 properties
RestDelay
object
Delay time
3 properties
RestPersonalizedSchedule
object
Send time optimization settings
5 properties
RestSplitNode
object
5 properties
RestSplitOptimization
object
6 properties
RestSplitSuccessor
object
6 properties
SplitSuccessorRequestData
object
6 properties
RestAnalysisData
object
4 properties
BlockRequestData
object
3 properties
RestBlockNode
object
5 properties
CapRequestData
object
4 properties
RestCapNode
object
6 properties
WaitRequestData
object
10 properties
RestWaitNode
object
8 properties
TargetGroupRequestData
object
4 properties
ThrottleRequestData
object
3 properties
RestThrottleNode
object
5 properties
EventBasedMailingRequestData
object
24 properties 4 required
SendTransactionalMailingRequestData
object
4 properties 2 required
RestMailId
object
1 property
RestSendStatus
object
2 properties
ClickProfileRequestData
object
4 properties 1 required
RestClickProfile
object
8 properties
AssignLinksToClickProfileRequestData
object
1 property 1 required
RestLink
object
6 properties
RestLinkStreamingCollection
object
5 properties
RestClickProfileStreamingCollection
object
5 properties
CouponBlockRequestData
object
3 properties 2 required
RestCouponBlock
object
8 properties
RestCouponBlockCounter
object
Counter of coupon codes
3 properties
CouponCodeRequestData
object
1 property 1 required
RestCouponCode
object
8 properties
RestCouponCodeStreamingCollection
object
5 properties
RestAssignedMailings
object
1 property
RestCouponBlockStreamingCollection
object
5 properties
CustomBlacklistRequestData
object
2 properties 1 required
RestCustomBlacklist
object
6 properties
CreateCustomBlacklistEntriesRequestData
object
2 properties 1 required
RestCustomBlacklistEntry
object
6 properties
CustomBlacklistEntryRequestData
object
1 property
RestCustomBlacklistEntryStreamingCollection
object
5 properties
RestCustomBlacklistStreamingCollection
object
5 properties
RestConfiguredJob
object
5 properties
RestConfiguredJobStreamingCollection
object
5 properties
RestJobTrigger
object
6 properties
RestRunningJob
object
3 properties
RestRunningJobStreamingCollection
object
5 properties
FolderRequestData
object
3 properties 2 required
RestFolder
object
6 properties
UnAssignEntityToFolderRequestData
object
1 property 1 required
RestFolderStreamingCollection
object
5 properties
RestArchiveMail
object
5 properties
RestMailIdInfo
object
4 properties
RestMailIdPlainInfo
object
2 properties
RestMailIdPlain
object
1 property
MessageTemplateRequestData
object
13 properties 1 required
RestMessageTemplate
object
17 properties
MessageTemplateTestMailingRequestData
object
5 properties 2 required
MessageTemplateTestResponse
object
1 property
RestMessageTemplateStreamingCollection
object
5 properties
OptinProcessRequestData
object
5 properties 2 required
RestOptinProcess
object
9 properties
RestOptinProcessStreamingCollection
object
5 properties
CopyRecipientListRequestData
object
1 property 1 required
RestRecipientList
object
10 properties
RestRecipientListAttributeNames
object
2 properties
RestRecipientListField
object
4 properties
RestRecipientListFieldStreamingCollection
object
5 properties
RecipientListRequestData
object
3 properties
RestRecipientListStreamingCollection
object
5 properties
CreateRecipientRequestData
object
5 properties 1 required
RestRecipient
object
5 properties
CreateRecipientsRequestData
object
2 properties
ExtendedRecipient
object
3 properties
RestRecipientsCreationModify
object
2 properties
RestAttributeValuesWithCount
object
1 property
RestAttributeValues
object
2 properties
Recipient
object
2 properties
UpdateRecipientsRequestData
object
2 properties
ModifyRecipientsAttributesRequestData
object
3 properties 1 required
RestRecipientValid
object
4 properties
ModifyRecipientAttributesRequestData
object
2 properties
RestRecipientStreamingCollection
object
5 properties
RecipientBasedRequestData
object
1 property 1 required
UpdateRecipientIdRequestData
object
2 properties 2 required
RestBounceCounterThresholdExceeded
object
2 properties
RestResponse
object
9 properties
RestResponseStreamingCollection
object
5 properties
RestChunk
object
2 properties
RecipientsChunkRequestData
object
2 properties
RestSendingBatch
object
7 properties
PrepareSendingBatchRequest
object
3 properties 2 required
RestSendingBatchStreamingCollection
object
5 properties
CreateUnsubscribesRequestData
object
4 properties
RestUnsubscribesCreateResult
object
2 properties
RestUnsubscribe
object
7 properties
RestUnsubscribeStreamingCollection
object
5 properties
AuthenticatedUser
object
3 properties
UserRequestData
object
2 properties 2 required
RestUser
object
2 properties
RestWebhook
object
8 properties
WebhookAuthentication
object
Authentication method and attributes
1 property 1 required
WebhookRequestData
object
6 properties 3 required
RestWebhookVerify
object
5 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

optimizely-campaign-optimizely-campaign-rest-api-openapi.json Raw ↑

Other APIs Optimizely publishes across the network.

Optimizely Experimentation REST API v2
Optimizely Feature Experimentation Flags API v1
Optimizely Flags Scheduling API
Optimizely Permission Service API
Optimizely Agent API
Optimizely Event API
Optimizely Edge Decider API
Optimizely Data Platform (ODP) API v3
Optimizely Graph API
Optimizely Content Marketing Platform (CMP) API v3
Optimizely Configured Commerce API
Optimizely CMS Content Delivery API v3.0
Where this information came from

This is an independent, third-party profile of Optimizely Campaign REST API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.