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 Content Marketing Platform (CMP) API v3

The CMP Open REST API — campaigns, tasks, work requests, templates, content, library assets (images, videos, raw files), users and settings. 115 paths, OAuth 2.0 with both authorization code and client credentials. The most actively changelogged API in the Optimizely estate. Harvested verbatim 2026-08-13.

Optimizely Content Marketing Platform (CMP) API v3 is one of 50 APIs that Optimizely publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Content Marketing and Workflows. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, rate-limit docs, and a changelog.

This API exposes 170 operations across 115 paths, organized into 19 resource areas, and defines 359 schemas. It is described by OpenAPI 3.0.0, at version V3.

Requests are made against a single base URL, https://api.cmp.optimizely.com/v3.

170 operations 115 paths 359 schemas 14 DELETE80 GET21 PATCH46 POST9 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
V3
Base URL
https://api.cmp.optimizely.com/v3
Authentication
OAuth 2.0
Resource Areas
19

Authentication & Security 1

Optimizely Content Marketing Platform (CMP) API v3 declares 1 security scheme for authenticating requests. It supports OAuth 2.0 (OAuth2) using the authorizationCode and clientCredentials flows, exposing 3 scopes. By default, every request must be authenticated.

Paths & Operations 170

Across 115 paths, the API surfaces 170 operations — 14 DELETE, 80 GET, 21 PATCH, 46 POST, 9 PUT. They span 19 resource areas, including Uploader, Library, Labels, Tasks, Task Step, Brand Compliance, Milestones, Campaigns, and 11 more. Each is listed below with its method, path, parameters, and response codes.

Uploader 4
GET
/upload-url
GET /upload-url
getUploadUrl → 200400401403
POST
/multipart-uploads
POST /v3/multipart-uploads
createMultipartUpload body → 201400401403422
GET
/multipart-uploads/{id}/status
GET /v3/multipart-uploads/{id}/status
getMultipartUploadStatus 1 param → 200401403404
POST
/multipart-uploads/{id}/complete
POST /v3/multipart-uploads/{id}/complete
completeMultipartUpload 1 param → 202401403404422
Library 41
GET
/folders
GET /folders
listFolders 3 params → 200400401403
POST
/folders
POST /folders
createFolder body → 201400401403404
GET
/folders/{id}
GET /folders/{id}
getFolder 1 param → 200400401403404
PATCH
/folders/{id}
PATCH /folders/{id}
updateFolder 1 param body → 200400401403404
DELETE
/folders/{id}
DELETE /folders/{id}
deleteFolder 1 param → 204400401403404
GET
/folders/{id}/permissions
GET /folders/{id}/permissions
listFolderPermissions 4 params → 200400401403404
POST
/folders/{id}/permissions
POST /folders/{id}/permissions
addFolderPermissions 1 param body → 204400401403404
PATCH
/folders/{id}/permissions/{accessor_id}
PATCH /folders/{id}/permissions/{accessorid}
updateFolderPermission 2 params body → 204400401403404422
DELETE
/folders/{id}/permissions/{accessor_id}
DELETE /folders/{id}/permissions/{accessorid}
removeFolderPermission 2 params → 204400401403404422
POST
/file-urls
POST /file-urls
createFileUrls body → 200400401403404
GET
/assets
GET /assets
listAssets 13 params → 200400401403
POST
/assets
POST /assets
createAsset body → 201400401403
GET
/assets/{asset_id}/fields
GET assets/{assetid}/fields
listAssetFields 3 params → 200400401403404
PUT
/assets/{asset_id}/fields
PUT /assets/{assetid}/fields
updateAssetFields 1 param body → 200400401403404
PUT
/assets/{asset_id}/fields/{field_id}
PUT /assets/{assetid}/fields/{fieldid}
updateAssetField 2 params body → 200400401403404
POST
/assets/{asset_id}/versions
POST /assets/{assetid}/versions
createAssetVersion 1 param body → 201400401403404422
GET
/assets/{asset_id}/renditions
GET /assets/{assetid}/renditions
listAssetRenditions 1 param → 200400401403404
GET
/assets/{asset_id}/permissions
GET /assets/{assetid}/permissions
listAssetPermissions 4 params → 200400401403404
POST
/assets/{asset_id}/permissions
POST /assets/{assetid}/permissions
addAssetPermissions 1 param body → 204400401403404
PATCH
/assets/{asset_id}/permissions/{accessor_id}
PATCH /assets/{assetid}/permissions/{accessorid}
updateAssetPermission 2 params body → 204400401403404422
DELETE
/assets/{asset_id}/permissions/{accessor_id}
DELETE /asstes/{assetid}/permissions/{accessorid}
removeAssetPermission 2 params → 204400401403404422
GET
/renditions/{id}
GET /renditions/{id}
getRendition 1 param → 200400401403404
GET
/rendition-configs/{id}
GET /rendition-configs/{id}
getRenditionConfig 1 param → 200400401403404
POST
/assets/{asset_id}/lineages
POST /assets/{assetid}/lineages
createAssetLineage 1 param body → 201400401403404422
DELETE
/assets/{asset_id}/lineages/{lineage_id}
DELETE /assets/{assetid}/lineages/{lineageid}
deleteAssetLineage 2 params → 204400401403404422
GET
/assets/{asset_id}/related-assets
GET /assets/{assetid}/related-assets
listRelatedAssets 3 params → 200400401403404
PUT
/assets/{asset_id}/related-assets
PUT /assets/{assetid}/related-assets
replaceRelatedAssets 1 param body → 200400401403404
GET
/asset-lineages
GET /asset-lineages
listAssetLineages 6 params → 200400401403
GET
/articles/{id}
GET /articles/{id}
getArticle 1 param → 200400401403404
GET
/images/{id}
GET /images/{id}
getImage 1 param → 200400401403404
PATCH
/images/{id}
PATCH /images/{id}
updateImage 1 param body → 200400401403404422
DELETE
/images/{id}
DELETE /images/{id}
deleteImage 1 param → 204400401403404422
GET
/videos/{id}
GET /videos/{id}
getVideo 1 param → 200400401403404
PATCH
/videos/{id}
PATCH /videos/{id}
updateVideo 1 param body → 200400401403404422
DELETE
/videos/{id}
DELETE /videos/{id}
deleteVideo 1 param → 204400401403404422
GET
/raw-files/{id}
GET /raw-files/{id}
getRawFile 1 param → 200400401403404
PATCH
/raw-files/{id}
PATCH /raw-files/{id}
updateRawFile 1 param body → 200400401403404422
DELETE
/raw-files/{id}
DELETE /raw-files/{id}
deleteRawFile 1 param → 200400401403404422
POST
/structured-contents
POST /structured-contents
createStructuredContent body → 200400401403404422
GET
/structured-contents/{id}
GET /structured-contents/{id}
getStructuredContent 1 param → 200400401403404
PATCH
/structured-contents/{id}
PATCH /structured-contents/{id}
updateStructuredContent 1 param body → 200400401403404422
Labels 1
GET
/label-groups
GET /label-groups
listLabelGroups 3 params → 200400401403
Tasks 44

