Content Management API
Introduction to the Content Management API.
The Content Management API is a REST API that you can use to create, manage, and deliver content and media. This includes creating, updating, and deleting content types and content items as well as adding media items. Content types make up the content model while content items contain the data itself. The API definitions are written in JSON.
Before you start working with the Content Management API, here are some important things to note.
An overview of how to use the Content Management API and the Media Upload API is available on the Discover Sitecore channel.
API development environment
You can use the Content Management API with the development tool of your choice such as Swagger or Postman.
Authentication
In the Content Management API, tokens are used for API security. To use the API, generate an OAuth client bearer token and use it to authenticate.
Locales
The only locale supported is "en-us".
Methods
The Content Management API supports the following methods:
Method | Description |
---|---|
GET | Retrieves a content type, content item, or media item using the ID. Retrieves a list of all content types, content items, or media items. |
POST | Creates a content type, content item, or media item. Publishes content items and media items. |
PUT | Updates a content type, content item, or media item. |
DELETE | Deletes content type, content item, or media item. |
Endpoints
In the Content Management API, the following endpoints are available:
Endpoint | Base URL | Description |
---|---|---|
Content management | https://content-api.sitecorecloud.io/ | This endpoint is used when creating and editing content types, content items, and media items. |
Media upload | https://mms-upload.sitecorecloud.io | This endpoint is used when uploading media assets. |
Media delivery | https://mms-delivery.sitecorecloud.io | This endpoint is used when retrieving media assets. |
Endpoints are categorized as follows:
Endpoints have the following structure:
https://{Base URL}/api/{data type}/{version}/{endpointName}/{pathParamenter}?{queryParameter}
Where:
- {
Base URL
} is the hostname of the Content Hub ONE application backend, which is part of the endpoint. - {
data type
} is eithercontent
ormedia
. - {
version
} is the version of the Content Management API. - {
endpointName
} is the name of the endpoint that covers one specific domain. - {
pathParamenter
} includes additional parameters from path. - {
queryParameter
} includes additional parameters from query string.
Request headers
The following header is used to track content versions.
x-ch1-version
Reponse headers
All responses contain the following response headers:
access-control-allow-origin: *
api-supported-versions: 1.0
cache-control: no-store
cf-cache-status: DYNAMIC
cf-ray: 730eb8ff88d13ff1-YYZ
content-encoding: gzip
content-type: application/json; charset=utf-8
date: Tue,26 Jul 2022 17:05:53 GMT
expect-ct: max-age=604800,report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
server: cloudflare
strict-transport-security: max-age=15724800; includeSubDomains
API rate limits
The following response headers show the allowed limits, the number of available requests, and the time remaining until the limits are reached.
Header | Description |
---|---|
via | The software used for API rate limits, including the version. |
x-kong-proxy-latency | Proxy latency or overhead. |
x-kong-upstream-latency | Upstream latency or overhead. |
x-ratelimit-limit-second | The maximum number of requests per second. |
x-ratelimit-remaining-second | The number of requests per second remaining. |
Content Hub ONE supports 10 requests per second per tenant.
Status codes
The following table lists the status codes that you might see after executing an operation:
Status code | Message | Description |
---|---|---|
200 | OK | Content item or media item was successfully retrieved or updated; or content type was successfully updated. |
201 | Created | Content type, content item, or media item was successfully created. |
204 | No content | Content type, content item, or media item was successfully deleted. |
400 | Bad request | Invalid query string, invalid object in request body, or invalid request. |
401 | Unauthorized | Invalid access token. |
403 | Forbidden | Request does not contain required scopes. |
404 | Not Found | Content type, content item, or media item was not found using the specified ID. |
500 | Internal server error | Server-side exception during request execution. |
Syntax
You do not need to understand the full syntax of the Content Management API before you begin, but we recommend you take an initial look at the data model now, and refer back to it again as required.
For queries, you can use a pipe (|) to denote OR
and an ampersand (&) to denote AND
.