Optimizely CMS Content Delivery API v3.0

Read-only content delivery from Optimizely CMS — content by identifier, children, ancestors, and site metadata. Deployed inside the customer's own CMS instance, so the base URL is the customer's CMS host. One of only two Optimizely documents that use RFC 9457 problem+json. Harvested verbatim 2026-08-13.

OpenAPI Specification

optimizely-content-management-system-episervercontentapidocs-openapi.json Raw ↑
{"openapi":"3.0.1","info":{"title":"EPiServer.ContentApi.Docs","version":"v3"},"paths":{"/api/episerver/v3.0/content/{contentIdentifier}":{"get":{"tags":["Content"],"summary":"Get content by given content reference or unique identifier and language.","operationId":"Content_GetByContentIdentifier","parameters":[{"name":"contentIdentifier","in":"path","description":"Content reference or unique identifier to retrieve data.","required":true,"schema":{"type":"string"}},{"name":"Accept-Language","in":"header","description":"Determines in which language the content should be retrieved. Example: 'en' or 'sv'. Does not support fallback.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"List of properties needed to be expanded. The list is separated by comma","schema":{"type":"string","default":""}},{"name":"select","in":"query","description":"List of properties needed to be returned. The list is separated by comma. Default are all properties returned","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"$ref":"#/components/schemas/content"}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}}}}},"/api/episerver/v3.0/content/{contentIdentifier}/children":{"get":{"tags":["Content"],"summary":"Get the children of the content item by given content reference or unique identifier and language.","operationId":"Content_GetChildren","parameters":[{"name":"contentIdentifier","in":"path","description":"Parent's content reference or parent's unique identifier.","required":true,"schema":{"type":"string"}},{"name":"Accept-Language","in":"header","description":"Determines in which language the content should be retrieved. Example: 'en' or 'sv'. Does not support fallback.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"List of properties needed to be expanded. The list is separated by comma","schema":{"type":"string","default":""}},{"name":"select","in":"query","description":"List of properties needed to be returned. The list is separated by comma. Default are all properties returned","schema":{"type":"string","default":""}},{"name":"top","in":"query","description":"The max number of children to return.","schema":{"type":"integer","format":"int32"}},{"name":"x-epi-continuation","in":"header","description":"The max number of children to return.","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/content"}}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}}}}},"/api/episerver/v3.0/content/{contentIdentifier}/ancestors":{"get":{"tags":["Content"],"summary":"Get the ancestors of the content item by given content reference or unique identifier and language.","operationId":"Content_GetAncestors","parameters":[{"name":"contentIdentifier","in":"path","description":"Content reference or unique identifier to retrieve parents.","required":true,"schema":{"type":"string"}},{"name":"Accept-Language","in":"header","description":"Determines in which language the content should be retrieved. Example: 'en' or 'sv'. Does not support fallback.","schema":{"type":"string"}},{"name":"expand","in":"query","description":"List of properties needed to be expanded. The list is separated by comma","schema":{"type":"string","default":""}},{"name":"select","in":"query","description":"List of properties needed to be returned. The list is separated by comma. Default are all properties returned","schema":{"type":"string","default":""}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/content"}}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}}}}},"/api/episerver/v3.0/content":{"get":{"tags":["Content"],"summary":"Get content by given content url or by list of GUID/Reference with given language","operationId":"Content_QueryContent","parameters":[{"name":"Accept-Language","in":"header","description":"Determines in which language the content should be retrieved. Example: 'en' or 'sv'. Does not support fallback.","schema":{"type":"string"}},{"name":"ContentUrl","in":"query","description":"The absolute url to the content","schema":{"type":"string"}},{"name":"Guids","in":"query","description":"List of GUID separated by ','.","schema":{"type":"string"}},{"name":"References","in":"query","description":"List of ContentReference separated by ','.","schema":{"type":"string"}},{"name":"Expand","in":"query","description":"List of properties needed to be expanded. The list is separated by comma.","schema":{"type":"string"}},{"name":"Select","in":"query","description":"List of properties needed to be returned. The list is separated by comma. Default are all properties returned.","schema":{"type":"string"}},{"name":"MatchExact","in":"query","description":"Indicates if the specified 'contentUrl' should match url of the content exactly, that is no additional segments are allowed.","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Ok","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/content"}}}}},"400":{"description":"Bad Request","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}}}}},"/api/episerver/v3.0/site":{"get":{"tags":["Site"],"summary":"Get a list of sites.","operationId":"Site_List","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/siteDefinition"}}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}}}}},"/api/episerver/v3.0/site/{id}":{"get":{"tags":["Site"],"summary":"Gets the site with the provided identifier.","operationId":"Site_Get","parameters":[{"name":"id","in":"path","description":"The identifier of the site.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/siteDefinition"}}}},"403":{"description":"Forbidden","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}},"404":{"description":"Not Found","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/problemDetails"}}}}}}}},"components":{"schemas":{"content":{"type":"object","properties":{"contentLink":{"$ref":"#/components/schemas/contentReference"},"name":{"type":"string","nullable":true},"language":{"$ref":"#/components/schemas/language"},"existingLanguages":{"type":"array","items":{"$ref":"#/components/schemas/language"},"nullable":true},"masterLanguage":{"$ref":"#/components/schemas/language"},"contentType":{"type":"array","items":{"type":"string"},"nullable":true},"parentLink":{"$ref":"#/components/schemas/contentReference"},"routeSegment":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"changed":{"type":"string","format":"date-time","nullable":true},"created":{"type":"string","format":"date-time","nullable":true},"startPublish":{"type":"string","format":"date-time","nullable":true},"stopPublish":{"type":"string","format":"date-time","nullable":true},"saved":{"type":"string","format":"date-time","nullable":true},"status":{"type":"string","nullable":true}},"additionalProperties":{}},"contentReference":{"type":"object","properties":{"id":{"type":"integer","format":"int32","nullable":true},"workId":{"type":"integer","format":"int32","nullable":true},"guidValue":{"type":"string","format":"uuid","nullable":true},"providerName":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"language":{"$ref":"#/components/schemas/language"},"expanded":{"$ref":"#/components/schemas/content"}},"additionalProperties":false},"hostDefinition":{"type":"object","properties":{"name":{"type":"string","nullable":true},"type":{"type":"string","nullable":true},"language":{"$ref":"#/components/schemas/language"}},"additionalProperties":false},"language":{"type":"object","properties":{"displayName":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false},"problemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}},"siteDefinition":{"type":"object","properties":{"name":{"type":"string","nullable":true},"id":{"type":"string","format":"uuid"},"editLocation":{"type":"string","nullable":true},"contentRoots":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/contentReference"},"nullable":true},"languages":{"type":"array","items":{"$ref":"#/components/schemas/siteDefinitionLanguage"},"nullable":true},"hosts":{"type":"array","items":{"$ref":"#/components/schemas/hostDefinition"},"nullable":true}},"additionalProperties":false},"siteDefinitionLanguage":{"type":"object","properties":{"isMasterLanguage":{"type":"boolean","nullable":true},"urlSegment":{"type":"string","nullable":true},"url":{"type":"string","nullable":true},"displayName":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"additionalProperties":false}}},"x-readme":{"explorer-enabled":true,"proxy-enabled":true}}