Facilitates the integration of external systems with Optimizely CMP through the following use cases: 1. External Work Management – Use the endpoints to link Optimizely CMP with an…

GET
/tasks
GET /tasks
listTasks 9 params → 200401403
POST
/tasks
POST /tasks
createTask body → 201400401403404
GET
/tasks/{id}
GET /tasks/{id}
getTask 1 param → 200400401403404
PATCH
/tasks/{id}
PATCH /tasks/{id}
updateTask 1 param body → 200400401403404
POST
/tasks/{task_id}/urls
POST /tasks/{taskid}/urls
addUrlToTask 1 param body → 201400401403404422
GET
/tasks/{id}/brief
GET /tasks/{id}/brief
getTaskBrief 1 param → 200400401403404
GET
/tasks/{id}/custom-fields
GET tasks/{id}/custom-fields
listTaskCustomFields 3 params → 200400401403404
GET
/tasks/{task_id}/custom-fields/{custom_field_id}
GET /tasks/{taskid}/custom-fields/{customfieldid}
getTaskCustomField 2 params → 200400401403404
PATCH
/tasks/{task_id}/custom-fields/{custom_field_id}
PATCH /tasks/{taskid}/custom-fields/{customfieldid}
updateTaskCustomField 2 params body → 200400401403404422
GET
/tasks/{task_id}/custom-fields/{custom_field_id}/choices
GET /tasks/{taskid}/custom-fields/{customfieldid}/choices
listTaskCustomFieldChoices 4 params → 200400401403404
GET
/tasks/{task_id}/fields
GET tasks/{taskid}/fields
listTaskFields 3 params → 200400401403404
POST
/tasks/{task_id}/fields
POST tasks/{taskid}/fields
addFieldToTask 1 param body → 201400401403404422
PUT
/tasks/{task_id}/fields/{field_id}
PUT tasks/{taksid}/fields/{fieldid}
updateTaskField 2 params body → 204400401403404422
DELETE
/tasks/{task_id}/fields/{field_id}
DELETE tasks/{taskid}/fields/{fieldid}
removeTaskField 2 params → 204400401403404
GET
/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}
GET /tasks/{taskid}/steps/{stepid}/sub-steps/{substepid}
getTaskSubStep 3 params → 200400401403404
PATCH
/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}
PATCH /tasks/{taskid}/steps/{stepid}/sub-steps/{substepid}
updateTaskSubStep 3 params body → 200400401403404422
GET
/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/external-work
GET /tasks/{taskid}/steps/{stepid}/sub-steps/{substepid}/external-work
getTaskSubStepExternalWork 3 params → 200400401403404
PATCH
/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/external-work
PATCH /tasks/{taskid}/steps/{stepid}/sub-steps/{substepid}/external-work
updateTaskSubStepExternalWork 3 params body → 200400401403404422
GET
/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/comments
GET /tasks/{taskid}/steps/{stepid}/sub-steps/{substepid}/comments
listTaskSubStepComments 3 params → 200400401403404
POST
/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/comments
POST /tasks/{taskid}/steps/{stepid}/sub-steps/{substepid}/comments
addCommentToTaskSubStep 3 params body → 201400401403404422
GET
/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/fields
GET /tasks/{taskid}/steps/{stepid}/sub-steps/{substepid}/fields
listTaskSubStepFields 5 params → 200400401403404
GET
/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/comments/{comment_id}
GET /tasks/{taskid}/steps/{stepid}/sub-steps/{substepid}/comments/{commentid}
getTaskSubStepComment 4 params → 200400401403404
PATCH
/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/comments/{comment_id}
PATCH /tasks/{taskid}/steps/{stepid}/sub-steps/{substepid}/comments/{commentid}
updateTaskSubStepComment 4 params body → 200400401403404422
DELETE
/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/comments/{comment_id}
DELETE /tasks/{taskid}/steps/{stepid}/sub-steps/{substepid}/comments/{commentid}
deleteTaskSubStepComment 4 params → 204400401403404422
GET
/tasks/{id}/assets
GET /tasks/{id}/assets
listTaskAssets 3 params → 200400401403404
POST
/tasks/{id}/assets
POST /tasks/{id}/assets
addAssetToTask 1 param body → 201400401403404422
POST
/tasks/{task_id}/assets/{asset_id}/drafts
POST /tasks/{taskid}/assets/{assetid}/drafts
addDraftToTaskAsset 2 params body → 201400401403404422
GET
/tasks/{task_id}/assets/{asset_id}/drafts
GET /tasks/{taskid}/assets/{assetid}/drafts
listTaskAssetDrafts 2 params → 200400401403404
GET
/tasks/{task_id}/assets/{asset_id}/comments
GET /tasks/{taskid}/assets/{assetid}/comments
listTaskAssetComments 2 params → 200400401403404
POST
/tasks/{task_id}/assets/{asset_id}/comments
POST /tasks/{taskid}/assets/{assetid}/comments
addCommentToTaskAsset 2 params body → 201400401403404422
GET
/tasks/{task_id}/assets/{asset_id}/fields
GET /tasks/{taskid}/assets/{assetid}/fields
listTaskAssetFields 2 params → 200400401403404
PUT
/tasks/{task_id}/assets/{asset_id}/fields
PUT tasks/{taskid}/assets/{assetid}/fields
updateTaskAssetFields 2 params body → 204400401403404
GET
/tasks/{id}/attachments
GET /tasks/{id}/attachments
listTaskAttachments 3 params → 200400401403404
GET
/tasks/{task_id}/articles/{article_id}
GET /tasks/{taskid}/articles/{articleid}
getTaskArticle 2 params → 200400401403404
GET
/tasks/{task_id}/images/{image_id}
GET /tasks/{taskid}/images/{imageid}
getTaskImage 2 params → 200400401403404
GET
/tasks/{task_id}/videos/{video_id}
GET /tasks/{taskid}/videos/{videoid}
getTaskVideo 2 params → 200400401403404
GET
/tasks/{task_id}/raw-files/{raw_file_id}
GET /tasks/{taskid}/raw-files/{rawfileid}
getTaskRawFile 2 params → 200400401403404
POST
/tasks/{task_id}/comments
POST /tasks/{taskid}/comments
addCommentToTask 1 param body → 201400401403404
POST
/tasks/{task_id}/publishing-intents
POST /tasks/{taskid}/publishing-intents
createTaskPublishingIntent 1 param body → 201400401403404
POST
/tasks/{task_id}/structured-contents
POST /tasks/{taskid}/structured-contents
addStructuredContentToTask 1 param body → 201400401403404422
GET
/tasks/{task_id}/structured-contents/{content_id}
GET /tasks/{taskid}/structured-contents/{contentid}
getTaskStructuredContent 2 params → 200400401403404
PATCH
/tasks/{task_id}/structured-contents/{content_id}
PATCH /tasks/{taskid}/structured-contents/{contentid}
updateTaskStructuredContent 2 params body → 200400401403404422
DELETE
/tasks/{task_id}/structured-contents/{content_id}
DELETE /tasks/{taskid}/structured-contents/{contentid}
deleteTaskStructuredContent 2 params → 204400401403404422
POST
/tasks/{task_id}/structured-contents/{content_id}/drafts
POST /tasks/{taskid}/structured-contents/{contentid}/drafts
createTaskStructuredContentDraft 2 params body → 201400401403404422
Task Step 1
PATCH
/tasks/{task_id}/steps/{step_id}
PATCH /tasks/{taskid}/steps/{stepid}
updateTaskStep 2 params body → 200400401403404422
Brand Compliance 3
GET
/tasks/{task_id}/assets/{asset_id}/drafts/{draft_id}/brand-compliance
GET /tasks/{taskid}/assets/{assetid}/drafts/{draftid}/brand-compliance
getTaskAssetDraftBrandCompliance 3 params → 200400401404
PUT
/tasks/{task_id}/assets/{asset_id}/drafts/{draft_id}/brand-compliance
PUT /tasks/{taskid}/assets/{assetid}/drafts/{draftid}/brand-compliance
updateTaskAssetDraftBrandCompliance 3 params body → 200400401404
GET
/brand-compliance/categories
GET /brand-compliance/categories
listBrandComplianceCategories 2 params → 200401403
Milestones 4
GET
/milestones
GET /milestones
listMilestones 5 params → 200401403
POST
/milestones
POST /milestones
createMilestone body → 201400401403404
GET
/milestones/{id}
GET /milestones/{id}
getMilestone 1 param → 200400401403404
PATCH
/milestones/{id}
PATCH /milestones/{id}
updateMilestone 1 param body → 200400401403404422
Campaigns 10
GET
/campaigns
GET /campaigns
listCampaigns 5 params → 200401403
POST
/campaigns
POST /campaigns
createCampaign body → 201400401403404422
GET
/campaigns/{id}
GET /campaigns/{id}
getCampaign 1 param → 200400401403404
PATCH
/campaigns/{id}
PATCH /campaigns/{id}
updateCampaign 1 param body → 204400401403404
POST
/campaigns/{id}/comments
POST /campaigns/{id}/comments
addCommentToCampaign 1 param body → 201400401403404
GET
/campaigns/{id}/fields
GET campaigns/{id}/fields
listCampaignFields 3 params → 200400401403404
POST
/campaigns/{id}/fields
POST campaigns/{id}/fields
addFieldToCampaign 1 param body → 201400401403404422
GET
/campaigns/{id}/brief
GET /campaigns/{id}/brief
getCampaignBrief 1 param → 200400401403404
POST
/campaigns/{id}/attachments
POST /campaigns/{id}/attachments
addAttachmentToCampaign 1 param body → 201400401403404
PUT
/campaigns/{campaign_id}/fields/{field_id}
PUT /campaigns/{campaignid}/fields/{fieldid}
updateCampaignField 2 params body → 200400401403404
Publishing 5
GET
/publishing-channels
GET /publishing-channels
listPublishingChannels 2 params → 200400401403
GET
/publishing-events/{publishing_event_id}
GET /v3/publishing-events/{publishingeventid}
getPublishingEvent 1 param → 200400401403404
GET
/publishing-events/{publishing_event_id}/publishing-metadata
GET /v3/publishing-events/{publishingeventid}/publishing-metadata
listPublishingEventMetadata 5 params → 200400401403404
POST
/publishing-events/{publishing_event_id}/publishing-metadata
POST /v3/publishing-events/{publishingeventid}/publishing-metadata
bulkCreatePublishingEventMetadata 1 param body → 200400401403404
GET
/publishing-events/{publishing_event_id}/assets/{asset_id}/publishing-metadata/{publishing_metadata_id}
GET v3/publishing-events/{publishingeventid}/assets/{assetid}/publishing-metadata/{publishingmetadataid}
getPublishingEventAssetMetadata 3 params → 200400401403404
Templates 2
GET
/templates
GET /templates
listTemplates 5 params → 200400401403
GET
/templates/{template_id}
GET /templates/{templateid}
getTemplate 1 param → 200401403404
Users 3
GET
/userlist
GET /userlist
listUsers 2 params → 200400401403404
GET
/users
GET /users
findUserByEmail 1 param → 302400401403404
GET
/users/{id}
GET /users/{id}
getUser 1 param → 200400401403404
Work Requests 16
GET
/work-requests
GET /work-requests
listWorkRequests 9 params → 200401403
POST
/work-requests
POST /work-requests
createWorkRequest body → 201401403422
GET
/work-requests/{id}
GET /work-requests/{id}
getWorkRequest 1 param → 200401403404
PATCH
/work-requests/{id}
PATCH /work-requests/{id}
updateWorkRequest 1 param body → 204400401403404422
GET
/work-requests/{id}/comments
GET /work-requests/{id}/comments
listWorkRequestComments 3 params → 200400401403404
POST
/work-requests/{id}/comments
POST /work-requests/{id}/comments
addCommentToWorkRequest 1 param body → 201400401403404
GET
/work-requests/{work_request_id}/comments/{comment_id}
GET /work-requests/{workrequestid}/comments/{commentid}
getWorkRequestComment 2 params → 200400401403404
POST
/work-requests/{id}/attachments
POST /work-requests/{id}/attachments
addAttachmentToWorkRequest 1 param body → 201400401403404
DELETE
/work-requests/{work_request_id}/attachments/{attachment_id}
DELETE /work-requests/{workrequestid}/attachments/{attachmentid}
deleteWorkRequestAttachment 2 params → 204400401403404422
POST
/work-requests/{id}/creative-assets
POST /work-requests/{id}/creative-assets
createWorkRequestCreativeAsset 1 param body → 200400401403404
DELETE
/work-requests/{work_request_id}/creative-assets/{creative_asset_id}
DELETE /work-requests/{workrequestid}/creative-assets/{creativeassetid}
deleteWorkRequestCreativeAsset 2 params → 204400401403404422
GET
/work-requests/{id}/approved-assets
GET /work-requests/{id}/approved-assets
listWorkRequestApprovedAssets 3 params → 200400401403404
POST
/work-requests/{id}/campaigns
POST /work-requests/{id}/campaigns
createCampaignFromWorkRequest 1 param body → 201400401403404
POST
/work-requests/{id}/tasks
POST /work-requests/{id}/tasks
createTaskFromWorkRequest 1 param body → 201400401403404422
GET
/work-requests/{id}/related-resources
GET /work-requests/{id}/related-resources
listWorkRequestRelatedResources 3 params → 200401403
PUT
/work-requests/{work_request_id}/form-fields/{form_field_identifier}
PUT /work-requests/{workrequestid}/form-fields/{formfieldidentifier}
updateWorkRequestFormField 2 params body → 200400401403404422
Structured Contents 17
GET
/structured-content/content-types
GET /structured-content/content-types
listSCContentTypes 3 params → 200422
POST
/structured-content/content-types
POST /structured-content/content-types
createSCContentType body → 200201422
GET
/structured-content/content-types/{content_type_id}
GET /structured-content/content-types/{contenttypeid}
getSCContentType 1 param → 200422
POST
/structured-content/content-types/{content_type_id}
POST /structured-content/content-types/{contenttypeid}
updateSCContentType 1 param body → 200422
GET
/structured-content/content-types/{content_type_id}/versions
GET /structured-content/content-types/{contenttypeid}/versions
listSCContentTypeVersions 1 param → 200422
POST
/structured-content/content-types/{content_type_id}/versions
POST /structured-content/content-types/{contenttypeid}/versions
createSCContentTypeVersion 1 param body → 200201422
GET
/structured-content/content-types/{content_type_id}/versions/{version_id}
GET /structured-content/content-types/{contenttypeid}/versions/{versionid}
getSCContentTypeVersion 2 params → 200422
POST
/structured-content/contents/{content_id}/migration
POST /structured-content/contents/{contentid}/migration
migrateSCContent 1 param body → 201400404409422
POST
/structured-content/contents/{content_id}/versions/{version_id}/previews/{preview_id}/acknowledge
POST /structured-content/contents/{contentid}/versions/{versionid}/previews/{previewid}/acknowledge
acknowledgeSCContentPreview 3 params body → 200422
POST
/structured-content/contents/{content_id}/versions/{version_id}/previews/{preview_id}/complete
POST /structured-content/contents/{contentid}/versions/{versionid}/previews/{previewid}/complete
completeSCContentPreview 3 params body → 200422
POST
/structured-content/content-types/{content_type_id}/managed-migrations
POST /structured-content/content-types/{contenttypeid}/managed-migrations
createSCContentTypeManagedMigration 1 param body → 200201400404
GET
/structured-content/content-types/{content_type_id}/managed-migrations
GET /structured-content/content-types/{contenttypeid}/managed-migrations
listSCContentTypeManagedMigrations 4 params → 200
POST
/structured-content/content-types/{content_type_id}/managed-migrations/{job_id}/start
POST /structured-content/content-types/{contenttypeid}/managed-migrations/{jobid}/start
startSCContentTypeManagedMigration 2 params → 200400404
GET
/structured-content/content-types/{content_type_id}/managed-migrations/{job_id}
GET /structured-content/content-types/{contenttypeid}/managed-migrations/{jobid}
getSCContentTypeManagedMigration 2 params → 200404
PATCH
/structured-content/content-types/{content_type_id}/managed-migrations/{job_id}
PATCH /structured-content/content-types/{contenttypeid}/managed-migrations/{jobid}
updateSCContentTypeManagedMigration 2 params body → 200422
DELETE
/structured-content/content-types/{content_type_id}/managed-migrations/{job_id}
DELETE /structured-content/content-types/{contenttypeid}/managed-migrations/{jobid}
deleteSCContentTypeManagedMigration 2 params → 204400404
POST
/structured-content/content-types/{content_type_id}/managed-migrations/validate
POST /structured-content/content-types/{contenttypeid}/managed-migrations/validate
validateSCContentTypeManagedMigration 1 param body → 200404
Assets 1
GET
/asset-urls/{asset_id}
GET /asset-urls/{assetid}
getAssetUrl 1 param → 302400401403404
Teams 2
GET
/teams
GET /teams
listTeams 2 params → 200401403
GET
/teams/{id}
GET /teams/{id}
getTeam 1 param → 200400401403404
Settings 2
GET
/settings
GET /settings
getSettings → 200401403
POST
/settings
POST /settings
updateSettings 2 params body → 200401403422
Workflows 2
GET
/workflows
GET /workflows
listWorkflows 2 params → 200401403
GET
/workflows/{workflow_id}
GET /workflows/{workflowid}
getWorkflow 1 param → 200401403404
Fields 6
GET
/fields
GET /fields
listFields 3 params → 200400401403404
POST
/fields
POST /fields
createField body → 201400401403404422
PATCH
/fields/{id}
PATCH /fields/{id}
updateField 1 param body → 204400401403404422
POST
/fields/{id}/choices
POST /fields/{id}/choices
createFieldChoices 1 param body → 201400401403404422
PATCH
/fields/{field_id}/choices/{choice_id}
PATCH /fields/{fieldid}/choices/{choiceid}
updateFieldChoice 2 params body → 204400401403404422
DELETE
/fields/{field_id}/choices/{choice_id}
DELETE /fields/{fieldid}/choices/{choiceid}
deleteFieldChoice 2 params → 204400401403404422
Events 6
GET
/events
GET /events
listEvents 5 params → 200401403
POST
/events
POST /events
createEvent body → 201400401403404422
GET
/events/{id}
GET /events/{id}
getEvent 1 param → 200400401403404
PATCH
/events/{id}
PATCH /events/{id}
updateEvent 1 param body → 200400401403404422
PUT
/events/{id}/fields
PUT /events/{id}/fields
updateEventFields 1 param body → 204400401403404422
GET
/events/{id}/fields
GET events/{id}/fields
listEventFields 3 params → 200400401403404

