1. Developing with Content Hub ONE

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.

Tip

An overview of how to use the Content Management API and the Media Upload API is available on the Discover Sitecore channel.

Note

For guidance on the API syntax, see Syntax.

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.

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>/<ENDPOINT_NAME>/<PATH_PARAMETER>?<QUERY_PARAMETER>

Where:

  • <BASE_URL> is the hostname of the Content Hub ONE application backend, which is part of the endpoint.

  • <DATA_TYPE> is either content or media.

  • <VERSION> is the version of the Content Management API.

  • <ENDPOINT_NAME> is the name of the endpoint that covers one specific domain.

  • <PATH_PARAMETER> includes additional parameters from path.

  • <QUERY_PARAMETER> includes additional parameters from query string.

Request headers

The following header is used to track content versions.

x-ch1-version

Response 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.

Note

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 or missing content type 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.

If you have suggestions for improving this article, let us know!