Schemas 359

The contract defines 359 schemas that model the data the API accepts and returns. The most detailed are LibraryArticle (28 properties), LibraryImage (26 properties), LibraryVideo (24 properties), LibraryRawFile (23 properties). Each schema is shown below with its type and property counts.

Error
object
Error payload
2 properties 1 required
FolderResponse
object
7 properties 7 required
Pagination
object
Pagination related information
2 properties 2 required
FolderCreateRequest
object
2 properties 1 required
FolderUpdateRequest
object
2 properties
BasePermissionsResponseSchema
object
6 properties 6 required
FolderPermissionListResponseItem
object
2 properties 2 required
FolderPermissionBulkCreateRequest
object
2 properties 2 required
FolderPermissionUpdateRequest
object
2 properties
FileUrlBulkCreateRequest
object
1 property 1 required
BatchFileUrlResponse
object
1 property 1 required
AssetContent
object
Content of the asset
2 properties 2 required
ResourceLabelResponse
object
Label associated to a fetched resource
2 properties 2 required
AssetResponse
object
15 properties 15 required
LibraryAssetCreateRequest
object
3 properties 2 required
BaseAssetField
object
4 properties 4 required
AssetFieldTypeCheckbox
AssetFieldTypeCurrencyNumber
AssetFieldTypeCommon
AssetFieldTypeDropdown
AssetFieldTypeLabel
AssetFieldTypePercentageNumber
AssetFieldTypeRadio
AssetFieldTypeSimpleNumber
AssetFieldListResponseItem
BaseObjectFieldUpdatePayload
object
2 properties 2 required
BaseObjectField
MultiChoiceTypeObjectFieldUpdatePayload
MultiChoiceTypeObjectField
NumberTypeObjectFieldUpdatePayload
NumberTypeObjectField
DateTypeObjectFieldUpdatePayload
DateTypeObjectField
DropdownTypeObjectFieldUpdatePayload
DropdownTypeObjectField
RadioButtonTypeObjectFieldUpdatePayload
RadioButtonTypeObjectField
StringTypeObjectFieldUpdatePayload
StringTypeObjectField
AssetTypeObjectFieldUpdatePayload
AssetTypeObjectField
AssetFieldsUpdateRequest
array
AssetFieldUpdateRequest
object
AssetFieldTypes
string
Type of the field
AssetFieldUpdateResponse
object
5 properties 5 required
AssetVersionCreateRequest
object
2 properties 2 required
LibraryAssetVersionResponse
object
8 properties 8 required
BaseAssetRenditionResponse
object
5 properties 5 required
AssetPermissionListResponseItem
object
2 properties 2 required
AssetPermissionBulkCreateRequest
object
2 properties 2 required
AssetPermissionUpdateRequest
object
2 properties
DetailedAssetRenditionResponse
RenditionConfigResponse
object
8 properties 8 required
AssetLineageCreateRequest
object
4 properties 2 required
AssetLineageResponse
object
10 properties 10 required
RelatedAssetItem
object
7 properties 7 required
RelatedAssetsListResponse
object
2 properties 2 required
ReplaceRelatedAssetsRequest
object
1 property 1 required
ReplaceRelatedAssetsResponse
object
2 properties 2 required
ArticleAuthorResponse
object
Author of the article
1 property 1 required
FeaturedImageResponse
object
9 properties 9 required
Tag
object
2 properties 2 required
LibraryArticle
object
28 properties 28 required
LibraryImage
object
26 properties 26 required
ResourceLabelRequest
object
Payload to associate labels to a resource
2 properties 2 required
LibraryImageUpdateRequest
object
11 properties
LibraryVideo
object
24 properties 24 required
LibraryVideoUpdateRequest
object
11 properties
LibraryRawFile
object
23 properties 23 required
LibraryRawFileUpdateRequest
object
10 properties
NumberFieldValueModel
object
2 properties 1 required
BooleanFieldValueModel
object
2 properties 1 required
DatetimeFieldValueModel
object
2 properties 1 required
TextFieldValueModel
object
2 properties 1 required
RichTextFieldValueModel
object
2 properties 1 required
LibraryAssetType
string
An enumeration.
LibraryAssetFieldValueModel
object
4 properties 2 required
LocalizedFieldValuesWithEmbeddedContent
object
2 properties 2 required
RecursiveStructuredContent
object
8 properties 2 required
ContentFieldValueWithEmbeddedModel
object
1 property 1 required
ContentFieldValueModel
object
4 properties 2 required
URLFieldValueModel
object
2 properties 1 required
JSONFieldValueModel
object
2 properties 1 required
ChoiceFieldValueModel
object
2 properties 1 required
LocationFieldValueModel
object
3 properties 2 required
StructuredContentBody
object
The fields of structured content
1 property
LibraryStructuredContentCreateRequest
object
3 properties 1 required
ContentDetailsModel
object
19 properties 11 required
ContentFieldValueExpandedModel
object
5 properties 3 required
LocalizedFieldValues
object
2 properties 2 required
error_reason
string
An enumeration.
ContentFieldsVersionValidation
object
1 property
ContentFieldsVersionDetails
object
8 properties 5 required
BaseContentTypeVersionModel
object
6 properties 6 required
FieldType
string
An enumeration.
CoreFieldDef
object
13 properties 5 required
ContentTypeFieldEmbedMixConfig
integer
Ref Type: 1 Refer only 2 Refer and create embed 3 Create only
AllowedContentTypeItem
object
2 properties 2 required
ContentTypeFieldDefinition
object
6 properties 3 required
LibraryAssetDefaultValue
object
2 properties 2 required
LibraryAssetFieldDefinition
object
3 properties 2 required
TextFieldDefinition
object
5 properties 3 required
BaseFieldDefinitionType
string
An enumeration.
LocationDefaultValue
object
2 properties 2 required
BaseFieldDefinition
object
3 properties 2 required
DatetimeFieldDefinition
object
4 properties 3 required
RichTextFieldDefinition
object
4 properties 2 required
ChoiceDisplayOption
string
An enumeration.
ChoiceFieldDefinition
object
4 properties 2 required
NumberFieldDefinition
object
4 properties 1 required
SCContentTypeVersion
VersionedContentTypeModel
object
15 properties 9 required
LibraryStructuredContent
object
11 properties 10 required
DeleteFieldValueModel
object
2 properties 1 required
StructuredContentFields
object
The fields of structured content
RecursivePatchStructuredContentFields
object
8 properties
ContentFieldWithEmbeddedPatchValueModel
object
2 properties 2 required
PatchLocalizedFieldValuesWithEmbeddedContent
object
2 properties 2 required
DeleteLocaleFieldValueModel
object
2 properties 2 required
LibraryStructuredContentUpdateRequest
object
3 properties
LabelGroupValue
object
Values of a label group
2 properties 2 required
LabelGroup
object
4 properties 4 required
TaskListResponseItem
object
13 properties 13 required
TaskCreateRequest
object
6 properties 1 required
TaskSubStep
object
9 properties 9 required
TaskStep
object
6 properties 6 required
TaskResponse
object
15 properties 14 required
TaskUpdateRequest
object
7 properties
AddUrlToTaskRequest
object
2 properties 1 required
TaskUrlResponse
object
2 properties 2 required
TaskBriefTemplateValue
object
Template info of the brief if the brief is of template type
2 properties 2 required
TaskBriefResponse
object
5 properties 4 required
TaskCustomField
object
5 properties 5 required
TaskCustomFieldUpdateRequest
object
1 property 1 required
TaskCustomFieldChoiceListResponseItem
object
2 properties 2 required
FieldBaseType
object
4 properties 4 required
FieldTypeCheckbox
FieldTypeCurrencyNumber
FieldTypeCommon
FieldTypeDropdown
FieldTypeLabel
FieldTypePercentageNumber
FieldTypeRadio
FieldTypeSimpleNumber
FieldListResponseItem
ObjectFieldCreateRequest
object
ObjectFieldCreateResponse
object
TaskFieldUpdateRequest
object
TaskSubStepRequest
object
5 properties
TaskStepRequest
object
1 property
TaskExternalWorkResponse
object
6 properties 6 required
TaskExternalWorkRequest
object
4 properties
AttachmentResponse
object
3 properties 3 required
TaskSubStepCommentResponse
object
7 properties 6 required
AttachmentRequest
object
2 properties 2 required
CommentWithReplyCreateRequest
object
3 properties 1 required
TaskSubStepCommentUpdateRequest
object
1 property 1 required
TaskAssetResponse
object
9 properties 9 required
TaskAssetRequestForDirectUpload
object
3 properties 2 required
TaskAssetRequestForLibrary
object
3 properties 3 required
TaskAssetRequest
object
TaskAssetDraftListResponseItem
object
8 properties 8 required
TaskAssetDraftResponse
object
8 properties 8 required
TaskAssetDraftBrandComplianceResponse
object
4 properties 4 required
TaskAssetDraftBrandComplianceRequest
object
2 properties 2 required
TaskAssetCommentResponse
object
7 properties 7 required
CommentCreateRequest
object
2 properties 1 required
TaskAssetFieldsUpdateRequest
array
TaskArticle
object
9 properties 8 required
TaskImage
object
11 properties 10 required
TaskVideo
object
10 properties 9 required
TaskRawFile
object
10 properties 9 required
TaskCommentResponse
object
9 properties 9 required
TaskPublishingIntentCreateRequest
object
1 property 1 required
TaskPublishingIntentResponse
object
1 property 1 required
TaskStructuredContentCreateRequest
object
11 properties 1 required
TaskStructuredContentUpdateRequest
object
8 properties
TaskStructuredContentDraftRequest
object
1 property 1 required
MilestoneResponse
object
7 properties 7 required
MilestoneCreateRequest
object
6 properties 3 required
MilestoneUpdateRequest
object
6 properties
CampaignListResponseItem
object
9 properties 9 required
CampaignCreateRequest
object
7 properties 1 required
BudgetResponse
object
Budget of the campaign
2 properties 2 required
CampaignResponse
object
12 properties 12 required
CampaignUpdateRequest
object
4 properties
CampaignCommentResponse
object
9 properties 9 required
CampaignBriefTemplateValue
object
Template info of the brief if the brief is of template type
2 properties 2 required
CampaignBriefResponse
object
5 properties 4 required
CampaignFieldUpdateRequest
object
CampaignFieldTypes
string
Type of the field
CampaignFieldUpdateResponse
object
5 properties 5 required
PublishingChannelResponse
object
3 properties 3 required
PublishingChannelListResponse
object
2 properties 2 required
PublishingEventAssets
object
4 properties 4 required
PublishingEventResponse
object
3 properties 3 required
PublishingEventMetadataResponse
object
9 properties 9 required
PublishingEventMetadataListResponse
object
1 property
PublishingEventMetadataCreateRequest
object
6 properties 2 required
PublishingEventMetadataBulkCreateRequest
object
1 property 1 required
PublishingEventMetadataBulkCreateResponse
object
2 properties 2 required
BaseTemplateResponse
object
5 properties 5 required
TemplateListResponse
object
2 properties 2 required
BaseTemplateFormField
object
8 properties 7 required
TemplateLogicRuleCondition
object
Condition of the rule
2 properties 2 required
TemplateLogicRuleAction
object
Action to perform for the rule
3 properties 3 required
TemplateLogicRule
array
List of logic rules
TemplateDefaultFormField
ResourceChoiceResponse
object
2 properties 2 required
TemplateChoiceFormField
TemplateCurrencyNumberFormField
TemplateInstructionFormField
TemplatePercentageNumberFormField
TemplateSimpleNumberFormField
TemplateResponse
UserListResponseItem
object
7 properties 7 required
UserListResponse
object
2 properties 2 required
UserResponse
object
7 properties 6 required
BaseFormFieldResponse
object
4 properties 3 required
WorkRequestTextBriefResponse
object
Written brief
2 properties 2 required
WorkRequestAttachmentBriefResponse
object
Brief from uploaded attachment
2 properties 2 required
BriefTypeFormFieldResponse
MultiChoiceTypeFormFieldResponse
NumberTypeFormFieldResponse
DateTypeFormFieldResponse
FileTypeFormFieldValueResponse
object
3 properties 3 required
FileTypeFormFieldResponse
RadioButtonTypeFormFieldResponse
TextTypeFormFieldResponse
WorkRequestResponse
object
11 properties 11 required
BaseFormFieldRequest
object
3 properties 3 required
WorkRequestTextBriefRequest
object
Written brief
2 properties 2 required
WorkRequestAttachmentBriefRequest
object
Brief from uploaded attachment
2 properties 2 required
BriefTypeFormFieldRequest
MultiChoiceTypeFormFieldRequest
NumberTypeFormFieldRequest
DateTypeFormFieldRequest
FileTypeFormFieldValueRequest
object
2 properties 2 required
FileTypeFormFieldRequest
RadioButtonTypeFormFieldRequest
TextTypeFormFieldRequest
WorkRequestCreateRequest
object
3 properties 2 required
WorkRequestUpdateRequest
object
3 properties
WorkRequestCommentResponse
object
9 properties 9 required
CreativeAssetRequest
object
2 properties 2 required
CreativeAssetResponse
object
3 properties 3 required
WorkRequestApprovedAssetResponse
object
5 properties 5 required
WorkRequestCampaignRequest
object
6 properties 1 required
WorkRequestCampaignResponse
object
9 properties 9 required
WorkRequestTaskRequest
object
8 properties
WorkRequestTaskResponse
object
7 properties 6 required
WorkRequestRelatedResourceResponse
object
5 properties 5 required
WorkRequestRequestFormFieldBriefTypePayload
object
2 properties 2 required
WorkRequestRequestFormFieldCheckboxTypePayload
object
2 properties 2 required
WorkRequestRequestFormFieldCurrencyNumberTypePayload
object
2 properties 2 required
WorkRequestRequestFormFieldDateTypePayload
object
2 properties 2 required
WorkRequestRequestFormFieldDropdownTypePayload
object
2 properties 2 required
WorkRequestRequestFormFieldFileTypePayload
object
2 properties 2 required
WorkRequestRequestFormFieldLabelTypePayload
object
2 properties 2 required
WorkRequestRequestFormFieldPercentageNumberTypePayload
object
2 properties 2 required
WorkRequestRequestFormFieldRadioButtonTypePayload
object
2 properties 2 required
WorkRequestRequestFormFieldRichtextTypePayload
object
2 properties 2 required
WorkRequestRequestFormFieldSimpleNumberTypePayload
object
2 properties 2 required
WorkRequestRequestFormFieldTextAreaTypePayload
object
2 properties 2 required
WorkRequestRequestFormFieldTextTypePayload
object
2 properties 2 required
WorkRequestFormFieldUpdateRequest
WorkRequestRequestFormFieldBriefTypeResponse
object
2 properties 2 required
WorkRequestRequestFormFieldCheckboxTypeResponse
object
2 properties 2 required
WorkRequestRequestFormFieldDropdownTypeResponse
object
2 properties 2 required
WorkRequestRequestFormFieldFileTypeResponse
object
2 properties 2 required
WorkRequestRequestFormFieldLabelTypeResponse
object
2 properties 2 required
WorkRequestRequestFormFieldRadioButtonTypeResponse
object
2 properties 2 required
WorkRequestRequestFormFieldUpdateResponse
ContentTypeListingOption
string
List Type: 1 - Component only 2 - Content only 3 - Component and Content only
BaseContentTypeModel
object
14 properties 8 required
ValidationError
object
3 properties 3 required
HTTPValidationError
object
1 property
CoreContentType
object
5 properties 2 required
SCContentTypeCreateRequest
object
7 properties 3 required
SCContentTypeCreateResponse
object
3 properties 1 required
SCContentType
SCContentTypeUpdateRequest
object
3 properties 2 required
SCContentTypeUpdateResponse
object
1 property 1 required
SCContentTypeVersionCreateRequest
object
3 properties 2 required
SCContentMigrationCreateRequest
object
5 properties 2 required
SCContentPreviewAcknowledgeRequest
object
2 properties 2 required
KeyedPreviewCompletedModel
object
5 properties 1 required
KeyedPreviewErrorModel
object
5 properties 1 required
SCContentPreviewCompleteRequest
object
1 property 1 required
ContentMigrationSummary
object
5 properties
SCContentTypeManagedMigrationResponse
object
10 properties
SCContentTypeManagedMigrationCreateRequest
object
3 properties 2 required
SCContentTypeManagedMigrationStartResponse
object
2 properties
HTTPException
object
1 property
SCContentTypeManagedMigrationValidateRequest
object
2 properties 1 required
Team
object
3 properties 3 required
TeamWithUsers
object
4 properties 4 required
SettingsLabelGroupLabel
object
2 properties 2 required
SettingsLabelGroup
object
3 properties 3 required
CurrencyCustomField
object
4 properties 4 required
NumberCustomField
object
3 properties 3 required
PercentageCustomField
object
2 properties 2 required
MultipleOptionCustomField
object
2 properties 2 required
LabelOnlyCustomField
object
1 property 1 required
SettingsCustomField
object
Settings for custom fields
13 properties 13 required
WorkflowLabel
object
4 properties 4 required
WorkflowCustomfield
object
4 properties 4 required
WorkflowChannel
object
2 properties 2 required
WorkflowSubStep
object
6 properties 5 required
WorkflowStep
object
4 properties 4 required
SettingsWorkflow
object
10 properties 10 required
LogicRuleTargetField
object
Template logic rule action's target field
3 properties 3 required
LogicRuleAction
object
Template logic rule action
3 properties 3 required
LogicRuleCondition
object
Logic rule action associated condition
2 properties 2 required
LogicRule
object
2 properties 2 required
FormField
object
7 properties 7 required
Section
object
2 properties 2 required
Instruction
object
2 properties 2 required
SettingsTemplate
object
7 properties 7 required
SettingsApp
object
6 properties 6 required
SettingsWebhook
object
5 properties 5 required
SettingsRoutingRule
object
5 properties 5 required
SettingsResources
object
7 properties 7 required
Settings
object
1 property 1 required
SettingsChangesetBase
object
7 properties 7 required
SettingsChangeset
object
2 properties 2 required
SettingsUpdateResponse
object
2 properties 2 required
WorkflowListResponseItem
object
4 properties 4 required
WorkflowResponse
object
10 properties 10 required
BaseSettingsFieldsResponse
object
6 properties 6 required
CheckboxAndRadioTypeSettingsFieldResponse
GenericNumberTypeSettingsFieldResponse
CurrencyNumberTypeSettingsFieldResponse
DropdownTypeSettingsFieldResponse
LabelTypeSettingsFieldResponse
BaseSettingsFieldCreatePayload
object
4 properties 3 required
CheckboxAndRadioTypeSettingsFieldCreatePayload
GenericNumberTypeSettingsFieldCreatePayload
CurrencyNumberTypeSettingsFieldCreatePayload
DropdownTypeSettingsFieldCreatePayload
LabelTypeSettingsFieldCreatePayload
SettingsFieldCreateRequest
object
BaseSettingsFieldUpdatePayload
object
4 properties 1 required
GenericNumberTypeSettingsFieldUpdatePayload
CurrencyNumberTypeSettingsFieldUpdatePayload
LabelAndDropdownTypeSettingsFieldUpdatePayload
SettingsFieldUpdateRequest
object
GenericSettingsFieldChoiceCreatePayload
object
Choice for field types other than label
1 property 1 required
LabelTypeSettingsFieldChoiceCreatePayload
SettingsFieldChoiceCreateRequest
array
Choices of the field
SettingsFieldChoiceCreateResponse
array
Choices of the field
GenericSettingsFieldChoiceUpdatePayload
object
Choice for field types other than label
1 property 1 required
LabelTypeSettingsFieldChoiceUpdatePayload
object
Choice for field type of label
2 properties
SettingsFieldChoiceUpdateRequest
object
Payload for updating choice
BrandComplianceCategoriesResponse
object
3 properties 2 required
EventResponse
object
11 properties 11 required
EventCreateRequest
object
7 properties 4 required
EventUpdateRequest
object
5 properties
EventFieldsUpdateRequest
array

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

optimizely-content-marketing-platform-optimizely-cmp-open-api-documentation-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 Campaign REST API
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 Content Marketing Platform (CMP) API v3, 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.