Dynamic Content - Management APIs (1.0.0)
Download OpenAPI specification:Download
The Dynamic Content Management API helps you integrate your back end systems with Dynamic Content.
The API is designed for building back-office applications and you can use it for webhook integrations, content automation apps, or to integrate with your existing back end services.
To use the API, you'll need a client ID and secret. The authorization section below explains how to use the client ID and secret to obtain an access token that must be included with each request.
Dynamic Content uses OAuth2 to authorize access to the Dynamic Content management API.
To use the API you will need an API key and secret. These credentials will be provided to you by Amplience at the beginning of your project, or you can request them from Amplience support. Your API key will define the resources to which you have access.
Your API key and secret are used to obtain an access token from the Amplience authorization service. This token must be included in the authorization header of all requests to the Dynamic Content management API and is set to expire after a set time period, generally 300 seconds.
To get an authorization token, send a POST
request to the Amplience authorization server at https://auth.amplience.net
as follows.
Request
POST https://auth.amplience.net/oauth/token
Headers
Header | Description |
---|---|
Content-Type | application/x-www-form-urlencoded |
Parameters
The parameters should be URL encoded and included in the body of the request:
client_id={yourclientid}&client_secret={yoursecret}&grant_type=client_credentials
Replace {yourclientid}
and {yoursecret}
with your client id and secret.
Parameter | Description |
---|---|
client_id | The client id (API key) provided to you by Amplience |
client_secret | The client secret provided to you by Amplience |
grant_type | Set this to client_credentials to specify that the authorization token should be generated based on the client ID and secret |
Response
Status codes
Status code | Description |
---|---|
200 | OK. Credentials are valid. |
400 | Bad Request. client id or secret are not valid. |
Response body
If the clientID and secret are valid, the response body will be returned as in the example below.
Note that the example access_token has been truncated.
{
"access_token": "eyJraWQiOiJhbXBsaWVuY2UtdG9rZW4tc2lnbmluZy1rZXkiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJhbXBsaWVuY2UuY29tIiwiZXhwIjoxNTUzODY4NjIyLCJqdGkiOiJMT2pvZ1dtMFM3TkRNT2VsTk96cWVnIiwiaWF0IjoxNTUzODY3MzYyLCJzd…",
"session_expires_in": 0,
"expires_in": 300
}
You will need to save the access token and include it in requests to the API. If the token has expired, request another token from the authorization service.
The Dynamic Content management SDK contains code to help you manage the access token.
To make a request to the Dynamic Content management API, for example to list all the hubs you have access to you would send a request such as:
GET https://api.amplience.net/v2/content/hubs
In the request header you must set the Authorization format to "Bearer" and include the access token:
Authorization : Bearer {access_token}
Replace {access_token} with the access token returned by the authorization service.
If the access token is valid, then the request is processed and the response is returned.
Resources can usually be retrieved using a /resource-types/:id
endpoint.
Collection resources will always be pluralised, regardless of how they are
accessed. In cases where resources are nested under a parent resource, and this
context is necessary for the request, this information is included in the
routing. For example, while a Content Repository can be retrieved by id using
GET /content-repositories/:id
, to create a new Content Repository it is
necessary to supply the ID of the parent Hub, so the route would take the form
POST /hubs/:hubId/content-repositories
.
Resources are returned in the HAL format, which provides a representation of
HATEOAS information in JSON. This allows for discoverability of endpoints from
responses, as a response for a resource will contain links to related resources
and actions. Links are contained within a _links
object, and are keyed by
name. In some cases, such as resource listing or search results, linked
resources are included in the response inside an _embedded
object, allowing
multiple resource to be returned within the same response body.
Status Code | Reason Phrase | Purpose |
---|---|---|
200 | OK | Successful retrieval or update of a resource or list of resources |
201 | Created | Successful creation of a resource |
202 | Accepted | A background task has been initiated, but is still processing |
204 | No Content | Indicates the following: * Success with deleting a resource * Success with granting or revoking permissions * Success with nothing to report |
400 | Bad Request | Non-specific error with request |
401 | Unauthorized | No valid token was supplied in the request, or the token could not be decoded |
403 | Forbidden | The user lacks either the required functional or ACL permissions to make this request |
404 | Not Found | The requested resource does not exist, or the user does not have access to it |
405 | Method Not Allowed | The requested HTTP method is not permitted for this resource type |
406 | Not Acceptable | The requested resource is not available in the format requested by the user agent |
409 | Conflict | The requested change conflicts with the current state of the resource |
415 | Unsupported Media Type | The format of the resource supplied by the user agent is not supported by the server |
500 | Internal Server Error | Non specific error occurred on the server |
If an error occurs, the response body contains a JSON object containing an errors array. This will contain one or more error objects, containing a message field describing the error, and context specific metadata relating to this instance of the error.
HTTP/1.1 409 Conflict
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
X-Frame-Options: DENY
Content-Type: application/hal+json;charset=UTF-8
Content-Length: 145
{
"errors" : [ {
"entity" : "Hub",
"property" : "name",
"invalidValue" : "anya-finn",
"message" : "name must be unique"
} ]
}
When updating a resource, the PATCH
method is used. When making a PATCH
request, any fields specified in the request will overwrite their associated
values in the stored resource, but omitted fields will remain unchanged. This
is in contrast to the PUT
method, which would set omitted fields to null, and
is not supported in this API. When making a PATCH
request to a resource
containing nested JSON objects, it is important to note that child objects are
replaced completely, and do not inherit the PATCH
functionality of the root
object.
For example, given a stored resource in the format:
{
"foo": {
"bar": "abc",
"baz": "xyz"
},
"bar": "123"
}
When the following request body is used in a PATCH
request:
{
"foo": {
"bar": "def"
}
}
The resource would be transformed to the following:
{
"foo": {
"bar": "def"
},
"bar": "123"
}
Payload Considerations
When submitting a JSON payload to the API, the first complete JSON object in the body will be accepted, and any additional information will be discarded. For example:
{
"foo": {
"bar": "def"
},
"unknownProperty": "will be ignored"
}
In the above example, there is an extra closing brace and additional characters that follow a valid JSON object. Any extra input characters like this will be ignored by the API.
Administration allows you to add or revoke permissions for users and manage access to resources.
Response samples
- 200
{- "_links": {
}
}
List Operations on a resource
Given the id of a resource for which you are an administrator, you can see the various operations that you can perform. Simply follow the appropriate link for the resource passing in the id.
Resource Type | Required Functional Permissions | Required ACLs |
---|---|---|
hubs | CONTENT:FUNCTIONAL:ADMIN:MANAGE_ACCESS CONTENT:FUNCTIONAL:HUB:MANAGE_ACCESS |
Hub - READ``Hub - MANAGE_ACCESS |
content-repositories | CONTENT:FUNCTIONAL:ADMIN:MANAGE_ACCESS CONTENT:FUNCTIONAL:REPOSITORY:MANAGE_ACCESS |
Hub - READ ContentRepository - MANAGE_ACCESS |
Authorizations:
path Parameters
resource required | string Enum: "hubs" "content-repositories" Example: hubs Resource Type |
resourceId required | string Example: 00112233445566778899aabb Resource ID |
Responses
Response samples
- 200
{- "_links": {
- "self": {
}, - "members": {
},
}
}
List members on a resource
The memebrs link will list the memebrs that have access to a particular resource. This includes the member's id (sid) and the list of permissions they have.
Resource Type | Required Functional Permissions | Required ACLs |
---|---|---|
hubs | CONTENT:FUNCTIONAL:ADMIN:MANAGE_ACCESS CONTENT:FUNCTIONAL:HUB:MANAGE_ACCESS |
Hub - READ Hub - MANAGE_ACCESS |
content-repositories | CONTENT:FUNCTIONAL:ADMIN:MANAGE_ACCESS CONTENT:FUNCTIONAL:REPOSITORY:MANAGE_ACCESS |
Hub - READ ContentRepository - MANAGE_ACCESS |
Authorizations:
path Parameters
resource required | string Enum: "hubs" "content-repositories" Example: hubs Resource Type |
resourceId required | string Example: 00112233445566778899aabb Resource ID |
Responses
Response samples
- 200
{- "_embedded": {
- "members": [
- {
- "sid": "alice",
- "permissions": [
- "READ",
- "EDIT",
- "DELETE",
- "SHARE",
- "CREATE_REPOSITORY",
- "CREATE_EVENT",
- "EDIT_EVENT",
- "DELETE_EVENT",
- "CREATE_EDITION",
- "EDIT_EDITION",
- "DELETE_EDITION",
- "MANAGE_ACCESS",
- "EDIT_WORKFLOW_STATES"
], - "_links": {
- "revoke-permission": {
- "templated": true
}
}
}, - {
- "sid": "bob",
- "permissions": [
- "READ"
], - "_links": {
- "revoke-permission": {
- "templated": true
}
}
}, - {
- "sid": "charlie",
- "permissions": [
- "READ",
- "CREATE_REPOSITORY"
], - "_links": {
- "revoke-permission": {
- "templated": true
}
}
}, - {
- "sid": "david",
- "permissions": [
- "READ"
], - "_links": {
- "revoke-permission": {
- "templated": true
}
}
}, - {
- "sid": "ewan",
- "permissions": [
- "READ"
], - "_links": {
- "revoke-permission": {
- "templated": true
}
}
}
]
}, - "_links": {
}
}
Get a member by id
Given a resource and a member id you can navigate directly to a specific member by following the "member" link from the resource.
Resource Type | Required Functional Permissions | Required ACLs |
---|---|---|
hubs | CONTENT:FUNCTIONAL:ADMIN:MANAGE_ACCESS CONTENT:FUNCTIONAL:HUB:MANAGE_ACCESS |
Hub - READ Hub - MANAGE_ACCESS |
content-repositories | CONTENT:FUNCTIONAL:ADMIN:MANAGE_ACCESS CONTENT:FUNCTIONAL:REPOSITORY:MANAGE_ACCESS |
Hub - READ ContentRepository - MANAGE_ACCESS |
Authorizations:
path Parameters
resource required | string Enum: "hubs" "content-repositories" Example: hubs Resource Type |
resourceId required | string Example: 00112233445566778899aabb Resource ID |
sid required | string Example: alice Member ID |
Responses
Response samples
- 200
{- "sid": "alice",
- "permissions": [
- "READ"
], - "_links": {
- "revoke-permission": {
- "templated": true
}
}
}
Revoking permissions
Revoke access to a specific resource by deleting a members permission.
From a member, follow the "revoke-permission" link passing in the permission to delete.
You can specify one or multiple permissions. Multiple permissions are comma separated.
Resource Type | Required Functional Permissions | Required ACLs |
---|---|---|
hubs | CONTENT:FUNCTIONAL:ADMIN:MANAGE_ACCESS CONTENT:FUNCTIONAL:HUB:MANAGE_ACCESS | Hub - READ Hub - MANAGE_ACCESS |
content-repositories | CONTENT:FUNCTIONAL:ADMIN:MANAGE_ACCESS CONTENT:FUNCTIONAL:REPOSITORY:MANAGE_ACCESS | Hub - READ ContentRepository - MANAGE_ACCESS |
Authorizations:
path Parameters
resource required | string Enum: "hubs" "content-repositories" Example: hubs Resource Type |
resourceId required | string Example: 00112233445566778899aabb Resource ID |
sid required | string Example: alice Member ID |
permissions required | string Example: READ,EDIT Permission(s) to revoke (comma separated list) |
Responses
Manage Modules on Resources
Modules offer additional functionality which is not enabled by default. With the ability to manage modules you can control which modules are enabled on the resources you administer.
Authorizations:
Responses
Response samples
- 200
{- "_links": {
}
}
List Module Operations on a Hub
Given the id of a hub for which you are an administrator, you can see the various module management operations that you can perform. Simply follow the appropriate link for the resource passing in the id.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Responses
Response samples
- 200
{- "_links": {
- "self": {
}, - "enable-content-delivery-2": {
}, - "enable-algolia-search": {
}
}
}
Enable the Search Index module on a hub
Enable the Search Indexes module (Algolia Search) on the specified hub. Simply follow the appropriate link for the resource passing in the id.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "anya-finn",
- "label": "Anya Finn",
- "description": "Content for anyafinn.com",
- "plan": "DEVELOPER",
- "algoliaSearch": "ENABLED",
- "cdv2": "ENABLED",
- "organizationId": "org_cDQVi4ww5y6cMPtN",
- "settings": {
- "publishing": {
- "platforms": {
- "amplience_dam": {
- "API_KEY": "DAM_CLIENT_KEY",
- "endpoint": "endpoint"
}
}
}, - "devices": [
- {
- "name": "New Device",
- "width": 2048,
- "height": 1024,
- "orientate": false
}
], - "localization": {
- "locales": [
- "en-GB",
- "fr-FR"
]
}, - "previewVirtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "virtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "assetManagement": {
- "enabled": false,
- "clientConfig": "HUB"
}
}, - "_links": {
- "snapshots": {
- "templated": true
}, - "create-snapshot": {
}, - "batch-create-snapshot": {
}, - "events": {
- "templated": true
}, - "create-event": {
}, - "update-settings": {
}, - "content-repositories": {
- "templated": true
}, - "create-content-repository": {
}, - "register-content-types": {
}, - "create-content-type-schema": {
}, - "content-types": {
- "templated": true
}, - "list-content-type-schemas": {
- "templated": true
}, - "resolve-content-type-schema": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "search-localization-jobs": {
}, - "webhooks": {
- "templated": true
}, - "create-webhook": {
}, - "integrations": {
- "templated": true
}, - "create-workflow-state": {
}, - "workflow-states": {
- "templated": true
}, - "create-algolia-search-index": {
}, - "algolia-search-indexes": {
- "templated": true
}
}
}
Enable the Content Delivery 2 module on a hub
Enable the Content Delivery 2 module on the specified hub. Simply follow the appropriate link for the resource passing in the id.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "anya-finn",
- "label": "Anya Finn",
- "description": "Content for anyafinn.com",
- "plan": "DEVELOPER",
- "algoliaSearch": "ENABLED",
- "cdv2": "ENABLED",
- "organizationId": "org_cDQVi4ww5y6cMPtN",
- "settings": {
- "publishing": {
- "platforms": {
- "amplience_dam": {
- "API_KEY": "DAM_CLIENT_KEY",
- "endpoint": "endpoint"
}
}
}, - "devices": [
- {
- "name": "New Device",
- "width": 2048,
- "height": 1024,
- "orientate": false
}
], - "localization": {
- "locales": [
- "en-GB",
- "fr-FR"
]
}, - "previewVirtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "virtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "assetManagement": {
- "enabled": false,
- "clientConfig": "HUB"
}
}, - "_links": {
- "snapshots": {
- "templated": true
}, - "create-snapshot": {
}, - "batch-create-snapshot": {
}, - "events": {
- "templated": true
}, - "create-event": {
}, - "update-settings": {
}, - "content-repositories": {
- "templated": true
}, - "create-content-repository": {
}, - "register-content-types": {
}, - "create-content-type-schema": {
}, - "content-types": {
- "templated": true
}, - "list-content-type-schemas": {
- "templated": true
}, - "resolve-content-type-schema": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "search-localization-jobs": {
}, - "webhooks": {
- "templated": true
}, - "create-webhook": {
}, - "integrations": {
- "templated": true
}, - "create-workflow-state": {
}, - "workflow-states": {
- "templated": true
}, - "create-algolia-search-index": {
}, - "algolia-search-indexes": {
- "templated": true
}
}
}
A simple query syntax is provided to allow full text search on content items. Several characters have special meaning and are reserved:
Table 2. Reserved Search Characters
Description | Symbol |
---|---|
Negation Operator | - |
Field Search Operator | : |
Quote (for exact search) | " |
Comma (list multiple search terms) | , |
Please note that the text search is case insensitive, and will only display content items within the hub. See the following examples for an explanation of the query syntax:
Table 3. Text Search Examples
Query | Meaning |
---|---|
apple | Find all content items containing the word "apple" |
apple orange | Find all content items containing the words "apple" AND "orange" |
apple,orange | Find all content items containing either "apple" OR "orange" |
apple -orange | Find all content items that contain the word "apple" but NOT "orange" |
-apple-orange | Find all content items that don’t contain "apple-orange" (hyphens in the middle of a word are not treated as negation) |
label:apple | Find all content items that contain the word "apple" within the "label" field |
"apple:orange" | Find all content items containing "apple:orange" (quotes must be used to search for a colon character) |
apple label:orange | Find all content items containing the word "apple" anywhere within them, AND the word "orange" in the label field |
Update Multiple Content Items
Update Multiple Content Items
Authorizations:
Request Body schema: application/json
Update Multiple Content Items
object Body | |
label | string Label |
version | number >= 1 Version |
folderId | string Folder ID |
assignees | string Assignee |
id | string <uuid> ID |
Responses
Request samples
- Payload
[- {
- "body": {
- "heading": "Heading",
}, - "label": "Label",
- "version": 1,
- "folderId": "00112233445566778899aabb",
- "assignees": "00112233445566778899aabb",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}
]
Response samples
- 207
{- "results": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "status": 200,
- "code": "SUCCESS",
- "level": "INFO",
- "message": null
}
]
}
Get Content Item
Get a Content Item
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "locale": "en-GB",
- "version": 1,
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedVersion": 1,
- "lastUnpublishedDate": "2019-01-01T00:00:00.000Z",
- "lastUnpublishedVersion": 1,
- "publishingStatus": "NONE",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "workflow": {
- "state": "00112233445566778899aabb"
}, - "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
Update Content Item
Update a Content Item. Please note that deliveryKey can only be set when Content Delivery 2 is enabled.
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Request Body schema: application/json
Updated Content Item
Supports one or multiple Content Items
object | |
label | string non-empty Label |
folderId | string Folder ID |
assignees | Array of arrays Assignees |
locale | string Locale |
Responses
Request samples
- Payload
{- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "locale": "en-GB"
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "locale": "en-GB",
- "version": 1,
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedVersion": 1,
- "lastUnpublishedDate": "2019-01-01T00:00:00.000Z",
- "lastUnpublishedVersion": 1,
- "publishingStatus": "NONE",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "workflow": {
- "state": "00112233445566778899aabb"
}, - "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
Archive Content Item
Archive a Content Item
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Request Body schema: application/json
Version to archive
version required | integer Version to archive |
Responses
Request samples
- Payload
{- "version": 1
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "locale": "en-GB",
- "version": 1,
- "status": "ARCHIVED",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedVersion": 1,
- "lastUnpublishedDate": "2019-01-01T00:00:00.000Z",
- "lastUnpublishedVersion": 1,
- "publishingStatus": "NONE",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "workflow": {
- "state": "00112233445566778899aabb"
}, - "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
Get Content Item Associations
Get Content Item Associations
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Responses
Response samples
- 200
{- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff",
- "associations": [
- {
- "eventTitle": "Test",
- "eventId": "00112233445566778899aabb",
- "eventStart": "2019-01-01T00:00:00.000Z",
- "eventEnd": "2019-01-01T00:00:00.000Z",
- "editionTitle": "Test",
- "editionId": "00112233445566778899aabb",
- "editionStart": "2019-01-01T00:00:00.000Z",
- "editionEnd": "2019-01-01T00:00:00.000Z",
- "editionPubStatus": "DRAFT",
- "editionSlotTitle": "Simple Slot",
- "editionSlotId": "00112233445566778899aabb",
- "editionSlotLocked": true,
- "editionSlotLastModifiedDate": "2019-01-01T00:00:00.000Z",
- "editionContentTitle": null,
- "editionContentId": null,
- "editionContentLocked": null,
- "editionContentLastModifiedDate": null,
- "editionContentMultiRoot": false,
- "snapshotComments": "This is an example snapshot.",
- "snapshotCreatedBy": "user",
- "snapshotCreatedDate": "2019-01-01T00:00:00.000Z",
- "snapshotId": "00112233445566778899aabb",
- "usageCount": 1,
- "snapshotLocale": "en-GB",
- "_links": {
- "get-content": {
}, - "update-content": {
- "templated": true
}
}
}, - {
- "eventTitle": "Test",
- "eventId": "00112233445566778899aabb",
- "eventStart": "2019-01-01T00:00:00.000Z",
- "eventEnd": "2019-01-01T00:00:00.000Z",
- "editionTitle": "Test",
- "editionId": "00112233445566778899aabb",
- "editionStart": "2019-01-01T00:00:00.000Z",
- "editionEnd": "2019-01-01T00:00:00.000Z",
- "editionPubStatus": "DRAFT",
- "editionSlotTitle": null,
- "editionSlotId": null,
- "editionSlotLocked": null,
- "editionSlotLastModifiedDate": null,
- "editionContentTitle": "Banner Ad Homepage",
- "editionContentId": "00112233445566778899aabb",
- "editionContentLocked": true,
- "editionContentLastModifiedDate": "2019-01-01T00:00:00.000Z",
- "editionContentMultiRoot": true,
- "snapshotComments": "This is an example snapshot.",
- "snapshotCreatedBy": "user",
- "snapshotCreatedDate": "2019-01-01T00:00:00.000Z",
- "snapshotId": "00112233445566778899aabb",
- "usageCount": 1,
- "snapshotLocale": "en-GB",
- "contentTypeSchema": null,
- "_links": {
- "get-editionContent": {
}, - "update-editionContent": {
- "templated": true
}
}
}
], - "_links": {
- "edition-slot-associations": {
}, - "content-item-associations": {
}
}
}
Assigning a Delivery Key
Assign a delivery key to a content item or slot and replace any existing key. The delivery key must meet the validation rules and be unique within the hub.
The current version of the content item must be included in the request payload. If the version specified is not the current one, then a 400 error will be returned in the response.
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Request Body schema: application/json
Assign Content Item Delivery Key request
deliveryKey required | string (DeliveryKey) [ 1 .. 150 ] characters ^(?!.*[/]{2})[A-Za-z0-9-_]+[A-Za-z0-9-_/]*(?<... Delivery key |
version required | number (Version) >= 1 Version |
Responses
Request samples
- Payload
{- "deliveryKey": "promo-page/main-banner",
- "version": 1
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "locale": "en-GB",
- "version": 1,
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedVersion": 1,
- "lastUnpublishedDate": "2019-01-01T00:00:00.000Z",
- "lastUnpublishedVersion": 1,
- "publishingStatus": "NONE",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "workflow": {
- "state": "00112233445566778899aabb"
}, - "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
List Content Item History
List Content Item History
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Responses
Response samples
- 200
{- "_embedded": {
- "content-item-history": [
- {
- "summary": [
- {
- "action": {
- "code": "UPDATED",
- "data": { }
}, - "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "historyEventId": "00112233-4455-6677-8899-aabbccddeeff"
}
], - "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "version": 1,
- "_links": {
- "content-item-version": {
}, - "content-item-version-history": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Localize Content Item
Localize a Content Item
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Request Body schema: application/json
locales required | Array of arrays List of locales |
version required | integer Content item version number |
Responses
Request samples
- Payload
{- "locales": [
- "fr-FR",
- "de-DE"
], - "version": 1
}
Response samples
- 202
{- "status": "IN_PROGRESS",
- "rootContentItem": {
- "label": "l10n",
- "locale": "en-GB",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}, - "requestedLocale": [
- "fr-FR",
- "de-DE"
], - "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "content-root": {
}, - "findByRootContentItem": {
- "templated": true
}
}
}
Finding Content by Epoch
Find content items that are candidates for being published at a point in time.
Authorizations:
query Parameters
epoch | number Example: epoch=1546300800 Epoch Time |
time | number Example: time=2019-01-01T00:00:00.000Z Time |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "folderId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "Name",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Heading",
}, - "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "version": 1,
- "label": "Label",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "planned": {
- "templated": true
}, - "content-item-version-history": {
- "templated": true
}, - "content-item": {
- "templated": true
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-repository": {
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}
}
}
Publish Content Item
Publish a Content Item
The response Location
header is the a URL of the created Publishing Job
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Request Body schema: application/json
Responses
Request samples
- Payload
{ }
Restore Content by Content Version Number
Restore Content by Content Version Number
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Request Body schema: application/json
Restore Content by Content Version Number request body
version required | number Version |
restoreVersion required | number Restore Version |
Responses
Request samples
- Payload
{- "version": 2,
- "restoreVersion": 1
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "folderId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "Name",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Heading",
}, - "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "version": 1,
- "label": "Label",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
Unarchive Content Item
Unarchive a Content Item
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Request Body schema: application/json
Version to unarchive
version required | integer Version to unarchive |
Responses
Request samples
- Payload
{- "version": 1
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "locale": "en-GB",
- "version": 1,
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedVersion": 1,
- "lastUnpublishedDate": "2019-01-01T00:00:00.000Z",
- "lastUnpublishedVersion": 1,
- "publishingStatus": "NONE",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "workflow": {
- "state": "00112233445566778899aabb"
}, - "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
List Content Item Versions
List Content Item Versions
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Responses
Response samples
- 200
{- "_embedded": {
- "content-items": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "folderId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "Main-Banner",
- "deliveryKey": "promo-page/main-banner"
}
}, - "heading": "Main-Banner",
}
], - "version": 1,
- "label": "Label",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff"
}, - "_links": {
- "planned": {
- "templated": true
}, - "content-item-version-history": {
- "templated": true
}, - "content-item": {
- "templated": true
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-repository": {
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}
}
}
Finding Content by Content Version Number
Finding Content by Content Version Number
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
query Parameters
version | number Example: version=1 Version |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "folderId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "Name",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Heading",
}, - "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "version": 1,
- "label": "Label",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "planned": {
- "templated": true
}, - "content-item-version-history": {
- "templated": true
}, - "content-item": {
- "templated": true
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-repository": {
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}
}
}
List Content Item History for a Version
List Content Item History for a Version
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
version required | string Example: 1 Version |
Responses
Response samples
- 200
{- "_embedded": {
- "content-item-version-history": [
- {
- "historyEventId": "00112233-4455-6677-8899-aabbccddeeff",
- "contentItemId": "00112233445566778899aabb",
- "version": 1,
- "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "action": {
- "code": "CREATED",
- "data": { }
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Assigning a Workflow State
Assigning a Workflow State to a Content Item
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Request Body schema: application/json
Version to unarchive
version required | integer Version to unarchive |
state required | string Workflow State ID |
Responses
Request samples
- Payload
{- "version": 1,
- "state": "00112233445566778899aabb"
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "locale": "en-GB",
- "version": 1,
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedVersion": 1,
- "lastUnpublishedDate": "2019-01-01T00:00:00.000Z",
- "lastUnpublishedVersion": 1,
- "publishingStatus": "NONE",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "workflow": {
- "state": "00112233445566778899aabb"
}, - "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
Getting Linked Child Content Items
Get Linked Child Content Items
Authorizations:
query Parameters
id required | string Example: id=00112233-4455-6677-8899-aabbccddeeff Id |
Responses
Response samples
- 200
{- "_embedded": {
- "content-items": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "folderId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "Name",
- "deliveryKey": "promo-page/main-banner"
}, - "nested": {
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}
}, - "version": 1,
- "label": "Label",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
]
}, - "_links": {
- "content-item": {
- "templated": true
}
}
}
Getting Linked Parent Content Items
Get Linked Parent Content Items
Authorizations:
query Parameters
id required | string Example: id=00112233-4455-6677-8899-aabbccddeeff Id |
Responses
Response samples
- 200
{- "_embedded": {
- "content-items": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "folderId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "Name",
- "deliveryKey": "promo-page/main-banner"
}, - "nested": {
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}
}, - "version": 1,
- "label": "Label",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
]
}, - "_links": {
- "content-item": {
- "templated": true
}
}
}
List Content Items
This lists all of the Content Items within this Content Repository
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
query Parameters
projection | string Value: "projection" Example: projection=basic "basic" - omits the body property from the return Content Items |
page | integer Page number |
folderId | string Example: folderId=00112233445566778899aabb Folder ID |
status | string Status |
excludeHierarchicalChildren | boolean Example: excludeHierarchicalChildren=true Exclude hierarchical child items |
size | integer Example: size=20 Page size |
sort | string Example: sort=createdDate,asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "content-items": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "locale": "en-GB",
- "version": 1,
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedVersion": 1,
- "lastUnpublishedDate": "2019-01-01T00:00:00.000Z",
- "lastUnpublishedVersion": 1,
- "publishingStatus": "NONE",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "workflow": {
- "state": "00112233445566778899aabb"
}, - "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create Content Item
Create a Content Item. Please note that deliveryKey can only be set when Content Delivery 2 is enabled. Copying a content item will not copy the deliveryKey.
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
Request Body schema: application/json
Content Item
required | object |
label required | string non-empty Label |
folderId | string Folder ID |
assignees | Array of arrays Assignees |
locale | string Locale |
object |
Responses
Request samples
- Payload
{- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "locale": "en",
- "assignees": [
- "a79f0b27-5934-4154-9cda-36399e011c68",
- "cbda3aa3-ebc4-4bb1-84a5-d9b31990c703"
]
}
Response samples
- 201
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "folderId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "version": 1,
- "label": "Banner Ad Homepage",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "assignee": "00112233-4455-6677-8899-aabbccddeeff",
- "assignedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}, - "content-item-with-children": {
}
}
}
Copy Content Item
Copy a Content Item. Please note that deliveryKey can only be set when Content Delivery 2 is enabled. Copying a content item will not copy the deliveryKey.
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
sourceContentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Source Content Item ID (used to copy an existing Content Item) |
Request Body schema: application/json
Content Item
required | object |
label required | string non-empty Label |
folderId | string Folder ID |
assignees | Array of arrays Assignees |
locale | string Locale |
object |
Responses
Request samples
- Payload
{- "body": {
- "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "locale": "en"
}
Response samples
- 201
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "folderId": "00112233445566778899aabb",
- "body": {
- "heading": "Buy more stuff!!",
}, - "version": 1,
- "label": "Banner Ad Homepage",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}, - "content-item-with-children": {
}
}
}
Faceting Content Items with Search by Text
Facet content items and search by text. See Text Search Query Syntax for a summary of the query syntax.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
query Parameters
sort | string Example: sort=createdDate Sort |
createdDate.dir | string Enum: "asc" "desc" Example: createdDate.dir=desc Direction of sort |
Request Body schema: application/json
Facet Content Items
required | Array of objects |
returnEntities | boolean Return Entities |
Responses
Request samples
- Payload
{- "fields": [
- {
- "facetAs": "ENUM",
- "field": "schema",
- "userFacingName": "Schema"
}
], - "returnEntities": true
}
Response samples
- 200
{- "_embedded": {
- "content-items": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "folderId": "00112233445566778899aabb",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "version": 1,
- "status": "ACTIVE",
- "label": "Label",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "publish": {
}, - "planned": {
- "templated": true
}, - "content-item": {
- "templated": true
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}, - "_facets": {
}
}
Filtering Content Items by Collection Keys
Filter content items using Collection Keys.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
Filter Content Items
collectionKey required | string collectionKey |
object | |
object |
Responses
Request samples
- Payload
{- "collectionKey": "hubName:527c95fd10c77e96b5164633b445271ffc0392031b6c99448cbaec579767b76b",
- "sortBy": {
- "order": "asc"
}, - "page": {
- "cursor": "SSBhbSBhIGhhdGNoZWQtZWFzdGVyLWVnZy4gUGxlYXNlIGRvbid0IGRlY29kZSBtZS4=",
- "size": 0
}
}
Response samples
- 200
{- "_embedded": {
- "content-items": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "locale": "en-GB",
- "version": 1,
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedVersion": 1,
- "lastUnpublishedDate": "2019-01-01T00:00:00.000Z",
- "lastUnpublishedVersion": 1,
- "publishingStatus": "NONE",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "workflow": {
- "state": "00112233445566778899aabb"
}, - "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
]
}, - "page": {
- "cursor": "SSBhbSBhIGhhdGNoZWQtZWFzdGVyLWVnZy4gUGxlYXNlIGRvbid0IGRlY29kZSBtZS4=",
- "count": 1
}, - "_links": {
}
}
Search Content Items by Text
Text is the default search field. See Text Search Query Syntax for a summary of the query syntax.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
query Parameters
query required | string Example: query=uniondusk Query |
Responses
Response samples
- 200
{- "_embedded": {
- "content-items": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "folderId": "00112233445566778899aabb",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "version": 1,
- "status": "ACTIVE",
- "label": "Label",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "publish": {
}, - "planned": {
- "templated": true
}, - "content-item": {
- "templated": true
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Finding Content Items by Delivery Keys
Find content items using the Delivery Key.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
query Parameters
key required | string Example: key=promo-page/main-banner The delivery key |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "locale": "en-GB",
- "version": 1,
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedVersion": 1,
- "lastUnpublishedDate": "2019-01-01T00:00:00.000Z",
- "lastUnpublishedVersion": 1,
- "publishingStatus": "NONE",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "workflow": {
- "state": "00112233445566778899aabb"
}, - "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
Get Content Repository
Get a new Content Repository
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "inspiration",
- "label": "inspiration",
- "status": "ACTIVE",
- "features": [
- "slots"
], - "type": "CONTENT",
- "contentTypes": [
- {
- "hubContentTypeId": "00112233445566778899aabb",
}
], - "itemLocales": [
- "en_US"
], - "_links": {
- "self": {
}, - "content-repository": {
}, - "update": {
}, - "delete": {
}, - "create-content-item": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "content-items": {
- "templated": true
}, - "share": {
}, - "assign-content-type": {
}, - "unassign-content-type": {
- "templated": true
}, - "folders": {
- "templated": true
}, - "create-folder": {
}, - "features": {
- "templated": true
}, - "set-item-locales": {
}, - "join-localization-group": {
}, - "localization-group-locales": {
}
}
}
Update Content Repository
Update the Content Repository
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
Request Body schema: application/json
Updated Content Repository
name | string non-empty Name |
label | string non-empty Name |
Responses
Request samples
- Payload
{- "name": "inspiration",
- "label": "inspiration"
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "inspiration",
- "label": "inspiration",
- "status": "ACTIVE",
- "features": [
- "slots"
], - "type": "CONTENT",
- "contentTypes": [
- {
- "hubContentTypeId": "00112233445566778899aabb",
}
], - "itemLocales": [
- "en_US"
], - "_links": {
- "self": {
}, - "content-repository": {
}, - "update": {
}, - "delete": {
}, - "create-content-item": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "content-items": {
- "templated": true
}, - "share": {
}, - "assign-content-type": {
}, - "unassign-content-type": {
- "templated": true
}, - "folders": {
- "templated": true
}, - "create-folder": {
}, - "features": {
- "templated": true
}, - "set-item-locales": {
}, - "join-localization-group": {
}, - "localization-group-locales": {
}
}
}
List Content Items
This lists all of the Content Items within this Content Repository
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
query Parameters
projection | string Value: "projection" Example: projection=basic "basic" - omits the body property from the return Content Items |
page | integer Page number |
folderId | string Example: folderId=00112233445566778899aabb Folder ID |
status | string Status |
excludeHierarchicalChildren | boolean Example: excludeHierarchicalChildren=true Exclude hierarchical child items |
size | integer Example: size=20 Page size |
sort | string Example: sort=createdDate,asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "content-items": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "locale": "en-GB",
- "version": 1,
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedVersion": 1,
- "lastUnpublishedDate": "2019-01-01T00:00:00.000Z",
- "lastUnpublishedVersion": 1,
- "publishingStatus": "NONE",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "workflow": {
- "state": "00112233445566778899aabb"
}, - "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Assign Content Type to Content Repository
Assign Content Type to a Content Repository
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
Request Body schema: application/json
Content Type ID to assign to the Content Reposiroty
contentTypeId required | string Content Type ID |
Responses
Request samples
- Payload
{- "contentTypeId": "00112233445566778899aabb"
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "name": "inspiration",
- "label": "inspiration",
- "status": "ACTIVE",
- "features": [
- "slots"
], - "type": "CONTENT",
- "contentTypes": [
- {
- "hubContentTypeId": "00112233445566778899aabb",
}
], - "itemLocales": [
- "en_US"
], - "_links": {
- "self": {
}, - "content-repository": {
}, - "update": {
}, - "delete": {
}, - "create-content-item": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "content-items": {
- "templated": true
}, - "share": {
}, - "assign-content-type": {
}, - "unassign-content-type": {
- "templated": true
}, - "folders": {
- "templated": true
}, - "create-folder": {
}, - "features": {
- "templated": true
}, - "set-item-locales": {
}, - "join-localization-group": {
}, - "localization-group-locales": {
}
}
}
Remove Content Type from Content Repository
Remove a Content Type from a Content Repository
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
contentTypeId required | string Example: 00112233445566778899aabb Content Type ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "inspiration",
- "label": "inspiration",
- "status": "ACTIVE",
- "features": [
- "slots"
], - "type": "CONTENT",
- "contentTypes": [
- {
- "hubContentTypeId": "00112233445566778899aabb",
}
], - "itemLocales": [
- "en_US"
], - "_links": {
- "self": {
}, - "content-repository": {
}, - "update": {
}, - "delete": {
}, - "create-content-item": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "content-items": {
- "templated": true
}, - "share": {
}, - "assign-content-type": {
}, - "unassign-content-type": {
- "templated": true
}, - "folders": {
- "templated": true
}, - "create-folder": {
}, - "features": {
- "templated": true
}, - "set-item-locales": {
}, - "join-localization-group": {
}, - "localization-group-locales": {
}
}
}
Create Content Repository
Create a new Content Repository
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
Content Repository
name required | string non-empty Name |
label required | string non-empty Name |
Responses
Request samples
- Payload
{- "name": "inspiration",
- "label": "inspiration"
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "name": "inspiration",
- "label": "inspiration",
- "status": "ACTIVE",
- "features": [
- "slots"
], - "type": "CONTENT",
- "contentTypes": [
- {
- "hubContentTypeId": "00112233445566778899aabb",
}
], - "itemLocales": [
- "en_US"
], - "_links": {
- "self": {
}, - "content-repository": {
}, - "update": {
}, - "delete": {
}, - "create-content-item": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "content-items": {
- "templated": true
}, - "share": {
}, - "assign-content-type": {
}, - "unassign-content-type": {
- "templated": true
}, - "folders": {
- "templated": true
}, - "create-folder": {
}, - "features": {
- "templated": true
}, - "set-item-locales": {
}, - "join-localization-group": {
}, - "localization-group-locales": {
}
}
}
List Content Repositories
List Content Repositories for a Hub
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=label,asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "content-repositories": [
- {
- "id": "00112233445566778899aabb",
- "name": "inspiration",
- "label": "inspiration",
- "status": "ACTIVE",
- "features": [
- "slots"
], - "type": "CONTENT",
- "contentTypes": [
- {
- "hubContentTypeId": "00112233445566778899aabb",
}
], - "itemLocales": [
- "en_US"
], - "_links": {
- "self": {
}, - "content-repository": {
}, - "update": {
}, - "delete": {
}, - "create-content-item": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "content-items": {
- "templated": true
}, - "share": {
}, - "assign-content-type": {
}, - "unassign-content-type": {
- "templated": true
}, - "folders": {
- "templated": true
}, - "create-folder": {
}, - "features": {
- "templated": true
}, - "set-item-locales": {
}, - "join-localization-group": {
}, - "localization-group-locales": {
}
}
}
]
}, - "_links": {
- "search:findByFeaturesContaining": {
- "templated": true
}
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Find by feature
Find all the Content Repositories that contain a feature
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
query Parameters
feature required | string Example: feature=slots Feature |
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=label,asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "content-repositories": [
- {
- "id": "00112233445566778899aabb",
- "name": "inspiration",
- "label": "inspiration",
- "status": "ACTIVE",
- "features": [
- "slots"
], - "type": "CONTENT",
- "contentTypes": [
- {
- "hubContentTypeId": "00112233445566778899aabb",
}
], - "itemLocales": [
- "en_US"
], - "_links": {
- "self": {
}, - "content-repository": {
}, - "update": {
}, - "delete": {
}, - "create-content-item": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "content-items": {
- "templated": true
}, - "share": {
}, - "assign-content-type": {
}, - "unassign-content-type": {
- "templated": true
}, - "folders": {
- "templated": true
}, - "create-folder": {
}, - "features": {
- "templated": true
}, - "set-item-locales": {
}, - "join-localization-group": {
}, - "localization-group-locales": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Assign Content Type to Content Repository
Assign Content Type to a Content Repository
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
Request Body schema: application/json
Content Type ID to assign to the Content Reposiroty
contentTypeId required | string Content Type ID |
Responses
Request samples
- Payload
{- "contentTypeId": "00112233445566778899aabb"
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "name": "inspiration",
- "label": "inspiration",
- "status": "ACTIVE",
- "features": [
- "slots"
], - "type": "CONTENT",
- "contentTypes": [
- {
- "hubContentTypeId": "00112233445566778899aabb",
}
], - "itemLocales": [
- "en_US"
], - "_links": {
- "self": {
}, - "content-repository": {
}, - "update": {
}, - "delete": {
}, - "create-content-item": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "content-items": {
- "templated": true
}, - "share": {
}, - "assign-content-type": {
}, - "unassign-content-type": {
- "templated": true
}, - "folders": {
- "templated": true
}, - "create-folder": {
}, - "features": {
- "templated": true
}, - "set-item-locales": {
}, - "join-localization-group": {
}, - "localization-group-locales": {
}
}
}
Remove Content Type from Content Repository
Remove a Content Type from a Content Repository
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
contentTypeId required | string Example: 00112233445566778899aabb Content Type ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "inspiration",
- "label": "inspiration",
- "status": "ACTIVE",
- "features": [
- "slots"
], - "type": "CONTENT",
- "contentTypes": [
- {
- "hubContentTypeId": "00112233445566778899aabb",
}
], - "itemLocales": [
- "en_US"
], - "_links": {
- "self": {
}, - "content-repository": {
}, - "update": {
}, - "delete": {
}, - "create-content-item": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "content-items": {
- "templated": true
}, - "share": {
}, - "assign-content-type": {
}, - "unassign-content-type": {
- "templated": true
}, - "folders": {
- "templated": true
}, - "create-folder": {
}, - "features": {
- "templated": true
}, - "set-item-locales": {
}, - "join-localization-group": {
}, - "localization-group-locales": {
}
}
}
Get Content Type
Get the request Content Type
Authorizations:
path Parameters
contentTypeId required | string Example: 00112233445566778899aabb Content Type ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "status": "ACTIVE",
- "settings": {
- "label": "New Content Type",
- "visualizations": [
]
}, - "_links": {
- "archive": {
}, - "unarchive": {
}, - "content-type": {
}, - "effective-content-type": {
}, - "content-type-schema": {
}
}
}
Update Content Type
Update the Content Type
Authorizations:
path Parameters
contentTypeId required | string Example: 00112233445566778899aabb Content Type ID |
Request Body schema: application/json
Updated Content Type
object | |||||||
|
Responses
Request samples
- Payload
{- "settings": {
- "label": "New Content Type",
- "visualizations": [
]
}
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "status": "ACTIVE",
- "settings": {
- "label": "New Content Type",
- "visualizations": [
]
}, - "_links": {
- "archive": {
}, - "unarchive": {
}, - "content-type": {
}, - "effective-content-type": {
}, - "content-type-schema": {
}
}
}
Archive Content Type
Archive a Content Type
Authorizations:
path Parameters
contentTypeId required | string Example: 00112233445566778899aabb Content Type ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "status": "ARCHIVED",
- "settings": {
- "label": "New Content Type",
- "visualizations": [
]
}, - "_links": {
- "archive": {
}, - "unarchive": {
}, - "content-type": {
}, - "effective-content-type": {
}, - "content-type-schema": {
}
}
}
Unarchive Content Type
Unarchive a Content Type
Authorizations:
path Parameters
contentTypeId required | string Example: 00112233445566778899aabb Content Type ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "status": "ACTIVE",
- "settings": {
- "label": "New Content Type",
- "visualizations": [
]
}, - "_links": {
- "archive": {
}, - "unarchive": {
}, - "content-type": {
}, - "effective-content-type": {
}, - "content-type-schema": {
}
}
}
Create Content Type
Create a new Content Type
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
Content Type
required | object | ||||||
|
Responses
Request samples
- Payload
{- "settings": {
- "label": "New Content Type",
- "visualizations": [
]
}
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "status": "ACTIVE",
- "settings": {
- "label": "New Content Type",
- "visualizations": [
]
}, - "_links": {
- "archive": {
}, - "unarchive": {
}, - "content-type": {
}, - "effective-content-type": {
}, - "content-type-schema": {
}
}
}
List Content Types
List Content Types for a Hub
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=contentTypeUri,asc Sort paramter |
status | string Example: status=ACTIVE,ARCHIVED Comma seperated list of statuses |
Responses
Response samples
- 200
{- "_embedded": {
- "content-types": [
- {
- "id": "00112233445566778899aabb",
- "status": "ACTIVE",
- "settings": {
- "label": "New Content Type",
- "visualizations": [
]
}, - "_links": {
- "archive": {
}, - "unarchive": {
}, - "content-type": {
}, - "effective-content-type": {
}, - "content-type-schema": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Get Edition
Get Edition
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "Edition",
- "comment": "This is an Edition comment",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "eventId": "00112233445566778899aabb",
- "publishingStatus": "DRAFT",
- "slotsRemaining": 200,
- "schedulingErrors": null,
- "activeEndDate": false,
- "publishingJobId": "00112233445566778899aabb",
- "statusUpdated": "2019-01-01T00:00:00.000Z",
- "schedulingUser": null,
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "stagedDate": "2019-01-01T00:00:00.000Z",
- "slotCollisions": false,
- "_links": {
- "create-preview": {
}, - "preview": {
}, - "edition-conflicts": {
}, - "edition-conflict": {
- "templated": true
}, - "slot-collisions": {
}, - "copy-slots": {
- "templated": true
}, - "list-slots": {
- "templated": true
}, - "schedule": {
- "templated": true
},
}
}
Update Edition
Update Edition
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
Request Body schema: application/json
name | string [ 1 .. 120 ] characters Edition Name |
comment | string <= 250 characters Edition Comment |
activeEndDate | boolean Active End Date |
Responses
Request samples
- Payload
{- "name": "Edition",
- "comment": "This is an Edition comment",
- "activeEndDate": false
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "Edition",
- "comment": "This is an Edition comment",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "eventId": "00112233445566778899aabb",
- "publishingStatus": "DRAFT",
- "slotsRemaining": 200,
- "schedulingErrors": null,
- "activeEndDate": false,
- "publishingJobId": "00112233445566778899aabb",
- "statusUpdated": "2019-01-01T00:00:00.000Z",
- "schedulingUser": null,
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "stagedDate": "2019-01-01T00:00:00.000Z",
- "slotCollisions": false,
- "_links": {
- "create-preview": {
}, - "preview": {
}, - "edition-conflicts": {
}, - "edition-conflict": {
- "templated": true
}, - "slot-collisions": {
}, - "copy-slots": {
- "templated": true
}, - "list-slots": {
- "templated": true
}, - "schedule": {
- "templated": true
},
}
}
Archive Edition
Archiving an edition is irreversible, you cannot unarchive.
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "Edition",
- "comment": "This is an Edition comment",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "eventId": "00112233445566778899aabb",
- "publishingStatus": "PUBLISHED",
- "slotsRemaining": 200,
- "schedulingErrors": null,
- "activeEndDate": false,
- "publishingJobId": "00112233445566778899aabb",
- "statusUpdated": "2019-01-01T00:00:00.000Z",
- "schedulingUser": null,
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "stagedDate": "2019-01-01T00:00:00.000Z",
- "slotCollisions": false,
- "status": "ARCHIVED",
- "_links": {
- "create-preview": {
}, - "preview": {
}, - "edition-conflicts": {
}, - "edition-conflict": {
- "templated": true
}, - "slot-collisions": {
}
}
}
Get Edition Conflicts
Get Edition Conflicts
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
Responses
Response samples
- 200
{- "conflictedItems": [
- {
- "contentItemId": "00112233445566778899aabb",
- "contentItemLabel": "Banner Ad Homepage",
- "versions": [
- {
- "version": 1,
- "instances": 1,
- "slots": 1
}
]
}
], - "_links": {
- "self": {
}, - "edition-conflict": {
- "templated": true
}
}
}
Resolve Edition Conflicts
Resolve Edition Conflicts
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
Request Body schema: application/json
comment | string Comment |
lastModifiedDate | string <date-time> Last Modified Date |
required | Array of objects |
Responses
Request samples
- Payload
{- "comment": "Comment",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "resolutions": [
- {
- "contentItemId": "00112233445566778899aabb",
- "version": 1
}
]
}
Get Edition Conflict by Id and Version
Get Edition Conflict by Id and Version
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
query Parameters
version required | number Example: version=1 Version |
id required | string Example: id=00112233445566778899aabb Id |
Responses
Response samples
- 200
{- "editionId": "00112233445566778899aabb",
- "contentItemId": "00112233445566778899aabb",
- "version": 1,
- "instances": [
- {
- "snapshot": {
- "snapshotId": "00112233445566778899aabb",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "comment": "Comment",
- "slotId": "00112233445566778899aabb",
- "slotLabel": "Slot Label",
- "itemHierarchy": [
- {
- "contentItemId": "00112233445566778899aabb",
- "version": 1,
- "label": "Label"
}
]
}
}
], - "_links": {
- "edition-conflict": {
}
}
}
Create Edition Content
Create Edition Content
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "eventId": "00112233445566778899aabb",
- "editionId": "00112233445566778899aabb",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "content": {
- "body": {
- "_meta": {
- "name": "Name"
}
}
}, - "status": "Active",
- "label": "Banner Ad Homepage",
- "conflicts": false,
- "empty": true,
- "_links": {
- "edition-contents": {
},
}
}
List Edition Contents
List Edition Contents
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
query Parameters
page | integer Example: page=1 page to retrieve |
size | integer Example: size=20 page size to retrieve |
Responses
Response samples
- 200
{- "_embedded": {
- "edition-contents": [
- {
- "id": "00112233445566778899aabb",
- "eventId": "00112233445566778899aabb",
- "editionId": "00112233445566778899aabb",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "content": "",
- "status": "ACTIVE",
- "label": "Banner Ad Homepage",
- "conflicts": false,
- "empty": true,
- "_links": {
- "edition-content": {
},
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Get Edition Content
Get Edition Content
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
editionContentId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Edition Content ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "eventId": "00112233445566778899aabb",
- "editionId": "00112233445566778899aabb",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "content": "",
- "status": "ACTIVE",
- "label": "Banner Ad Homepage",
- "conflicts": false,
- "empty": true,
- "_links": {
- "edition-content": {
},
}
}
Associate Edition Content
Associate Snapshot to Edition Content
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
editionContentId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Edition Content ID |
Request Body schema: application/json
Associating Snapshots to Edition Content
object | |||||||||||
|
Responses
Request samples
- Payload
{- "body": {
- "contents": {
- "_meta": {
- "rootContentItemIds": [
- "00112233-4455-6677-8899-aabbccddeeff"
], - "locked": true
}, - "id": "00112233445566778899aabb",
}
}
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "eventId": "00112233445566778899aabb",
- "editionId": "00112233445566778899aabb",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "content": {
- "body": {
- "_meta": {
- "rootContentItemIds": [
- "00112233-4455-6677-8899-aabbccddeeff"
], - "locked": true
}, - "id": "00112233445566778899aabb,",
}
}, - "status": "Active",
- "empty": true,
- "_links": {
- "edition-contents": {
},
}
}
Create Edition Preview
If an Edition has been Previewed or is Scheduled then you can retrieve the Snapshot to be used with the Preview application or in Time Machine.
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
Request Body schema: application/json
lastModifiedDate | string <date-time> Last Modified Date |
type | string Type |
Responses
Request samples
- Payload
{- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "type": "QUICKPREVIEW"
}
Response samples
- 200
{- "snapshotId": "00112233445566778899aabb",
- "_links": {
}
}
Get Edition Preview
If an Edition has been Previewed or is Scheduled then you can retrieve the Snapshot to be used with the Preview application or in Time Machine.
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
Responses
Response samples
- 200
{- "snapshotId": "00112233445566778899aabb",
- "_links": {
}
}
Schedule Edition
In order to schedule an Edition, the Edition must be in the DRAFT state, all Edition Slots must be in the 'VALID' state if there are any, the Edition must have at least one Slot or Content Snapshot, and there must be no conflicts in the Edition. This will then trigger the publishing job to take place on the start date of the Edition.
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
Request Body schema: application/json
lastModifiedDate | string <date-time> Last Modified Date |
Responses
Request samples
- Payload
{- "lastModifiedDate": "2019-01-01T00:00:00.000Z"
}
Get Edition Slot Collisions
Get Edition Slot Collisions
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
Responses
Response samples
- 200
{- "editionId": "00112233445566778899aabb",
- "editionSlotCollisionsResponseEntries": [
- {
- "editionName": "Edition",
- "startDateTime": "2019-01-01T00:00:00.000Z",
- "endDateTime": "2019-01-01T00:00:00.000Z",
- "editionId": "00112233445566778899aabb",
- "collidingSlotsIds": [
- [
- "00112233-4455-6677-8899-aabbccddeeff",
- "00112233-4455-6677-8899-aabbccddeeff"
]
], - "eventName": "Event",
- "eventId": "00112233445566778899aabb"
}
], - "_links": {
- "slot-collisions": {
}
}
}
Assign Edition Slots
Assign Edition Slots
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
query Parameters
sourceEditionSlotId | string Example: sourceEditionSlotId=00112233445566778899aabb Source Edition Slot ID used to copy Edition Slot to Edition |
Request Body schema: application/json
Associate Slots to Editions
slot | string ID |
Responses
Request samples
- Payload
[- {
- "slot": "00112233-4455-6677-8899-aabbccddeeff"
}
]
Response samples
- 200
{- "_embedded": {
- "slots": [
- {
- "id": "00112233445566778899aabb",
- "eventId": "00112233445566778899aabb",
- "editionId": "00112233445566778899aabb",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "content": {
- "body": {
}
}, - "status": "VALID",
- "slotStatus": "ACTIVE",
- "contentTypeId": "00112233445566778899aabb",
- "slotId": "00112233445566778899aabb",
- "slotLabel": "Slot Label",
- "conflicts": false,
- "locale": null,
- "empty": true,
- "_links": {
- "edition-slot": {
}, - "slot": {
- "templated": true
}, - "safe-update-content": {
- "templated": true
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 2,
- "totalPages": 1,
- "number": 0
}
}
Get Edition Slots
Get Edition Slots
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
query Parameters
page | integer Example: page=1 page to retrieve |
size | integer Example: size=20 page size to retrieve |
includedSlots | string Example: includedSlots=00112233-4455-6677-8899-aabbccddeeff Retrieving Slots associated to an Edition filtered by content item |
Responses
Response samples
- 200
{- "_embedded": {
- "slots": [
- {
- "id": "00112233445566778899aabb",
- "eventId": "00112233445566778899aabb",
- "editionId": "00112233445566778899aabb",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "content": {
- "body": {
}
}, - "status": "VALID",
- "slotStatus": "ACTIVE",
- "contentTypeId": "00112233445566778899aabb",
- "slotId": "00112233445566778899aabb",
- "slotLabel": "Slot Label",
- "conflicts": false,
- "locale": null,
- "empty": true,
- "_links": {
- "edition-slot": {
}, - "slot": {
- "templated": true
}, - "safe-update-content": {
- "templated": true
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Get Edition Slot
Get Edition Slot
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
slotId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Slot ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "eventId": "00112233445566778899aabb",
- "editionId": "00112233445566778899aabb",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "content": {
- "body": {
}
}, - "status": "VALID",
- "slotStatus": "ACTIVE",
- "contentTypeId": "00112233445566778899aabb",
- "slotId": "00112233445566778899aabb",
- "slotLabel": "Slot Label",
- "conflicts": false,
- "locale": null,
- "empty": true,
- "_links": {
- "edition-slot": {
}, - "slot": {
- "templated": true
}, - "safe-update-content": {
- "templated": true
}
}
}
Create Edition Slot Content
Create Edition Slot Content
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
slotId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Slot ID |
Request Body schema: application/json
Associating Snapshots to Slots
object | |
label | string |
Responses
Request samples
- Payload
{- "body": {
- "slot": {
- "_meta": {
- "rootContentItem": "00112233-4455-6677-8899-aabbccddeeff",
- "locked": true
}, - "id": "00112233445566778899aabb",
}
}, - "label": "Simple Slot"
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "eventId": "00112233445566778899aabb",
- "editionId": "00112233445566778899aabb",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "content": {
- "body": {
- "slot": {
- "_meta": {
- "rootContentItem": "00112233-4455-6677-8899-aabbccddeeff",
- "locked": true
}, - "id": "00112233445566778899aabb",
}
}, - "label": "Simple Slot"
}, - "status": "VALID",
- "slotStatus": "ACTIVE",
- "contentTypeId": "00112233445566778899aabb",
- "slotId": "00112233445566778899aabb",
- "slotLabel": "Slot Label",
- "conflicts": false,
- "locale": null,
- "empty": true,
- "_links": {
- "edition-slot": {
}, - "slot": {
- "templated": true
}, - "safe-update-content": {
- "templated": true
}
}
}
Find By Date Range
Find Editions using a Date Range
Authorizations:
query Parameters
hubId required | string Example: hubId=00112233445566778899aabb Hub ID |
rangeStart | string <date-time> Example: rangeStart=2019-01-01T00:00:00.000Z The start date to search from |
rangeEnd | string <date-time> Example: rangeEnd=2019-01-01T00:00:00.000Z The end date to search to |
projection | string Value: "withEvent" Include child Editions |
bounded | integer Example: bounded=1 Find events that have either started or ended within the date range |
size | integer Example: size=10 Set the number of results per page |
page | integer Page number |
sort | string Example: sort=createdDate,asc Sort parameter |
Responses
Response samples
- 200
{- "_embedded": {
- "editions": [
- {
- "id": "00112233445566778899aabb",
- "name": "Edition",
- "comment": "This is an Edition",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "eventId": "00112233445566778899aabb",
- "publishingStatus": "DRAFT",
- "slotsRemaining": 200,
- "schedulingErrors": null,
- "activeEndDate": false,
- "publishingJobId": "00112233445566778899aabb",
- "statusUpdated": "2019-01-01T00:00:00.000Z",
- "schedulingUser": null,
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "stagedDate": "2019-01-01T00:00:00.000Z",
- "slotCollisions": false,
- "_links": {
- "create-preview": {
}, - "preview": {
}, - "schedule": {
- "templated": true
}, - "list-slots": {
- "templated": true
}, - "copy-slots": {
- "templated": null
}, - "edition-conflicts": {
}, - "edition-conflict": {
- "templated": true
}, - "slot-collisions": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Find By Event
Find Event by Id
Authorizations:
query Parameters
eventId required | string Example: eventId=00112233445566778899aabb Event Id |
Responses
Response samples
- 200
{- "_embedded": {
- "editions": [
- {
- "id": "00112233445566778899aabb",
- "name": "Edition",
- "comment": "This is an Edition comment",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "eventId": "00112233445566778899aabb",
- "publishingStatus": "DRAFT",
- "slotsRemaining": 200,
- "schedulingErrors": null,
- "activeEndDate": false,
- "publishingJobId": "00112233445566778899aabb",
- "statusUpdated": "2019-01-01T00:00:00.000Z",
- "schedulingUser": null,
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "stagedDate": "2019-01-01T00:00:00.000Z",
- "slotCollisions": false,
- "_links": {
- "create-preview": {
}, - "preview": {
}, - "edition-conflicts": {
}, - "edition-conflict": {
- "templated": true
}, - "slot-collisions": {
}, - "copy-slots": {
- "templated": true
}, - "list-slots": {
- "templated": true
}, - "schedule": {
- "templated": true
},
}
}
]
}, - "_links": {
- "search": {
}
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create Edition
Authorizations:
path Parameters
editionId required | string Example: 00112233445566778899aabb Edition Id |
query Parameters
sourceEditionId | string Example: sourceEditionId=00112233445566778899aabb Duplicate an Edition by providing an Edition Id |
projection | string Value: "withEvent" Include parent event for edition |
Request Body schema: application/json
name required | string [ 1 .. 120 ] characters Edition Name |
comment | string <= 250 characters Edition Comment |
activeEndDate | boolean Active End Date |
Responses
Request samples
- Payload
{- "name": "Edition",
- "comment": "This is an Edition comment",
- "activeEndDate": false
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "Edition",
- "comment": "This is an Edition comment",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "eventId": "00112233445566778899aabb",
- "publishingStatus": "DRAFT",
- "slotsRemaining": 200,
- "schedulingErrors": null,
- "activeEndDate": false,
- "publishingJobId": "00112233445566778899aabb",
- "statusUpdated": "2019-01-01T00:00:00.000Z",
- "schedulingUser": null,
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "stagedDate": "2019-01-01T00:00:00.000Z",
- "slotCollisions": false,
- "_links": {
- "create-preview": {
}, - "preview": {
}, - "edition-conflicts": {
}, - "edition-conflict": {
- "templated": true
}, - "slot-collisions": {
}, - "copy-slots": {
- "templated": true
}, - "list-slots": {
- "templated": true
}, - "schedule": {
- "templated": true
},
}
}
List Editions
Authorizations:
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
Responses
Response samples
- 200
{- "_embedded": {
- "editions": [
- {
- "id": "00112233445566778899aabb",
- "name": "Edition",
- "comment": "This is an Edition comment",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "eventId": "00112233445566778899aabb",
- "publishingStatus": "DRAFT",
- "slotsRemaining": 200,
- "schedulingErrors": null,
- "activeEndDate": false,
- "publishingJobId": "00112233445566778899aabb",
- "statusUpdated": "2019-01-01T00:00:00.000Z",
- "schedulingUser": null,
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "stagedDate": "2019-01-01T00:00:00.000Z",
- "slotCollisions": false,
- "_links": {
- "create-preview": {
}, - "preview": {
}, - "edition-conflicts": {
}, - "edition-conflict": {
- "templated": true
}, - "slot-collisions": {
}, - "copy-slots": {
- "templated": true
}, - "list-slots": {
- "templated": true
}, - "schedule": {
- "templated": true
},
}
}
]
}, - "_links": {
- "search": {
}
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Get Snapshot Edition Links
Return a list of edition links for the specified snapshot.
Simply follow the HAL link with rel "snapshot-edition-links" from a snapshot response.
Authorizations:
path Parameters
snapshotId required | string Example: 00112233445566778899aabb Snapshot ID |
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=createdDate,asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "edition-links": [
- {
- "editionId": "00112233445566778899aabb",
- "createdDate": "2019-01-01T00:00:00Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Get an Event
Get an Event by ID
Authorizations:
path Parameters
eventId required | string Example: 00112233445566778899aabb Event ID |
query Parameters
projection | string Value: "withEditions" Include related Editions |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "Event",
- "comment": "This is an example Event",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "locales": [
- "en-GB",
- "it"
], - "_links": {
- "archive": {
}, - "create-edition": {
}, - "editions": {
}
}
}
Update an Event
Update an Event by ID
Authorizations:
path Parameters
eventId required | string Example: 00112233445566778899aabb Event ID |
Request Body schema: application/json
name | string <= 120 characters Name |
comment | string <= 250 characters Comment |
start | string <date-time> The Event start date |
end | string <date-time> The Event end date |
brief | string <uri> <= 2000 characters Brief - external URI that related to this Event |
locales | Array of strings <locale> Locales |
Responses
Request samples
- Payload
{- "name": "Event",
- "comment": "This is an example Event",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "locales": [
- "en-GB",
- "it"
]
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "Event",
- "comment": "This is an example Event",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "locales": [
- "en-GB",
- "it"
], - "_links": {
- "editions": {
- "templated": true
}, - "archive": {
}, - "create-edition": {
- "templated": true
}
}
}
Archive Events
Archiving an event is irreversible, you cannot unarchive. Archiving an event will also archive all editions contained within the event.
Authorizations:
path Parameters
eventId required | string Example: 00112233445566778899aabb Event ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "Event",
- "comment": "This is an example Event",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "locales": [
- [ ]
], - "status": "ARCHIVED",
- "_links": {
- "editions": {
- "templated": true
}
}
}
Search Events by date
List all of the Events for a given date
Authorizations:
query Parameters
hubId required | string Example: hubId=00112233445566778899aabb Hub ID |
rangeStart required | string <date-time> Example: rangeStart=2019-01-01T00:00:00.000Z The start date to search from |
rangeEnd | string <date-time> Example: rangeEnd=2019-01-01T00:00:00.000Z The end date to search to |
projection | string Value: "withEditions" Include child Editions |
bounded | integer Example: bounded=1 Find events that have either started or ended within the date range |
size | integer Example: size=10 Set the number of results per page |
Responses
Response samples
- 200
{- "_embedded": {
- "events": [
- {
- "id": "00112233445566778899aabb",
- "name": "Event",
- "comment": "This is an example Event",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "locales": [
- "en-GB",
- "it"
], - "_links": {
- "archive": {
}, - "create-edition": {
}, - "editions": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 5,
- "totalPages": 1,
- "number": 0
}
}
Search Events by date range and Slots
List all of the Events for a given date range and slot ID
Authorizations:
query Parameters
hubId required | string Example: hubId=00112233445566778899aabb Hub ID |
rangeStart required | string <date-time> Example: rangeStart=2019-01-01T00:00:00.000Z The start date to search from |
rangeEnd | string <date-time> Example: rangeEnd=2019-01-01T00:00:00.000Z The end date to search to |
projection | string Value: "withEditions" Include child Editions |
bounded | integer Example: bounded=1 Find events that have either started or ended within the date range |
slots required | string Example: slots=00112233-4455-6677-8899-aabbccddeeff Slot ID |
locales | string Example: locales=en-GB Locale to match |
size | integer Example: size=10 Set the number of results per page |
Responses
Response samples
- 200
{- "_embedded": {
- "events": [
- {
- "id": "00112233445566778899aabb",
- "name": "Event",
- "comment": "This is an example Event",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "locales": [
- "en-GB",
- "it"
], - "_links": {
- "archive": {
}, - "create-edition": {
}, - "editions": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 5,
- "totalPages": 1,
- "number": 0
}
}
List Events
List all of the Events created for a hub
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Responses
Response samples
- 200
{- "_embedded": {
- "events": [
- {
- "id": "00112233445566778899aabb",
- "name": "Event",
- "comment": "This is an example Event",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "locales": [
- "en-GB",
- "it"
], - "_links": {
- "editions": {
- "templated": true
}, - "archive": {
}, - "create-edition": {
- "templated": true
}
}
}
]
}, - "_links": {
- "first": {
}, - "search": {
}
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create a new Event
Create a new Event for a particular Hub.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
name required | string <= 120 characters Name |
comment | string <= 250 characters Comment |
start required | string <date-time> The Event start date |
end required | string <date-time> The Event end date |
brief | string <uri> <= 2000 characters Brief - external URI that related to this Event |
locales | Array of strings <locale> Locales |
Responses
Request samples
- Payload
{- "name": "Event",
- "comment": "This is an example Event",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "locales": [
- "en-GB",
- "it"
]
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "Event",
- "comment": "This is an example Event",
- "start": "2019-01-01T00:00:00.000Z",
- "end": "2019-01-01T00:00:00.000Z",
- "locales": [
- "en-GB",
- "it"
], - "_links": {
- "editions": {
- "templated": true
}, - "archive": {
}, - "create-edition": {
- "templated": true
}
}
}
Get Extension
Return the extension with the specified ID.
Authorizations:
path Parameters
extensionId required | string Example: 00112233445566778899aabb Extension ID |
Responses
Response samples
- 200
{- "hubId": "00112233445566778899aabb",
- "name": "Extension-01",
- "label": "Extension-01 first-draft",
- "description": "This is a description of an extension.",
- "height": 400,
- "enabledForAllContentTypes": false,
- "category": "CONTENT_FIELD",
- "parameters": [
- {
- "color": "blue"
}
], - "snippets": [
- {
- "label": "mySnippet",
- "body": "{}"
}
], - "settings": "{\"API\":{\"READ\":true,\"EDIT\":true},\"SANDBOX\":{\"SAME_ORIGIN\":false,\"MODALS\":true,\"NAVIGATION\":true,\"POPUPS\":false,\"DOWNLOADS\":false,\"FORMS\":true}}",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
}
}
Patch Extension
Patch an Extension
Authorizations:
path Parameters
extensionId required | string Example: 00112233445566778899aabb Extension ID |
Request Body schema: application/json
name required | string System name |
label required | string User friendly name |
description | string Description |
url required | string Url |
height | integer Height of the extension |
enabledForAllContentTypes | boolean Default: true Sets whether the extension is globally enabled or intended for a specific content type |
category required | string Value: "CONTENT_FIELD" Type of extension |
Array of objects Array of config parameters | |
Array of objects Array of snippets | |
settings | string The settings parameter is used to store undefined extension settings such as security rule. |
Responses
Request samples
- Payload
{- "name": "Extension-01",
- "label": "Extension-01 first-draft",
- "description": "This is a description of an extension.",
- "height": 400,
- "enabledForAllContentTypes": false,
- "category": "CONTENT_FIELD",
- "parameters": [
- {
- "color": "blue"
}
], - "snippets": [
- {
- "label": "mySnippet",
- "body": "{}"
}
], - "settings": "{\"API\":{\"READ\":true,\"EDIT\":true},\"SANDBOX\":{\"SAME_ORIGIN\":false,\"MODALS\":true,\"NAVIGATION\":true,\"POPUPS\":false,\"DOWNLOADS\":false,\"FORMS\":true}}"
}
Response samples
- 200
{- "hubId": "00112233445566778899aabb",
- "name": "Extension-01",
- "label": "Extension-01 first-draft",
- "description": "This is a description of an extension.",
- "height": 400,
- "enabledForAllContentTypes": false,
- "category": "CONTENT_FIELD",
- "parameters": [
- {
- "color": "blue"
}
], - "snippets": [
- {
- "label": "mySnippet",
- "body": "{}"
}
], - "settings": "{\"API\":{\"READ\":true,\"EDIT\":true},\"SANDBOX\":{\"SAME_ORIGIN\":false,\"MODALS\":true,\"NAVIGATION\":true,\"POPUPS\":false,\"DOWNLOADS\":false,\"FORMS\":true}}",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
}
}
List Extensions
List all of the extension created for a hub.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=createdDate,asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "extensions": [
- {
- "hubId": "00112233445566778899aabb",
- "name": "Extension-01",
- "label": "Extension-01 first-draft",
- "description": "This is a description of an extension.",
- "height": 400,
- "enabledForAllContentTypes": false,
- "category": "CONTENT_FIELD",
- "parameters": [
- {
- "color": "blue"
}
], - "snippets": [
- {
- "label": "mySnippet",
- "body": "{}"
}
], - "settings": "{\"API\":{\"READ\":true,\"EDIT\":true},\"SANDBOX\":{\"SAME_ORIGIN\":false,\"MODALS\":true,\"NAVIGATION\":true,\"POPUPS\":false,\"DOWNLOADS\":false,\"FORMS\":true}}",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create Extension
Create a new Extension.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
name required | string System name |
label required | string User friendly name |
description | string Description |
url required | string Url |
height | integer Height of the extension |
enabledForAllContentTypes | boolean Default: true Sets whether the extension is globally enabled or intended for a specific content type |
category required | string Value: "CONTENT_FIELD" Type of extension |
Array of objects Array of config parameters | |
Array of objects Array of snippets | |
settings | string The settings parameter is used to store undefined extension settings such as security rule. |
Responses
Request samples
- Payload
{- "name": "Extension-01",
- "label": "Extension-01 first-draft",
- "description": "This is a description of an extension.",
- "height": 400,
- "enabledForAllContentTypes": false,
- "category": "CONTENT_FIELD",
- "parameters": [
- {
- "color": "blue"
}
], - "snippets": [
- {
- "label": "mySnippet",
- "body": "{}"
}
], - "settings": "{\"API\":{\"READ\":true,\"EDIT\":true},\"SANDBOX\":{\"SAME_ORIGIN\":false,\"MODALS\":true,\"NAVIGATION\":true,\"POPUPS\":false,\"DOWNLOADS\":false,\"FORMS\":true}}"
}
Response samples
- 200
{- "hubId": "00112233445566778899aabb",
- "name": "Extension-01",
- "label": "Extension-01 first-draft",
- "description": "This is a description of an extension.",
- "height": 400,
- "enabledForAllContentTypes": false,
- "category": "CONTENT_FIELD",
- "parameters": [
- {
- "color": "blue"
}
], - "snippets": [
- {
- "label": "mySnippet",
- "body": "{}"
}
], - "settings": "{\"API\":{\"READ\":true,\"EDIT\":true},\"SANDBOX\":{\"SAME_ORIGIN\":false,\"MODALS\":true,\"NAVIGATION\":true,\"POPUPS\":false,\"DOWNLOADS\":false,\"FORMS\":true}}",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
}
}
Get Extension by name
Return the extension with the specified name, in current hub.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
name required | string Example: sample-name Extension name |
Responses
Response samples
- 200
{- "hubId": "00112233445566778899aabb",
- "name": "Extension-01",
- "label": "Extension-01 first-draft",
- "description": "This is a description of an extension.",
- "height": 400,
- "enabledForAllContentTypes": false,
- "category": "CONTENT_FIELD",
- "parameters": [
- {
- "color": "blue"
}
], - "snippets": [
- {
- "label": "mySnippet",
- "body": "{}"
}
], - "settings": "{\"API\":{\"READ\":true,\"EDIT\":true},\"SANDBOX\":{\"SAME_ORIGIN\":false,\"MODALS\":true,\"NAVIGATION\":true,\"POPUPS\":false,\"DOWNLOADS\":false,\"FORMS\":true}}",
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
}
}
Folders are used to organise items in a hierarchical structure. Currently only enabled for organising content items within a content repository.
Create Folder
Folders are used to organise items in a hierarchical structure. Currently only enabled for organising content items within a content repository.
To create a new folder follow the "create-folder" link from a content repository.
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
Request Body schema: application/json
Content Repository Folder
name required | string non-empty Folder name |
Responses
Request samples
- Payload
{- "name": "New folder"
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "name": "New folder",
- "_links": {
- "content-repository": {
}, - "content-items": {
- "templated": true
}, - "create-folder": {
},
}
}
List Folders
List all of the top-level Folders for a Content Repository
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=createdDate,asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "folders": [
- {
- "id": "00112233445566778899aabb",
- "name": "New folder",
- "_links": {
- "content-repository": {
}, - "content-items": {
- "templated": true
}, - "create-folder": {
},
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create Folder
Update a folder
Authorizations:
path Parameters
folderId required | string Example: 00112233445566778899aabb Folder ID |
Request Body schema: application/json
Updated Folder
name | string non-empty Folder name |
Responses
Request samples
- Payload
{- "name": "New folder"
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "New folder",
- "_links": {
- "content-repository": {
}, - "content-items": {
- "templated": true
}, - "create-folder": {
},
}
}
Get Folder
Get a folder
Authorizations:
path Parameters
folderId required | string Example: 00112233445566778899aabb Folder ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "New folder",
- "_links": {
- "content-repository": {
}, - "content-items": {
- "templated": true
}, - "create-folder": {
},
}
}
Create Sub-Folder
Create a new sub-folder.
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
Request Body schema: application/json
Folder
name required | string non-empty Folder name |
Responses
Request samples
- Payload
{- "name": "New folder"
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "name": "New folder",
- "_links": {
- "content-repository": {
}, - "content-items": {
- "templated": true
}, - "create-folder": {
},
}
}
List Sub-folders
List the sub-folders of a folder
Authorizations:
path Parameters
folderId required | string Example: 00112233445566778899aabb Folder ID |
Responses
Response samples
- 200
{- "_embedded": {
- "folders": [
- {
- "id": "00112233445566778899aabb",
- "name": "New folder",
- "_links": {
- "content-repository": {
}, - "content-items": {
- "templated": true
}, - "create-folder": {
},
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
List Hubs
Authorizations:
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
Responses
Response samples
- 200
{- "_embedded": {
- "hubs": [
- {
- "id": "00112233445566778899aabb",
- "name": "anya-finn",
- "label": "Anya Finn",
- "description": "Content for anyafinn.com",
- "plan": "DEVELOPER",
- "algoliaSearch": "ENABLED",
- "cdv2": "ENABLED",
- "organizationId": "org_cDQVi4ww5y6cMPtN",
- "settings": {
- "publishing": {
- "platforms": {
- "amplience_dam": {
- "API_KEY": "DAM_CLIENT_KEY",
- "endpoint": "endpoint"
}
}
}, - "devices": [
- {
- "name": "New Device",
- "width": 2048,
- "height": 1024,
- "orientate": false
}
], - "localization": {
- "locales": [
- "en-GB",
- "fr-FR"
]
}, - "previewVirtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "virtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "assetManagement": {
- "enabled": false,
- "clientConfig": "HUB"
}
}, - "_links": {
- "snapshots": {
- "templated": true
}, - "create-snapshot": {
}, - "batch-create-snapshot": {
}, - "events": {
- "templated": true
}, - "create-event": {
}, - "update-settings": {
}, - "content-repositories": {
- "templated": true
}, - "create-content-repository": {
}, - "register-content-types": {
}, - "create-content-type-schema": {
}, - "content-types": {
- "templated": true
}, - "list-content-type-schemas": {
- "templated": true
}, - "resolve-content-type-schema": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "search-localization-jobs": {
}, - "webhooks": {
- "templated": true
}, - "create-webhook": {
}, - "integrations": {
- "templated": true
}, - "create-workflow-state": {
}, - "workflow-states": {
- "templated": true
}, - "create-algolia-search-index": {
}, - "algolia-search-indexes": {
- "templated": true
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create Hub
A Hub is a container for multiple repositories including media, content, content types.
Authorizations:
Request Body schema: application/json
Hub
name required | string non-empty Hub name |
label required | string non-empty Hub label |
description | any Hub description |
plan | string or null (HubPlan) Value: "DEVELOPER" Hub Plan |
algoliaSearch | string Value: "ENABLED" Algolia Search enabled flag |
cdv2 | string Value: "ENABLED" CD2 enabled flag |
organizationId | string [ 1 .. 50 ] characters Organization ID |
object (HubSettings) Hub settings |
Responses
Request samples
- Payload
{- "name": "anya-finn",
- "label": "Anya Finn",
- "description": "Content for anyafinn.com",
- "plan": "DEVELOPER",
- "algoliaSearch": "ENABLED",
- "cdv2": "ENABLED",
- "organizationId": "org_cDQVi4ww5y6cMPtN",
- "settings": {
- "publishing": {
- "platforms": {
- "amplience_dam": {
- "API_KEY": "DAM_CLIENT_KEY",
- "API_SECRET": "DAM_CLIENT_SECRET",
- "endpoint": "endpoint"
}
}
}, - "devices": [
- {
- "name": "New Device",
- "width": 2048,
- "height": 1024,
- "orientate": false
}
], - "localization": {
- "locales": [
- "en-GB",
- "fr-FR"
]
}, - "previewVirtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "virtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "assetManagement": {
- "enabled": false,
- "clientConfig": "HUB"
}
}
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "name": "anya-finn",
- "label": "Anya Finn",
- "description": "Content for anyafinn.com",
- "plan": "DEVELOPER",
- "algoliaSearch": "ENABLED",
- "cdv2": "ENABLED",
- "organizationId": "org_cDQVi4ww5y6cMPtN",
- "settings": {
- "publishing": {
- "platforms": {
- "amplience_dam": {
- "API_KEY": "DAM_CLIENT_KEY",
- "endpoint": "endpoint"
}
}
}, - "devices": [
- {
- "name": "New Device",
- "width": 2048,
- "height": 1024,
- "orientate": false
}
], - "localization": {
- "locales": [
- "en-GB",
- "fr-FR"
]
}, - "previewVirtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "virtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "assetManagement": {
- "enabled": false,
- "clientConfig": "HUB"
}
}, - "_links": {
- "snapshots": {
- "templated": true
}, - "create-snapshot": {
}, - "batch-create-snapshot": {
}, - "events": {
- "templated": true
}, - "create-event": {
}, - "update-settings": {
}, - "content-repositories": {
- "templated": true
}, - "create-content-repository": {
}, - "register-content-types": {
}, - "create-content-type-schema": {
}, - "content-types": {
- "templated": true
}, - "list-content-type-schemas": {
- "templated": true
}, - "resolve-content-type-schema": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "search-localization-jobs": {
}, - "webhooks": {
- "templated": true
}, - "create-webhook": {
}, - "integrations": {
- "templated": true
}, - "create-workflow-state": {
}, - "workflow-states": {
- "templated": true
}, - "create-algolia-search-index": {
}, - "algolia-search-indexes": {
- "templated": true
}
}
}
Get Hub
Hub is the root resource in Dynamic Content, all other resources can be accessed from a Hub
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "anya-finn",
- "label": "Anya Finn",
- "description": "Content for anyafinn.com",
- "plan": "DEVELOPER",
- "algoliaSearch": "ENABLED",
- "cdv2": "ENABLED",
- "organizationId": "org_cDQVi4ww5y6cMPtN",
- "settings": {
- "publishing": {
- "platforms": {
- "amplience_dam": {
- "API_KEY": "DAM_CLIENT_KEY",
- "endpoint": "endpoint"
}
}
}, - "devices": [
- {
- "name": "New Device",
- "width": 2048,
- "height": 1024,
- "orientate": false
}
], - "localization": {
- "locales": [
- "en-GB",
- "fr-FR"
]
}, - "previewVirtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "virtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "assetManagement": {
- "enabled": false,
- "clientConfig": "HUB"
}
}, - "_links": {
- "snapshots": {
- "templated": true
}, - "create-snapshot": {
}, - "batch-create-snapshot": {
}, - "events": {
- "templated": true
}, - "create-event": {
}, - "update-settings": {
}, - "content-repositories": {
- "templated": true
}, - "create-content-repository": {
}, - "register-content-types": {
}, - "create-content-type-schema": {
}, - "content-types": {
- "templated": true
}, - "list-content-type-schemas": {
- "templated": true
}, - "resolve-content-type-schema": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "search-localization-jobs": {
}, - "webhooks": {
- "templated": true
}, - "create-webhook": {
}, - "integrations": {
- "templated": true
}, - "create-workflow-state": {
}, - "workflow-states": {
- "templated": true
}, - "create-algolia-search-index": {
}, - "algolia-search-indexes": {
- "templated": true
}
}
}
Update Hub
Hub is the root resource in Dynamic Content, all other resources can be accessed from a Hub
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
name | string non-empty Hub name |
label | string non-empty Hub label |
description | any Hub description |
plan | string or null (HubPlan) Value: "DEVELOPER" Hub Plan |
algoliaSearch | string Value: "ENABLED" Algolia Search enabled flag |
cdv2 | string Value: "ENABLED" CD2 enabled flag |
organizationId | string [ 1 .. 50 ] characters Organization ID |
object (HubSettings) Hub settings |
Responses
Request samples
- Payload
{- "name": "anya-finn",
- "label": "Anya Finn",
- "description": "Content for anyafinn.com",
- "plan": "DEVELOPER",
- "algoliaSearch": "ENABLED",
- "cdv2": "ENABLED",
- "organizationId": "org_cDQVi4ww5y6cMPtN",
- "settings": {
- "publishing": {
- "platforms": {
- "amplience_dam": {
- "API_KEY": "DAM_CLIENT_KEY",
- "API_SECRET": "DAM_CLIENT_SECRET",
- "endpoint": "endpoint"
}
}
}, - "devices": [
- {
- "name": "New Device",
- "width": 2048,
- "height": 1024,
- "orientate": false
}
], - "localization": {
- "locales": [
- "en-GB",
- "fr-FR"
]
}, - "previewVirtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "virtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "assetManagement": {
- "enabled": false,
- "clientConfig": "HUB"
}
}
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "anya-finn",
- "label": "Anya Finn",
- "description": "Content for anyafinn.com",
- "plan": "DEVELOPER",
- "algoliaSearch": "ENABLED",
- "cdv2": "ENABLED",
- "organizationId": "org_cDQVi4ww5y6cMPtN",
- "settings": {
- "publishing": {
- "platforms": {
- "amplience_dam": {
- "API_KEY": "DAM_CLIENT_KEY",
- "endpoint": "endpoint"
}
}
}, - "devices": [
- {
- "name": "New Device",
- "width": 2048,
- "height": 1024,
- "orientate": false
}
], - "localization": {
- "locales": [
- "en-GB",
- "fr-FR"
]
}, - "previewVirtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "virtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "assetManagement": {
- "enabled": false,
- "clientConfig": "HUB"
}
}, - "_links": {
- "snapshots": {
- "templated": true
}, - "create-snapshot": {
}, - "batch-create-snapshot": {
}, - "events": {
- "templated": true
}, - "create-event": {
}, - "update-settings": {
}, - "content-repositories": {
- "templated": true
}, - "create-content-repository": {
}, - "register-content-types": {
}, - "create-content-type-schema": {
}, - "content-types": {
- "templated": true
}, - "list-content-type-schemas": {
- "templated": true
}, - "resolve-content-type-schema": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "search-localization-jobs": {
}, - "webhooks": {
- "templated": true
}, - "create-webhook": {
}, - "integrations": {
- "templated": true
}, - "create-workflow-state": {
}, - "workflow-states": {
- "templated": true
}, - "create-algolia-search-index": {
}, - "algolia-search-indexes": {
- "templated": true
}
}
}
Update Hub Asset Management Settings
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
enabled | boolean |
clientConfig | string Enum: "HUB" "USER" |
Responses
Request samples
- Payload
{- "enabled": false,
- "clientConfig": "HUB"
}
Response samples
- 200
{- "enabled": false,
- "clientConfig": "HUB",
- "_links": {
- "self": {
}, - "asset-management": {
}
}
}
Post Bulk Apply Locale Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
Array of objects | |
object |
Responses
Request samples
- Payload
{- "selection": [
- {
- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff",
- "version": 1
}
], - "localization": {
- "locale": "en-gb"
}
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "LOCALE",
- "status": "CREATED",
- "results": {
- "succeeded": [ ],
- "failed": [ ]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-apply-locale": {
}
}
}
Get Bulk Apply Locale Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
bulkJobId required | string Example: 00112233445566778899bbcc Bulk Job Id |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "LOCALE",
- "status": "CREATED",
- "results": {
- "succeeded": [
- {
- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff"
}
], - "failed": [
- {
- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff",
- "Code": "NULL_VERSION",
- "message": "version must not be null"
}
]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-apply-locale": {
}
}
}
Post Bulk Archive Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
Array of objects | |||||
Array
|
Responses
Request samples
- Payload
{- "selection": [
- {
- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff",
- "version": 1
}
]
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "ARCHIVE",
- "status": "CREATED",
- "results": {
- "succeeded": [ ],
- "failed": [ ]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-archive": {
}
}
}
Get Bulk Archive Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
jobId required | string Example: 00112233445566778899bbcc Bulk Job Id |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "ARCHIVE",
- "status": "CREATED",
- "results": {
- "succeeded": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}
], - "failed": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "Code": "NULL_VERSION",
- "message": "version must not be null"
}
]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-archive": {
}
}
}
Post Bulk Assign Users Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
Array of objects | |||||
Array
|
Responses
Request samples
- Payload
{- "selection": [
- {
- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff",
- "assignees": [
- "00112233445566778899aabb"
]
}
]
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "ASSIGN_USERS",
- "status": "CREATED",
- "results": {
- "succeeded": [ ],
- "failed": [ ]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-assign-users": {
}
}
}
Get Bulk Assign Users Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
jobId required | string Example: 00112233445566778899bbcc Bulk Job Id |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "ASSIGN_USERS",
- "status": "CREATED",
- "results": {
- "succeeded": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}
], - "failed": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "Code": "EMPTY_BULK_JOB_REQUEST",
- "message": "No items were supplied in this request"
}
]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-assign-users": {
}
}
}
Post Bulk Copy Item Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
Array of objects | |||||||||||||
Array
|
Responses
Request samples
- Payload
{- "selection": [
- {
- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff",
- "version": 1,
- "contentRepositoryId": "00112233-4455-6677-8899-aabbccddaabb",
- "folderId": "00112233-4455-6677-8899-aabbccddddcc",
- "name": "New Name",
- "label": "label1"
}
]
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "COPY",
- "status": "CREATED",
- "results": {
- "succeeded": [ ],
- "failed": [ ]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-copy-item": {
}
}
}
Get Bulk Copy Item Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
jobId required | string Example: 00112233445566778899bbcc Bulk Job Id |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "COPY",
- "status": "CREATED",
- "results": {
- "succeeded": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}
], - "failed": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "Code": "UNAUTHORISED",
- "message": "Authorization required."
}
]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-copy-item": {
}
}
}
Post Bulk Publish Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
Array of objects | |||||
Array
|
Responses
Request samples
- Payload
{- "selection": [
- {
- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff",
- "version": 1
}
]
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "PUBLISH",
- "status": "CREATED",
- "results": {
- "succeeded": [ ],
- "failed": [ ]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-publish-items": {
}
}
}
Get Bulk Publish Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
bulkJobId required | string Example: 00112233445566778899bbcc Bulk Job Id |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "PUBLISH",
- "status": "CREATED",
- "results": {
- "succeeded": [
- {
- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff",
- "publishingJobId": "00112233445566778899aabb",
- "_links": {
- "publishing-job": {
}
}
}
], - "failed": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "Code": "NULL_VERSION",
- "message": "version must not be null"
}
]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-publish-items": {
}
}
}
Post Bulk Unarchive Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
Array of objects | |||||
Array
|
Responses
Request samples
- Payload
{- "selection": [
- {
- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff",
- "version": 1
}
]
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "UNARCHIVE",
- "status": "CREATED",
- "results": {
- "succeeded": [ ],
- "failed": [ ]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-unarchive": {
}
}
}
Get Bulk Unarchive Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
jobId required | string Example: 00112233445566778899bbcc Bulk Job Id |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "UNARCHIVE",
- "status": "CREATED",
- "results": {
- "succeeded": [
- {
- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff"
}
], - "failed": [
- {
- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff",
- "Code": "NULL_VERSION",
- "message": "version must not be null"
}
]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-unarchive": {
}
}
}
Post Bulk Update Workflow Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
Array of objects | |
object |
Responses
Request samples
- Payload
{- "selection": [
- {
- "contentItemId": "00112233-4455-6677-8899-aabbccddeeff",
- "version": 1
}
], - "workflow": {
- "state": "00112233445566778899aabb"
}
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "UPDATE_WORKFLOW",
- "status": "CREATED",
- "results": {
- "succeeded": [ ],
- "failed": [ ]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-update-workflow": {
}
}
}
Get Bulk Update Workflow Job
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
bulkJobId required | string Example: 00112233445566778899bbcc Bulk Job Id |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "type": "UPDATE_WORKFLOW",
- "status": "CREATED",
- "results": {
- "succeeded": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}
], - "failed": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "Code": "NULL_VERSION",
- "message": "version must not be null"
}
]
}, - "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "bulk-update-workflow": {
}
}
}
Update Hub Settings
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
object | |
Array of objects | |
object | |
Array of objects | |
object (HubSettingsVirtualStagingEnvironment) | |
object (HubSettingsVirtualStagingEnvironment) | |
object |
Responses
Request samples
- Payload
{- "publishing": {
- "platforms": {
- "amplience_dam": {
- "API_KEY": "DAM_CLIENT_KEY",
- "API_SECRET": "DAM_CLIENT_SECRET",
- "endpoint": "endpoint"
}
}
}, - "devices": [
- {
- "name": "New Device",
- "width": 2048,
- "height": 1024,
- "orientate": false
}
], - "localization": {
- "locales": [
- "en-GB",
- "fr-FR"
]
}, - "previewVirtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "virtualStagingEnvironment": {
- "hostname": "unique-id.staging.bigcontent.io"
}, - "assetManagement": {
- "enabled": false,
- "clientConfig": "HUB"
}
}
Assigning locales to Content Items
Assign a locale to a Content Item
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Request Body schema: application/json
Assign Content Item Locale request
locale required | string Locale |
version required | number >= 1 Version |
Responses
Request samples
- Payload
{- "locale": "en-GB",
- "version": 1
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "body": {
- "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "locale": "en-GB",
- "version": 1,
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedVersion": 1,
- "lastUnpublishedDate": "2019-01-01T00:00:00.000Z",
- "lastUnpublishedVersion": 1,
- "publishingStatus": "NONE",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "workflow": {
- "state": "00112233445566778899aabb"
}, - "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
Listing the Localizations of a Content Item
Once a Content Item has been localized into one or more desired locales, you will be able to see the list of all localizations by following the "localizations" HAL link.
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Responses
Response samples
- 200
{- "_embedded": {
- "content-items": [
- {
- "id": "00112233445566778899aabb",
- "locale": "en",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "content-item": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Assigning locales to Content Repository
In order to organise your localized content into separate repositories you can assign a set locales to a Content Repository. You may want to do this in order to give different teams different permissions to create or edit content based on locale.
Assigning locales to a Content Repository has 2 effects. Firstly, you will only be able to assign locales to Content Items which match those assigned to the repository. Secondly, when localizing a content graph, the newly created Content Items will be created in the appropriate Content Repository which match the desired locale.
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
Request Body schema: application/json
Updating item locales request
itemLocales required | Array of strings Item locales |
Responses
Request samples
- Payload
{- "itemLocales": [
- "en",
- "fr"
]
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "inspiration",
- "label": "inspiration",
- "status": "ACTIVE",
- "features": [
- "slots"
], - "type": "CONTENT",
- "contentTypes": [
- {
- "hubContentTypeId": "00112233445566778899aabb",
}
], - "itemLocales": [
- "en_US"
], - "_links": {
- "self": {
}, - "content-repository": {
}, - "update": {
}, - "delete": {
}, - "create-content-item": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "content-items": {
- "templated": true
}, - "share": {
}, - "assign-content-type": {
}, - "unassign-content-type": {
- "templated": true
}, - "folders": {
- "templated": true
}, - "create-folder": {
}, - "features": {
- "templated": true
}, - "set-item-locales": {
}, - "join-localization-group": {
}, - "localization-group-locales": {
}
}
}
Updating a Content Repository localization group
The following API allows you to make 2 or more Content Repositories part of the same "group". The new repository will leave it’s current group and join the group of the target repository. To do this, follow the "join-localization-group" HAL link from the target repository and specify the new repository in the body.
For example, lets say you have 3 Content Repositories, Repo1 has no locales assigned, Repo2 and Repo3 are both members of the same group and are assigned locales ["en-GB", "en-US"] and ["fr-FR"] respectively. The following example shows localizing en-GB content into fr-FR. A1 signifies that item A exists in Repo1.
A1 A1 A'1
/ \ / \ / \
B2 C1 ==> B2 C1 B'3 C'1
/ / \ / / \ / / \
D2 E2 F2 D2 E2 F2 D'3 E'3 F'3
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
Request Body schema: application/json
Updating item locales request
newRepositoryId required | string New Content Repository ID |
Responses
Request samples
- Payload
{- "newRepositoryId": "00112233445566778899aabb"
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "name": "inspiration",
- "label": "inspiration",
- "status": "ACTIVE",
- "features": [
- "slots"
], - "type": "CONTENT",
- "contentTypes": [
- {
- "hubContentTypeId": "00112233445566778899aabb",
}
], - "itemLocales": [
- "en_US"
], - "_links": {
- "self": {
}, - "content-repository": {
}, - "update": {
}, - "delete": {
}, - "create-content-item": {
}, - "search-content-items": {
- "templated": true
}, - "facet-content-items": {
- "templated": true
}, - "content-items": {
- "templated": true
}, - "share": {
}, - "assign-content-type": {
}, - "unassign-content-type": {
- "templated": true
}, - "folders": {
- "templated": true
}, - "create-folder": {
}, - "features": {
- "templated": true
}, - "set-item-locales": {
}, - "join-localization-group": {
}, - "localization-group-locales": {
}
}
}
Get Content Repository localization group locales
List of all supported item locales in a Content Repository localization group. This request can be made using the ID of any repository in the localization group.
Authorizations:
path Parameters
contentRepositoryId required | string Example: 00112233445566778899aabb Content Repository ID |
Responses
Response samples
- 200
{- "locales": [
- "en",
- "fr"
], - "_links": {
}
}
Localization Jobs
Content item localization is performed asynchronously - the request to localize a content item graph creates a Localization Job which will be completed at some point in the future. It is possible to track the status of these jobs.
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Responses
Response samples
- 200
{- "_embedded": {
- "localization-jobs": [
- {
- "status": "IN_PROGRESS",
- "rootContentItem": {
- "label": "l10n",
- "locale": "en-GB",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}, - "requestedLocale": [
- "fr-FR",
- "de-DE"
], - "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "content-root": {
}, - "findByRootContentItem": {
- "templated": true
}
}
}
]
}, - "_links": {
- "search-localization-jobs": {
}
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
List Available Integrations
List all of the Integrations created for a hub (dependent on functional permissions)
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=label&sort=asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "integrations": [
- {
- "type": "sfcc",
- "label": "Salesforce Commerce Cloud",
- "_links": {
- "list-integrations": {
}, - "create-integrations": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Get a Publishing Job
Get a Publishing Job
Authorizations:
path Parameters
publishingJobId required | string Publishing Job ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "createdDate": "2018-01-01T00:00:00Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "state": "CREATED",
- "publishErrorStatus": "string",
- "_links": {
- "publishing-job": {
},
}
}
Cancelling a Publishing Job
Canelling a Publishing Job
Authorizations:
path Parameters
publishingJobId required | string Example: 00112233445566778899aabb Publishing Job ID |
Request Body schema: application/json
state required | string Assign state to "CANCELLED" |
Responses
Request samples
- Payload
{- "state": "CANCELLED"
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "createdDate": "2018-01-01T00:00:00Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "state": "CANCELLED",
- "publishErrorStatus": "string",
- "_links": {
- "publishing-job": {
},
}
}
List all publishing jobs for a Snapshot
Get a list of all Publishing Jobs for a Snapshot
Authorizations:
path Parameters
snapshotId required | string Snapshot ID |
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=createdDate,asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "publishing-jobs": [
- {
- "id": "00112233445566778899aabb",
- "createdDate": "2018-01-01T00:00:00Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "state": "CREATED",
- "publishErrorStatus": "string",
- "_links": {
- "publishing-job": {
},
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create Publishing-Job for Snapshot
Create a Publishing Job for a Snapshot
Authorizations:
path Parameters
snapshotId required | string Example: 00112233445566778899aabb Snapshot ID |
Request Body schema: application/json
scheduledDate required | string Scheduled date & time for Publishing Job |
Responses
Request samples
- Payload
{- "scheduledDate": "2018-01-01T00:00:00Z"
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "createdDate": "2018-01-01T00:00:00Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "state": "CREATED",
- "publishErrorStatus": "string",
- "_links": {
- "publishing-job": {
},
}
}
List SFCC Integrations
List all of the SFCC Integrations
Authorizations:
query Parameters
hubId required | string Example: hubId=00112233445566778899aabb Hub ID |
cursor | string Cursor specific to a page |
size | integer Example: size=20 Page size |
sort | string Example: sort=label&sort=asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "integrations": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "label": "Salesforce Commerce Cloud",
- "hubId": "00112233445566778899aabb",
- "sfcc-credentials": {
- "id": "SFCC_ID"
}, - "dc-credentials": {
- "id": "DC_ID"
}, - "contentSlots": {
- "site": "mySite",
- "ismlTemplate": "slots/html/htmlslotcontainer.isml"
}, - "rendering": {
- "vseDomain": "00112233445566778899aabb.staging.bigcontent.io",
- "htmlTemplate": "sfcc"
}, - "contentAssets": {
- "library": "default",
- "contentRepository": "00112233445566778899aabb",
- "contentTypes": [
- {
- "folders": [
- {
- "id": {
- "jsonPath": null,
- "fallback": null
}, - "default": false,
- "optional": false
}
], - "mappings": {
- "id": {
- "jsonPath": "$.body.sfcc_id",
- "fallback": "fallback value"
}, - "name": {
- "jsonPath": "$.body.name",
- "fallback": "fallback value"
}, - "onlineFlag": {
- "default": {
- "jsonPath": null,
- "fallback": null
}, - "mySite": {
- "jsonPath": null,
- "fallback": null
}
}, - "description": {
- "jsonPath": "$.body.description",
- "fallback": "fallback value"
}, - "siteMapPriority": {
- "jsonPath": "$.body.siteMapPriority",
- "fallback": "fallback value"
}, - "defaultedBoolean": {
- "default": {
- "jsonPath": null,
- "fallback": null
}, - "mySite": {
- "jsonPath": null,
- "fallback": null
}
}, - "defaultedNumber": {
- "default": {
- "jsonPath": null,
- "fallback": null
}, - "mySite": {
- "jsonPath": null,
- "fallback": null
}
}, - "defaultedObject": {
- "default": {
- "jsonPath": null,
- "fallback": null
}, - "mySite": {
- "jsonPath": null,
- "fallback": null
}
}, - "boolean_field": {
- "jsonPath": "$.body.boolean_field",
- "fallback": "fallback value"
}
}
}
]
}, - "localeMappings": {
- "default": "*",
- "fr-FR": "fr-FR,en,*",
- "de": "de-*,en-*,*"
}, - "lastInvocationTimestamp": "2019-01-01T00:00:00.000Z",
- "_links": {
- "update": {
}, - "delete": {
}, - "webhook-subscription": {
}
}
}
]
}, - "_links": {
- "integrations": {
- "templated": true
}
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create SFCC Integration
Create a SFCC Integration
Authorizations:
Request Body schema: application/json
label | string |
required | object Credentials for integrating with SFCC |
required | object Credentials for integrating with DC |
required | object Details to use when communicating with SFCC |
object | |
required | object Used for setting up content previews |
object Filtering settings defining which content items are sent to SFCC | |
localeMappings | object Locales to use when creating SFCC content, any valid locale can be used |
Responses
Request samples
- Payload
{- "hubId": null,
- "label": "Salesforce Commerce Cloud",
- "sfcc-credentials": {
- "id": "SFCC_ID",
- "secret": "SFCC_SECRET"
}, - "dc-credentials": {
- "id": "DC_ID",
- "secret": "DC_SECRET"
}, - "contentSlots": {
- "site": "mySite",
- "ismlTemplate": "slots/html/htmlslotcontainer.isml"
}, - "rendering": {
- "vseDomain": "00112233445566778899aabb.staging.bigcontent.io",
- "htmlTemplate": "sfcc"
}, - "contentAssets": {
- "library": "default",
- "contentRepository": "00112233445566778899aabb",
- "contentTypes": [
- {
- "folders": [
- {
- "id": {
- "jsonPath": "$.body.sfcc_id",
- "fallback": "fallback value"
}, - "default": false,
- "optional": false
}
], - "mappings": {
- "id": {
- "jsonPath": "$.body.sfcc_id",
- "fallback": "fallback value"
}, - "name": {
- "jsonPath": "$.body.name",
- "fallback": "fallback value"
}, - "onlineFlag": {
- "default": {
- "jsonPath": "$.body.online",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site",
- "fallback": "fallback value"
}
}, - "description": {
- "jsonPath": "$.body.description",
- "fallback": "fallback value"
}, - "siteMapPriority": {
- "jsonPath": "$.body.siteMapPriority",
- "fallback": "fallback value"
}, - "defaultedBoolean": {
- "default": {
- "jsonPath": "$.body.defaultedBoolean",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_boolean",
- "fallback": "fallback value"
}
}, - "defaultedNumber": {
- "default": {
- "jsonPath": "$.body.defaultedNumber",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_number",
- "fallback": "fallback value"
}
}, - "defaultedObject": {
- "default": {
- "jsonPath": "$.body.defaultedObject",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_object",
- "fallback": "fallback value"
}
}, - "boolean_field": {
- "jsonPath": "$.body.boolean_field",
- "fallback": "fallback value"
}
}
}
]
}, - "localeMappings": {
- "default": "*",
- "fr-FR": "fr-FR,en,*",
- "de": "de-*,en-*,*"
}
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "label": "Salesforce Commerce Cloud",
- "hubId": "00112233445566778899aabb",
- "sfcc-credentials": {
- "id": "SFCC_ID"
}, - "dc-credentials": {
- "id": "DC_ID"
}, - "contentSlots": {
- "site": "mySite",
- "ismlTemplate": "slots/html/htmlslotcontainer.isml"
}, - "rendering": {
- "vseDomain": "00112233445566778899aabb.staging.bigcontent.io",
- "htmlTemplate": "sfcc"
}, - "contentAssets": {
- "library": "default",
- "contentRepository": "00112233445566778899aabb",
- "contentTypes": [
- {
- "folders": [
- {
- "id": {
- "jsonPath": "$.body.sfcc_id",
- "fallback": "fallback value"
}, - "default": false,
- "optional": false
}
], - "mappings": {
- "id": {
- "jsonPath": "$.body.sfcc_id",
- "fallback": "fallback value"
}, - "name": {
- "jsonPath": "$.body.name",
- "fallback": "fallback value"
}, - "onlineFlag": {
- "default": {
- "jsonPath": "$.body.online",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site",
- "fallback": "fallback value"
}
}, - "description": {
- "jsonPath": "$.body.description",
- "fallback": "fallback value"
}, - "siteMapPriority": {
- "jsonPath": "$.body.siteMapPriority",
- "fallback": "fallback value"
}, - "defaultedBoolean": {
- "default": {
- "jsonPath": "$.body.defaultedBoolean",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_boolean",
- "fallback": "fallback value"
}
}, - "defaultedNumber": {
- "default": {
- "jsonPath": "$.body.defaultedNumber",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_number",
- "fallback": "fallback value"
}
}, - "defaultedObject": {
- "default": {
- "jsonPath": "$.body.defaultedObject",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_object",
- "fallback": "fallback value"
}
}, - "boolean_field": {
- "jsonPath": "$.body.boolean_field",
- "fallback": "fallback value"
}
}
}
]
}, - "localeMappings": {
- "default": "*",
- "fr-FR": "fr-FR,en,*",
- "de": "de-*,en-*,*"
}, - "lastInvocationTimestamp": "2019-01-01T00:00:00.000Z",
- "_links": {
- "update": {
}, - "delete": {
}, - "webhook-subscription": {
}
}
}
Get a SFCC Integration
Get a specific SFCC Integration
Authorizations:
path Parameters
integrationId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Integration ID |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "label": "Salesforce Commerce Cloud",
- "hubId": "00112233445566778899aabb",
- "sfcc-credentials": {
- "id": "SFCC_ID"
}, - "dc-credentials": {
- "id": "DC_ID"
}, - "contentSlots": {
- "site": "mySite",
- "ismlTemplate": "slots/html/htmlslotcontainer.isml"
}, - "rendering": {
- "vseDomain": "00112233445566778899aabb.staging.bigcontent.io",
- "htmlTemplate": "sfcc"
}, - "contentAssets": {
- "library": "default",
- "contentRepository": "00112233445566778899aabb",
- "contentTypes": [
- {
- "folders": [
- {
- "id": {
- "jsonPath": "$.body.sfcc_id",
- "fallback": "fallback value"
}, - "default": false,
- "optional": false
}
], - "mappings": {
- "id": {
- "jsonPath": "$.body.sfcc_id",
- "fallback": "fallback value"
}, - "name": {
- "jsonPath": "$.body.name",
- "fallback": "fallback value"
}, - "onlineFlag": {
- "default": {
- "jsonPath": "$.body.online",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site",
- "fallback": "fallback value"
}
}, - "description": {
- "jsonPath": "$.body.description",
- "fallback": "fallback value"
}, - "siteMapPriority": {
- "jsonPath": "$.body.siteMapPriority",
- "fallback": "fallback value"
}, - "defaultedBoolean": {
- "default": {
- "jsonPath": "$.body.defaultedBoolean",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_boolean",
- "fallback": "fallback value"
}
}, - "defaultedNumber": {
- "default": {
- "jsonPath": "$.body.defaultedNumber",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_number",
- "fallback": "fallback value"
}
}, - "defaultedObject": {
- "default": {
- "jsonPath": "$.body.defaultedObject",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_object",
- "fallback": "fallback value"
}
}, - "boolean_field": {
- "jsonPath": "$.body.boolean_field",
- "fallback": "fallback value"
}
}
}
]
}, - "localeMappings": {
- "default": "*",
- "fr-FR": "fr-FR,en,*",
- "de": "de-*,en-*,*"
}, - "lastInvocationTimestamp": "2019-01-01T00:00:00.000Z",
- "_links": {
- "update": {
}, - "delete": {
}, - "webhook-subscription": {
}
}
}
Update SFCC Integration
Update an SFCC Integration
Authorizations:
Request Body schema: application/json
label | string |
object Credentials for integrating with SFCC | |
object Credentials for integrating with DC | |
object Details to use when communicating with SFCC | |
object | |
object Used for setting up content previews | |
object Filtering settings defining which content items are sent to SFCC | |
localeMappings | object Locales to use when creating SFCC content, any valid locale can be used |
Responses
Request samples
- Payload
{- "label": "Salesforce Commerce Cloud",
- "sfcc-credentials": {
- "id": "SFCC_ID",
- "secret": "SFCC_SECRET"
}, - "dc-credentials": {
- "id": "DC_ID",
- "secret": "DC_SECRET"
}, - "contentSlots": {
- "site": "mySite",
- "ismlTemplate": "slots/html/htmlslotcontainer.isml"
}, - "rendering": {
- "vseDomain": "00112233445566778899aabb.staging.bigcontent.io",
- "htmlTemplate": "sfcc"
}, - "contentAssets": {
- "library": "default",
- "contentRepository": "00112233445566778899aabb",
- "contentTypes": [
- {
- "folders": [
- {
- "id": {
- "jsonPath": "$.body.sfcc_id",
- "fallback": "fallback value"
}, - "default": false,
- "optional": false
}
], - "mappings": {
- "id": {
- "jsonPath": "$.body.sfcc_id",
- "fallback": "fallback value"
}, - "name": {
- "jsonPath": "$.body.name",
- "fallback": "fallback value"
}, - "onlineFlag": {
- "default": {
- "jsonPath": "$.body.online",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site",
- "fallback": "fallback value"
}
}, - "description": {
- "jsonPath": "$.body.description",
- "fallback": "fallback value"
}, - "siteMapPriority": {
- "jsonPath": "$.body.siteMapPriority",
- "fallback": "fallback value"
}, - "defaultedBoolean": {
- "default": {
- "jsonPath": "$.body.defaultedBoolean",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_boolean",
- "fallback": "fallback value"
}
}, - "defaultedNumber": {
- "default": {
- "jsonPath": "$.body.defaultedNumber",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_number",
- "fallback": "fallback value"
}
}, - "defaultedObject": {
- "default": {
- "jsonPath": "$.body.defaultedObject",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_object",
- "fallback": "fallback value"
}
}, - "boolean_field": {
- "jsonPath": "$.body.boolean_field",
- "fallback": "fallback value"
}
}
}
]
}, - "localeMappings": {
- "default": "*",
- "fr-FR": "fr-FR,en,*",
- "de": "de-*,en-*,*"
}
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "label": "Salesforce Commerce Cloud",
- "hubId": "00112233445566778899aabb",
- "sfcc-credentials": {
- "id": "SFCC_ID"
}, - "dc-credentials": {
- "id": "DC_ID"
}, - "contentSlots": {
- "site": "mySite",
- "ismlTemplate": "slots/html/htmlslotcontainer.isml"
}, - "rendering": {
- "vseDomain": "00112233445566778899aabb.staging.bigcontent.io",
- "htmlTemplate": "sfcc"
}, - "contentAssets": {
- "library": "default",
- "contentRepository": "00112233445566778899aabb",
- "contentTypes": [
- {
- "folders": [
- {
- "id": {
- "jsonPath": "$.body.sfcc_id",
- "fallback": "fallback value"
}, - "default": false,
- "optional": false
}
], - "mappings": {
- "id": {
- "jsonPath": "$.body.sfcc_id",
- "fallback": "fallback value"
}, - "name": {
- "jsonPath": "$.body.name",
- "fallback": "fallback value"
}, - "onlineFlag": {
- "default": {
- "jsonPath": "$.body.online",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site",
- "fallback": "fallback value"
}
}, - "description": {
- "jsonPath": "$.body.description",
- "fallback": "fallback value"
}, - "siteMapPriority": {
- "jsonPath": "$.body.siteMapPriority",
- "fallback": "fallback value"
}, - "defaultedBoolean": {
- "default": {
- "jsonPath": "$.body.defaultedBoolean",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_boolean",
- "fallback": "fallback value"
}
}, - "defaultedNumber": {
- "default": {
- "jsonPath": "$.body.defaultedNumber",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_number",
- "fallback": "fallback value"
}
}, - "defaultedObject": {
- "default": {
- "jsonPath": "$.body.defaultedObject",
- "fallback": "fallback value"
}, - "mySite": {
- "jsonPath": "$.body.site_object",
- "fallback": "fallback value"
}
}, - "boolean_field": {
- "jsonPath": "$.body.boolean_field",
- "fallback": "fallback value"
}
}
}
]
}, - "localeMappings": {
- "default": "*",
- "fr-FR": "fr-FR,en,*",
- "de": "de-*,en-*,*"
}, - "lastInvocationTimestamp": "2019-01-01T00:00:00.000Z",
- "_links": {
- "update": {
}, - "delete": {
}, - "webhook-subscription": {
}
}
}
List SFMC Integrations
List all of the SFMC Integrations
Authorizations:
query Parameters
hubId required | string Example: hubId=00112233445566778899aabb Hub ID |
cursor | string Cursor specific to a page |
size | integer Example: size=20 Page size |
sort | string Example: sort=label&sort=asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "integrations": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "label": "Salesforce Marketing Cloud",
- "active": true,
- "hubId": "00112233445566778899aabb",
- "sfmc-credentials": {
- "id": "SFMC_ID",
- "authDomain": "SFMC_SECRET"
}, - "dc-credentials": {
- "id": "DC_ID"
}, - "rendering": {
- "vseDomain": "00112233445566778899aabb.staging.bigcontent.io"
}, - "contentAssets": {
- "topLevelFolder": "myFolder",
- "contentTypeSchemas": [
- {
- "id": "string",
- "htmlTemplate": "sfmc"
}
]
}, - "lastInvocationTimestamp": 1234567890,
- "_links": {
- "update": {
}, - "delete": {
}, - "webhook-subscription": {
}
}
}
]
}, - "_links": {
- "integrations": {
- "templated": true
}
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create SFMC Integration
Create a SFMC Integration
Authorizations:
Request Body schema: application/json
label required | string <= 120 characters |
active required | boolean |
required | object Credentials for integrating with SFMC |
required | object Credentials for integrating with DC |
required | object Used for setting up content previews |
required | object Settings to use when creating SFMC content |
Responses
Request samples
- Payload
{- "hubId": null,
- "label": "Salesforce Marketing Cloud",
- "active": true,
- "sfmc-credentials": {
- "id": "SFMC_ID",
- "secret": "SFMC_SECRET",
- "authDomain": "SFMC_SECRET"
}, - "dc-credentials": {
- "id": "DC_ID",
- "secret": "DC_SECRET"
}, - "rendering": {
- "vseDomain": "00112233445566778899aabb.staging.bigcontent.io"
}, - "contentAssets": {
- "topLevelFolder": "myFolder",
- "contentTypeSchemas": [
- {
- "id": "string",
- "htmlTemplate": "sfmc"
}
]
}
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "label": "Salesforce Marketing Cloud",
- "active": true,
- "hubId": "00112233445566778899aabb",
- "sfmc-credentials": {
- "id": "SFMC_ID",
- "authDomain": "SFMC_SECRET"
}, - "dc-credentials": {
- "id": "DC_ID"
}, - "rendering": {
- "vseDomain": "00112233445566778899aabb.staging.bigcontent.io"
}, - "contentAssets": {
- "topLevelFolder": "myFolder",
- "contentTypeSchemas": [
- {
- "id": "string",
- "htmlTemplate": "sfmc"
}
]
}, - "lastInvocationTimestamp": 1234567890,
- "_links": {
- "update": {
}, - "delete": {
}, - "webhook-subscription": {
}
}
}
Get a SFMC Integration
Get a specific SFMC Integration
Authorizations:
path Parameters
integrationId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Integration ID |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "label": "Salesforce Marketing Cloud",
- "active": true,
- "hubId": "00112233445566778899aabb",
- "sfmc-credentials": {
- "id": "SFMC_ID",
- "authDomain": "SFMC_SECRET"
}, - "dc-credentials": {
- "id": "DC_ID"
}, - "rendering": {
- "vseDomain": "00112233445566778899aabb.staging.bigcontent.io"
}, - "contentAssets": {
- "topLevelFolder": "myFolder",
- "contentTypeSchemas": [
- {
- "id": "string",
- "htmlTemplate": "sfmc"
}
]
}, - "lastInvocationTimestamp": 1234567890,
- "_links": {
- "update": {
}, - "delete": {
}, - "webhook-subscription": {
}
}
}
Update SFMC Integration
Update an SFMC Integration
Authorizations:
Request Body schema: application/json
label | string <= 120 characters |
active | boolean |
object Credentials for integrating with SFMC | |
object Credentials for integrating with DC | |
object Used for setting up content previews | |
object Settings to use when creating SFMC content |
Responses
Request samples
- Payload
{- "label": "Salesforce Marketing Cloud",
- "active": true,
- "sfmc-credentials": {
- "id": "SFMC_ID",
- "secret": "SFMC_SECRET",
- "authDomain": "SFMC_SECRET"
}, - "dc-credentials": {
- "id": "DC_ID",
- "secret": "DC_SECRET"
}, - "rendering": {
- "vseDomain": "00112233445566778899aabb.staging.bigcontent.io"
}, - "contentAssets": {
- "topLevelFolder": "myFolder",
- "contentTypeSchemas": [
- {
- "id": "string",
- "htmlTemplate": "sfmc"
}
]
}
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "label": "Salesforce Marketing Cloud",
- "active": true,
- "hubId": "00112233445566778899aabb",
- "sfmc-credentials": {
- "id": "SFMC_ID",
- "authDomain": "SFMC_SECRET"
}, - "dc-credentials": {
- "id": "DC_ID"
}, - "rendering": {
- "vseDomain": "00112233445566778899aabb.staging.bigcontent.io"
}, - "contentAssets": {
- "topLevelFolder": "myFolder",
- "contentTypeSchemas": [
- {
- "id": "string",
- "htmlTemplate": "sfmc"
}
]
}, - "lastInvocationTimestamp": 1234567890,
- "_links": {
- "update": {
}, - "delete": {
}, - "webhook-subscription": {
}
}
}
Dynamic Content search is powered by Algolia. Algolia search indexes can be created to index data for one or more assigned content types. Content can then be queried from your frontend using Algolia's search APIs and SDKs.
List Indexes
List Algolia search indexes for a given hub
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
query Parameters
parentId | string Example: parentId=20 Filter by the parentId. An empty string will return all primary indexes. |
projection | string Value: "withSettings" Project addition values in list response
|
size | integer Example: size=20 Set the number of results per page |
page | integer Page number |
sort | string Example: sort=label,asc Sort parameter |
status | string Example: status=ACTIVE,ARCHIVED Comma seperated list of statuses |
Responses
Response samples
- 200
{- "_embedded": {
- "indexes": [
- {
- "id": "00112233445566778899aabb",
- "parentId": "00112233445566778899aabb",
- "replicaCount": 0,
- "name": "anya-finn.my-index",
- "suffix": "my-index",
- "label": "My Index",
- "type": "PRODUCTION",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "status": "ACTIVE",
- "_links": {
- "index": {
- "templated": true
}, - "list-replicas": {
- "templated": true
}, - "update-settings": {
- "templated": true
}, - "assigned-content-types": {
}, - "stats": {
- "templated": true
}, - "searches-with-no-results": {
- "templated": true
}, - "top-filters-no-result-search": {
- "templated": true
}, - "searches-count": {
- "templated": true
}, - "user-count": {
- "templated": true
}, - "no-results-rate": {
- "templated": true
},
}
}
]
}, - "_links": {
- "indexes": {
- "templated": true
},
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create an Index
Create a new Algolia search index
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
suffix required | string [ 3 .. 63 ] characters /^((?![/~,\\`&|;$\*]).)*$/ Index suffix |
label required | string [ 3 .. 63 ] characters User defined index label |
type required | string Enum: "PRODUCTION" "STAGING" Type of index |
required | Array of objects (AlgoliaSearchIndexAssignedContentType) Assigned Content Types |
Responses
Request samples
- Payload
{- "suffix": "my-index",
- "label": "My Index",
- "type": "PRODUCTION",
- "assignedContentTypes": [
]
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "parentId": "00112233445566778899aabb",
- "replicaCount": 0,
- "name": "anya-finn.my-index",
- "suffix": "my-index",
- "label": "My Index",
- "type": "PRODUCTION",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "status": "ACTIVE",
- "_links": {
- "index": {
- "templated": true
}, - "list-replicas": {
- "templated": true
}, - "update-settings": {
- "templated": true
}, - "assigned-content-types": {
}, - "stats": {
- "templated": true
}, - "searches-with-no-results": {
- "templated": true
}, - "top-filters-no-result-search": {
- "templated": true
}, - "searches-count": {
- "templated": true
}, - "user-count": {
- "templated": true
}, - "no-results-rate": {
- "templated": true
},
}
}
Get an Index
Get an Algolia search index for a given hub
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "parentId": "00112233445566778899aabb",
- "replicaCount": 0,
- "name": "anya-finn.my-index",
- "suffix": "my-index",
- "label": "My Index",
- "type": "PRODUCTION",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "status": "ACTIVE",
- "_links": {
- "index": {
- "templated": true
}, - "list-replicas": {
- "templated": true
}, - "update-settings": {
- "templated": true
}, - "assigned-content-types": {
}, - "stats": {
- "templated": true
}, - "searches-with-no-results": {
- "templated": true
}, - "top-filters-no-result-search": {
- "templated": true
}, - "searches-count": {
- "templated": true
}, - "user-count": {
- "templated": true
}, - "no-results-rate": {
- "templated": true
},
}
}
Update an Index
Update an active Algolia search index.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
Request Body schema: application/json
label | string [ 3 .. 63 ] characters User defined index label |
Responses
Request samples
- Payload
{- "label": "My Index"
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "parentId": "00112233445566778899aabb",
- "replicaCount": 0,
- "name": "anya-finn.my-index",
- "suffix": "my-index",
- "label": "My Index",
- "type": "PRODUCTION",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "status": "ACTIVE",
- "_links": {
- "index": {
- "templated": true
}, - "list-replicas": {
- "templated": true
}, - "update-settings": {
- "templated": true
}, - "assigned-content-types": {
}, - "stats": {
- "templated": true
}, - "searches-with-no-results": {
- "templated": true
}, - "top-filters-no-result-search": {
- "templated": true
}, - "searches-count": {
- "templated": true
}, - "user-count": {
- "templated": true
}, - "no-results-rate": {
- "templated": true
},
}
}
Archive an Algolia Search Index
Archive an Algolia Search Index
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "parentId": "00112233445566778899aabb",
- "replicaCount": 0,
- "name": "anya-finn.my-index",
- "suffix": "my-index",
- "label": "My Index",
- "type": "PRODUCTION",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "status": "ARCHIVED",
- "_links": {
- "index": {
- "templated": true
}, - "list-replicas": {
- "templated": true
}, - "update-settings": {
- "templated": true
}, - "assigned-content-types": {
}, - "stats": {
- "templated": true
}, - "searches-with-no-results": {
- "templated": true
}, - "top-filters-no-result-search": {
- "templated": true
}, - "searches-count": {
- "templated": true
}, - "user-count": {
- "templated": true
}, - "no-results-rate": {
- "templated": true
},
}
}
List Assigned Content Types
List all content types assigned to a search index. Each content type should have an associated webhook, which updates the index with content item data.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
query Parameters
size | integer Example: size=20 Set the number of results per page |
page | integer Page number |
sort | string Example: sort=createdDate,asc Sort parameter |
Responses
Response samples
- 200
{- "_embedded": {
- "assigned-content-types": [
- {
- "id": "00112233445566778899aabb",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "assigned-content-type": {
- "templated": true
}, - "webhook": {
}, - "active-content-webhook": {
}, - "recreate-active-content-webhook": {
}, - "archived-content-webhook": {
}, - "recreate-archived-content-webhook": {
}
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create an Assigned Content Type
Assign content type to a search index. Assigning a content type will create an associated webhook, which updates the index with content item data.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
Request Body schema: application/json
contentTypeUri required | string (ContentType) Registered Content Type Schema |
Responses
Request samples
- Payload
{
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "assigned-content-type": {
- "templated": true
}, - "webhook": {
}, - "active-content-webhook": {
}, - "recreate-active-content-webhook": {
}, - "archived-content-webhook": {
}, - "recreate-archived-content-webhook": {
}
}
}
Get Assigned Content Type
Get an assigned content type for a search index. A content type should have an associated webhook, which updates the index with content item data.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
contentTypeId required | string Example: 00112233445566778899aabb Assigned Content Type ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "assigned-content-type": {
- "templated": true
}, - "webhook": {
}, - "active-content-webhook": {
}, - "recreate-active-content-webhook": {
}, - "archived-content-webhook": {
}, - "recreate-archived-content-webhook": {
}
}
}
Delete an Assigned Content Type
Delete an assigned content type for a search index.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
contentTypeId required | string Example: 00112233445566778899aabb Assigned Content Type ID |
Responses
Recreate Assigned Content Type Webhook
Recreate the webhook for this assigned content type
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
contentTypeId required | string Example: 00112233445566778899aabb Assigned Content Type ID |
query Parameters
type required | string Enum: "active" "archived" Example: type=00112233445566778899aabb Type of webhook to create |
Request Body schema: application/json
Responses
Request samples
- Payload
{ }
Clear an Index
Remove all objects from an Algolia search index
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
Request Body schema: application/json
Responses
Request samples
- Payload
{ }
Get an API key
Get Algolia search API key for a given index/hub
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
keyId required | string Example: 00112233445566778899aabb Key ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "type": "HUB_SEARCH",
- "key": "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz",
- "applicationId": "AaBbCcDdEeFfGg",
}
Get Search Index Settings
Get Algolia search index settings
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
Responses
Response samples
- 200
{- "replicas": [
- "string"
], - "_links": {
}
}
Update Search Index Settings
Update settings on an active Algolia search index.
For a complete list of index settings visit the Algolia settings documentation.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
query Parameters
forwardToReplicas | boolean Example: forwardToReplicas=true Forward to replicas |
Request Body schema: application/json
replicas | Array of strings Index replicas that are managed by Dynamic Content should follow the naming convention <hubName>.<replicaName> - e.g. anyafinn.womens-clothing-replica |
Responses
Request samples
- Payload
{- "replicas": [
- "string"
]
}
Get Search Index Statistics
Get Algolia search index statistics
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
Responses
Response samples
- 200
{- "totalRecords": 546,
- "totalRecordSize": 256,
- "averageRecordSize": 56,
- "usage": {
- "averageResponseTime": {
- "unit": "DAYS",
- "duration": 30,
- "value": 1.25
}, - "numberOfSearches": {
- "unit": "DAYS",
- "duration": 30,
- "value": 150
}
}, - "_links": {
- "stats": {
- "templated": true
},
}
}
Unarchive an Algolia Search Index
Unarchive an Algolia Search Index
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "parentId": "00112233445566778899aabb",
- "replicaCount": 0,
- "name": "anya-finn.my-index",
- "suffix": "my-index",
- "label": "My Index",
- "type": "PRODUCTION",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "status": "ACTIVE",
- "_links": {
- "index": {
- "templated": true
}, - "list-replicas": {
- "templated": true
}, - "update-settings": {
- "templated": true
}, - "assigned-content-types": {
}, - "stats": {
- "templated": true
}, - "searches-with-no-results": {
- "templated": true
}, - "top-filters-no-result-search": {
- "templated": true
}, - "searches-count": {
- "templated": true
}, - "user-count": {
- "templated": true
}, - "no-results-rate": {
- "templated": true
},
}
}
Get rate of no results for an index
Returns the rate at which searches did not return any results. A value is returned for the whole range. Values per days are also returned. Additionally, the search count and the count of searches without results, used to compute the rates, are returned as well.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
query Parameters
startDate | string <date> Example: startDate=2020-07-16 The lower bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to 7 days ago, 00:00:00am, UTC |
endDate | string <date> Example: endDate=2020-07-23 The upper bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to Today, 23:59:59pm, UTC |
tags | string Example: tags=platform:ios Filter metrics on the provided tags. Each tag must correspond to an analyticsTags set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it should be URL encoded. E.g:
|
includeReplicas | boolean Default: false Example: includeReplicas=true Include replica data in the results (Can only be used in conjunction with primary indexes). |
Responses
Response samples
- 200
{- "rate": 0.5,
- "count": 10,
- "noResultCount": 5,
- "dates": [
- {
- "date": "2020-08-24",
- "rate": 0.5,
- "count": 10,
- "noResultCount": 5
}
], - "_links": {
- "no-results-rate": {
- "templated": true
},
}
}
Get count of searches for an index
Returns the number of searches across the given time range. A value is returned for the whole range. Additionally, values for each day are returned.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
query Parameters
startDate | string <date> Example: startDate=2020-07-16 The lower bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to 7 days ago, 00:00:00am, UTC |
endDate | string <date> Example: endDate=2020-07-23 The upper bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to Today, 23:59:59pm, UTC |
tags | string Example: tags=platform:ios Filter metrics on the provided tags. Each tag must correspond to an analyticsTags set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it should be URL encoded. E.g:
|
includeReplicas | boolean Default: false Example: includeReplicas=true Include replica data in the results (Can only be used in conjunction with primary indexes). |
Responses
Response samples
- 200
{- "count": 3,
- "dates": [
- {
- "date": "2020-08-24",
- "count": 3
}
], - "_links": {
- "searches-count": {
- "templated": true
},
}
}
Get top searches with no results
Returns top searches that did not return any results. Limited to the 1000 most frequent.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
query Parameters
startDate | string <date> Example: startDate=2020-07-16 The lower bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to 7 days ago, 00:00:00am, UTC |
endDate | string <date> Example: endDate=2020-07-23 The upper bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to Today, 23:59:59pm, UTC |
limit | number >= 0 Example: limit=10 How many items to fetch. |
offset | number >= 0 Example: offset=0 From which position to start retrieving results. |
tags | string Example: tags=platform:ios Filter metrics on the provided tags. Each tag must correspond to an analyticsTags set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it should be URL encoded. E.g:
|
includeReplicas | boolean Default: false Example: includeReplicas=true Include replica data in the results (Can only be used in conjunction with primary indexes). |
Responses
Response samples
- 200
{- "_embedded": {
- "searches-with-no-results": [
- {
- "search": "q0",
- "count": 3,
- "withFilterCount": 10
}
]
}, - "_links": {
- "searches-with-no-results": {
- "templated": true
},
}
}
Get top filters no result search
Returns top filters that did not return any results for given search. Limited to the top 1000.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
query Parameters
search required | string Example: search=q0 The query term. Must match the exact user input |
startDate | string <date> Example: startDate=2020-07-16 The lower bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to 7 days ago, 00:00:00am, UTC |
endDate | string <date> Example: endDate=2020-07-23 The upper bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to Today, 23:59:59pm, UTC |
limit | number >= 0 Example: limit=10 How many items to fetch. |
offset | number >= 0 Example: offset=0 From which position to start retrieving results. |
tags | string Example: tags=platform:ios Filter metrics on the provided tags. Each tag must correspond to an analyticsTags set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it should be URL encoded. E.g:
|
includeReplicas | boolean Default: false Example: includeReplicas=true Include replica data in the results (Can only be used in conjunction with primary indexes). |
Responses
Response samples
- 200
{- "_embedded": {
- "top-filters-no-result-search": [
- {
- "count": 3,
- "values": [
- {
- "attribute": "brand",
- "operator": ":",
- "value": "apple"
}
]
}
]
}, - "_links": {
- "top-filters-no-result-search": {
- "templated": true
},
}
}
Get top hits for an index
If search
is supplied, the top hits for the given search.
If search
is omitted, the overall top hits will be returned for this index.
Limited to the 1000 most frequent ones.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
query Parameters
search | string Example: search=term Get top hits for a given search. Must match the exact user input. |
startDate | string <date> Example: startDate=2020-07-16 The lower bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to 7 days ago, 00:00:00am, UTC |
endDate | string <date> Example: endDate=2020-07-23 The upper bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to Today, 23:59:59pm, UTC |
limit | number >= 0 Example: limit=10 How many items to fetch. |
offset | number >= 0 Example: offset=0 From which position to start retrieving results. |
tags | string Example: tags=platform:ios Filter metrics on the provided tags. Each tag must correspond to an analyticsTags set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it should be URL encoded. E.g:
|
includeReplicas | boolean Default: false Example: includeReplicas=true Include replica data in the results (Can only be used in conjunction with primary indexes). |
Responses
Response samples
- 200
{- "_embedded": {
- "top-hits": [
- {
- "hit": "ObjectID",
- "count": 3
}
]
}, - "_links": {
}
}
Get top searches for an index
Returns top searches. Limited to the 1000 most frequent ones. For each search, also returns the average number of hits returned.
If clickAnalytics=true
, then for each search, also returns:
- the click through rate,
- the conversion rate,
- the average click position.
You can also order the results using orderBy
and direction
.
Distinguishing no data vs 0% CTR, 0% CR, no average
- You have click analytics enabled but no queries were received with clickAnalytics=true
- in that case CTR, CR and average will be
null
.
- in that case CTR, CR and average will be
- You have click analytics enabled, we received queries with clickAnalytics=true
- CTR and CR are 0 until we receive click/conversion events
- average will stay null until we receive a click event
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
query Parameters
clickAnalytics | boolean Default: false If
|
orderBy | string You can reorder the results by passing one of the following:
|
direction | string Enum: "asc" "desc" Example: direction=desc Change the order of the results |
startDate | string <date> Example: startDate=2020-07-16 The lower bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to 7 days ago, 00:00:00am, UTC |
endDate | string <date> Example: endDate=2020-07-23 The upper bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to Today, 23:59:59pm, UTC |
limit | number >= 0 Example: limit=10 How many items to fetch. |
offset | number >= 0 Example: offset=0 From which position to start retrieving results. |
tags | string Example: tags=platform:ios Filter metrics on the provided tags. Each tag must correspond to an analyticsTags set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it should be URL encoded. E.g:
|
includeReplicas | boolean Default: false Example: includeReplicas=true Include replica data in the results (Can only be used in conjunction with primary indexes). |
Responses
Response samples
- 200
{- "_embedded": {
- "searches": [
- {
- "search": "q0",
- "count": 3,
- "nbHits": 10
}, - {
- "search": "q1",
- "count": 3,
- "nbHits": 10
}
]
}, - "_links": {
}
}
Get count of users
Returns count of distinct user across the given time range.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
indexId required | string Example: 00112233445566778899aabb Index ID |
query Parameters
startDate | string <date> Example: startDate=2020-07-16 The lower bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to 7 days ago, 00:00:00am, UTC |
endDate | string <date> Example: endDate=2020-07-23 The upper bound timestamp (a date, a string like “2006-01-02”) of the period to analyze. Defaults to Today, 23:59:59pm, UTC |
includeReplicas | boolean Default: false Example: includeReplicas=true Include replica data in the results (Can only be used in conjunction with primary indexes). |
tags | string Example: tags=platform:ios Filter metrics on the provided tags. Each tag must correspond to an analyticsTags set at search time. Multiple tags can be combined with the operators OR and AND. If a tag contains characters like spaces or parentheses, it should be URL encoded. E.g:
|
Responses
Response samples
- 200
{- "count": 3,
- "dates": [
- {
- "date": "2020-01-01",
- "count": 1
}
], - "_links": {
- "user-count": {
- "templated": true
},
}
}
"Slots" are content-items which are stored in separate repositories from other content-items. Their role is to be placeholders for snapshots.
{
"$schema" : "http://bigcontent.io/cms/schema/v1/schema#",
"id" : "http://deliver.bigcontent.io/schema/simple-slot-type.json",
"title" : "slot",
"description" : "Slot Container",
"type":"object",
"properties": {
"slot": {
"title": "simple slot container",
"allOf":[
{"$ref": "http://bigcontent.io/cms/schema/v1/core#/definitions/content-link" },
{
"properties": {
"contentType": { "enum": [ "http://deliver.bigcontent.io/schema/nested/nested-type.json" ] }
}
}
]
}
}
}
You will need to register a content type capable of holding nested content in order to create a slot.
Creating a Slot Repository
A Slot Repository is just a Content Repository with the "slots" feature. See adding features to repositories for more information
Creating a Slot
A Slot is a Content Item in a Slot Repository. Please refer to creating a content item for more information.
Once you have a Slot Repository with some Slots you can then associate them with an Edition in order make them available for publishing.
- Multiple Slots can be associated to an Edition, up to 200
- A Slot can be associated with multiple Editions
- A Slot can only be associated to an Edition once
When you associate Slots to an Edition, the slotsRemaining
property on the Edition will decrease. If you attempt to associate more Slots than there are remaining on the Edition, the operation will fail.
Please refer to the Assign Edition Slots section for an example request.
Retrieving Slots associated to an Edition
Please refer to the Retrieving Edition Slots section for an example request.
Retrieving Slots associated to an Edition filter by content item
To filter by content item, we supply the includedSlots
query parameter. Please refer to the Get Edition Slots section for an example request.
Retrieving an single Slot associated to an Edition
Please refer to the Get Edition Slot section for an example request.
Removing the association between a Slot and an Edition
Please refer to the Delete Edition Slot section for an example request.
A slot is a placeholder for one or more snapshots. In order to associate those snapshots to this slot you will need to post the resulting content-item to the slot url.
Notice that in the below request, body.slot.id
is the path to a snapshot. Not a content item.
The body.slot.id
can also be set to null when the user hasn't currently assigned all of the fields. The service will accept this data, however the valid
field will be set to false.
Please refer to the Create Edition Slot Content section for an example request.
A Snapshot is an immutable representation of a content item with all of its descendants (including their versions) at a given point in time.
List Snapshots
List all of the snapshots created for a hub. The list can be filtered by user or system created snapshots.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=createdDate,asc Sort paramter |
type | string Enum: "user" "system" "generated" Example: type=user Type filter |
Responses
Response samples
- 200
{- "_embedded": {
- "snapshots": [
- {
- "id": "00112233445566778899aabb",
- "comment": "This is a example snapshot.",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdFrom": "content-item",
- "type": "USER",
- "meta": [
- {
- "key": "example-key",
- "value": "example value"
}
], - "taggedEdition": [
- {
- "editionId": "00112233445566778899aabb",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "name": "Example Edition 1",
- "editionName": "Example Edition 1"
}
], - "locale": "en-US",
- "rootContentItem": {
- "label": "Banner Ad Homepage",
- "contentTypeUri": "Banner Ad Homepage",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}, - "rootContentItems": [
- {
- "label": "Banner Ad Homepage",
- "contentTypeUri": "Banner Ad Homepage",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}
], - "_links": {
- "publishing-jobs": {
- "templated": true
}, - "create-publishing-job": {
}, - "edition-links": {
}, - "content-root": {
}, - "snapshot-content-item": {
- "templated": true
}
}
}
]
}, - "_links": {
- "first": {
}, - "search": {
}
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create Snapshot
Create a new Snapshot for a particular Content-Item.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
comment required | string non-empty Comment |
createdFrom required | string Enum: "content-item" "edition" Indicates if this Snapshot was created by an Edition or a Content-Item |
type required | string Enum: "USER" "SYSTEM" Indicates the type of Snapshot (USER or SYSTEM) |
contentRoot required | any ID of the root Content-Item |
Responses
Request samples
- Payload
{- "comment": "This is a example snapshot.",
- "createdFrom": "content-item",
- "type": "USER",
- "contentRoot": "00112233-4455-6677-8899-aabbccddeeff"
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "comment": "This is a example snapshot.",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdFrom": "content-item",
- "type": "USER",
- "meta": [
- {
- "key": "example-key",
- "value": "example value"
}
], - "taggedEdition": [
- {
- "editionId": "00112233445566778899aabb",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "name": "Example Edition 1",
- "editionName": "Example Edition 1"
}
], - "locale": "en-US",
- "rootContentItem": {
- "label": "Banner Ad Homepage",
- "contentTypeUri": "Banner Ad Homepage",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}, - "rootContentItems": [
- {
- "label": "Banner Ad Homepage",
- "contentTypeUri": "Banner Ad Homepage",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}
], - "_links": {
- "publishing-jobs": {
- "templated": true
}, - "create-publishing-job": {
}, - "edition-links": {
}, - "content-root": {
}, - "snapshot-content-item": {
- "templated": true
}
}
}
Create Batch of Snapshot
Create new Snapshots for a batch of Content Items.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
comment required | string non-empty Comment |
createdFrom required | string Enum: "content-item" "edition" Indicates if this Snapshot was created by an Edition or a Content-Item |
type required | string Enum: "USER" "SYSTEM" Indicates the type of Snapshot (USER or SYSTEM) |
contentRoot required | any ID of the root Content-Item |
Responses
Request samples
- Payload
[- {
- "comment": "This is a example snapshot.",
- "createdFrom": "content-item",
- "type": "USER",
- "contentRoot": "00112233-4455-6677-8899-aabbccddeeff"
}
]
Response samples
- 201
{- "hubId": "00112233445566778899aabb",
- "snapshot": [
- {
- "id": "00112233445566778899aabb",
- "comment": "This is a example snapshot.",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdFrom": "content-item",
- "type": "USER",
- "meta": [
- {
- "key": "example-key",
- "value": "example value"
}
], - "taggedEdition": [
- {
- "editionId": "00112233445566778899aabb",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "name": "Example Edition 1",
- "editionName": "Example Edition 1"
}
], - "locale": "en-US",
- "rootContentItem": {
- "label": "Banner Ad Homepage",
- "contentTypeUri": "Banner Ad Homepage",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}, - "rootContentItems": [
- {
- "label": "Banner Ad Homepage",
- "contentTypeUri": "Banner Ad Homepage",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}
], - "_links": {
- "publishing-jobs": {
- "templated": true
}, - "create-publishing-job": {
}, - "edition-links": {
}, - "content-root": {
}, - "snapshot-content-item": {
- "templated": true
}
}
}
], - "_links": {
- "self": {
},
}
}
Get Snapshot
Return the snapshot with the specified ID.
Authorizations:
path Parameters
snapshotId required | string Example: 00112233445566778899aabb Snapshot ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "comment": "This is a example snapshot.",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdFrom": "content-item",
- "type": "USER",
- "meta": [
- {
- "key": "example-key",
- "value": "example value"
}
], - "taggedEdition": [
- {
- "editionId": "00112233445566778899aabb",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "name": "Example Edition 1",
- "editionName": "Example Edition 1"
}
], - "locale": "en-US",
- "rootContentItem": {
- "label": "Banner Ad Homepage",
- "contentTypeUri": "Banner Ad Homepage",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}, - "rootContentItems": [
- {
- "label": "Banner Ad Homepage",
- "contentTypeUri": "Banner Ad Homepage",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}
], - "_links": {
- "publishing-jobs": {
- "templated": true
}, - "create-publishing-job": {
}, - "edition-links": {
}, - "content-root": {
}, - "snapshot-content-item": {
- "templated": true
}
}
}
Get Snapshot Edition Links
Return a list of edition links for the specified snapshot.
Simply follow the HAL link with rel "snapshot-edition-links" from a snapshot response.
Authorizations:
path Parameters
snapshotId required | string Example: 00112233445566778899aabb Snapshot ID |
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=createdDate,asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "edition-links": [
- {
- "editionId": "00112233445566778899aabb",
- "createdDate": "2019-01-01T00:00:00Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create Snapshot Edition Link
Create a link between the specified snapshot and edition.
Authorizations:
path Parameters
snapshotId required | string Example: 00112233445566778899aabb Snapshot ID |
Request Body schema: application/json
edition required | string Edition ID |
Responses
Request samples
- Payload
{- "edition": "00112233445566778899aabb"
}
Response samples
- 200
{- "editionId": "00112233445566778899aabb",
- "createdDate": "2019-01-01T00:00:00Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
}
}
List all publishing jobs for a Snapshot
Get a list of all Publishing Jobs for a Snapshot
Authorizations:
path Parameters
snapshotId required | string Snapshot ID |
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=createdDate,asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "publishing-jobs": [
- {
- "id": "00112233445566778899aabb",
- "createdDate": "2018-01-01T00:00:00Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "state": "CREATED",
- "publishErrorStatus": "string",
- "_links": {
- "publishing-job": {
},
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create Publishing-Job for Snapshot
Create a Publishing Job for a Snapshot
Authorizations:
path Parameters
snapshotId required | string Example: 00112233445566778899aabb Snapshot ID |
Request Body schema: application/json
scheduledDate required | string Scheduled date & time for Publishing Job |
Responses
Request samples
- Payload
{- "scheduledDate": "2018-01-01T00:00:00Z"
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "createdDate": "2018-01-01T00:00:00Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "state": "CREATED",
- "publishErrorStatus": "string",
- "_links": {
- "publishing-job": {
},
}
}
Snapshot Facets
Add a search facet to a snapshot.
Authorizations:
query Parameters
hubId required | string Example: hubId=00112233445566778899aabb Hub ID |
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=createdDate,asc Sort |
Request Body schema: application/json
required | Array of objects Fields to facet by |
returnEntities required | boolean Return entities in the response |
Responses
Request samples
- Payload
{- "fields": [
- {
- "facetAs": "ENUM",
- "field": "taggedEditions.editionId",
- "userFacingName": "editionId"
}
], - "returnEntities": false
}
Response samples
- 200
{- "_links": {
}, - "_facets": {
- "editionId": [
- {
- "_id": "5d36b6cc46e0fb03cc4b27b6",
- "count": 104
}, - {
- "_id": "5d36b6cc46e0fb03cc4b27b8",
- "count": 52
}, - {
- "_id": "5d36b6cc46e0fb03cc4b27b7",
- "count": 52
}
]
}
}
List Webhooks for a Hub
List all of the Webhooks created for a hub
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=createdDate&sort=asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "webhooks": [
- {
- "id": "00112233445566778899aabb",
- "label": "Snapshot Updated Webhook",
- "events": [
- "dynamic-content.snapshot.published"
], - "active": true,
- "notifications": [
- {
- "email": "test@example.com"
}
], - "secret": "my-subscription-secret",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "headers": [
- {
- "key": "X-Additional-Header",
- "value": "abc123",
- "secret": true
}
], - "filters": [
- {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": "abc"
}
]
}, - {
- "type": "in",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": [
- "abc",
- "def"
]
}
]
}, - {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.not_present"
}, - {
- "value": "123"
}
]
}
], - "method": "POST",
- "customPayload": {
- "type": "text/x-handlebars-template",
- "value": "{{#withDeliveryContentItem contentItemId=payload.rootContentItem.id account=\"account-name\" stagingEnvironment=\"staging-environment-url\"}} ... {/withDeliveryContentItem}}",
- "error": {
- "message": "string"
}
}, - "_links": {
- "requests": {
- "templated": true
}, - "event-types": {
},
}
}
]
}, - "_links": {
- "event-types": {
}
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Create Webhooks
Create a new Webhook for a Hub
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
label required | string Label for the Webhook |
events required | Array of strings (WebhookEvents) non-empty Items Enum: "dynamic-content.snapshot.published" "dynamic-content.edition.scheduled" "dynamic-content.edition.unscheduled" "dynamic-content.edition.published" "dynamic-content.content-item.created" "dynamic-content.content-item.updated" "dynamic-content.content-item.assigned" "dynamic-content.content-item.workflow.updated" List of events to register the Webhook against |
handlers required | Array of strings (WebhookHandlers) non-empty List of URLs to receive the Webhook |
active required | boolean Indicates if the Webhook should be fired |
Array of objects List of notifications | |
secret required | string (WebhookSecret) Shared secret between the handler and DC |
Array of objects (WebhookHeaders) List of additional headers | |
Array of objects (WebhookFilter) [ 0 .. 10 ] items | |
method required | string (WebhookMethod) Enum: "POST" "PUT" "PATCH" "DELETE" Webhook HTTP method |
object (WebhookCustomPayload) Custom Payload |
Responses
Request samples
- Payload
{- "label": "Snapshot Updated Webhook",
- "events": [
- "dynamic-content.snapshot.published"
], - "active": true,
- "notifications": [
- {
- "email": "test@example.com"
}
], - "secret": "my-subscription-secret",
- "headers": [
- {
- "key": "X-Additional-Header",
- "value": "abc123",
- "secret": true
}
], - "filters": [
- {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": "abc"
}
]
}, - {
- "type": "in",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": [
- "abc",
- "def"
]
}
]
}, - {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.not_present"
}, - {
- "value": "123"
}
]
}
], - "method": "POST",
- "customPayload": {
- "type": "text/x-handlebars-template",
- "value": "{{#withDeliveryContentItem contentItemId=payload.rootContentItem.id account=\"account-name\" stagingEnvironment=\"staging-environment-url\"}} ... {/withDeliveryContentItem}}"
}
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "label": "Snapshot Updated Webhook",
- "events": [
- "dynamic-content.snapshot.published"
], - "active": true,
- "notifications": [
- {
- "email": "test@example.com"
}
], - "secret": "my-subscription-secret",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "headers": [
- {
- "key": "X-Additional-Header",
- "value": "abc123",
- "secret": true
}
], - "filters": [
- {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": "abc"
}
]
}, - {
- "type": "in",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": [
- "abc",
- "def"
]
}
]
}, - {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.not_present"
}, - {
- "value": "123"
}
]
}
], - "method": "POST",
- "customPayload": {
- "type": "text/x-handlebars-template",
- "value": "{{#withDeliveryContentItem contentItemId=payload.rootContentItem.id account=\"account-name\" stagingEnvironment=\"staging-environment-url\"}} ... {/withDeliveryContentItem}}",
- "error": {
- "message": "string"
}
}, - "_links": {
- "requests": {
- "templated": true
}, - "event-types": {
},
}
}
Get a Webhook
Get a specified webhook
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
webhookId required | string Example: 00112233445566778899aabb Webhook ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "label": "Snapshot Updated Webhook",
- "events": [
- "dynamic-content.snapshot.published"
], - "active": true,
- "notifications": [
- {
- "email": "test@example.com"
}
], - "secret": "my-subscription-secret",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "headers": [
- {
- "key": "X-Additional-Header",
- "value": "abc123",
- "secret": true
}
], - "filters": [
- {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": "abc"
}
]
}, - {
- "type": "in",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": [
- "abc",
- "def"
]
}
]
}, - {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.not_present"
}, - {
- "value": "123"
}
]
}
], - "method": "POST",
- "customPayload": {
- "type": "text/x-handlebars-template",
- "value": "{{#withDeliveryContentItem contentItemId=payload.rootContentItem.id account=\"account-name\" stagingEnvironment=\"staging-environment-url\"}} ... {/withDeliveryContentItem}}",
- "error": {
- "message": "string"
}
}, - "_links": {
- "requests": {
- "templated": true
}, - "event-types": {
},
}
}
Update a Webhook
Update a specified webhook
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
webhookId required | string Example: 00112233445566778899aabb Webhook ID |
Request Body schema: application/json
label | string Label for the Webhook |
events | Array of strings (WebhookEvents) non-empty Items Enum: "dynamic-content.snapshot.published" "dynamic-content.edition.scheduled" "dynamic-content.edition.unscheduled" "dynamic-content.edition.published" "dynamic-content.content-item.created" "dynamic-content.content-item.updated" "dynamic-content.content-item.assigned" "dynamic-content.content-item.workflow.updated" List of events to register the Webhook against |
handlers | Array of strings (WebhookHandlers) non-empty List of URLs to receive the Webhook |
active | boolean Indicates if the Webhook should be fired |
Array of objects List of notifications | |
secret | string (WebhookSecret) Shared secret between the handler and DC |
Array of objects (WebhookHeaders) List of additional headers | |
Array of objects (WebhookFilter) [ 0 .. 10 ] items | |
method | string (WebhookMethod) Enum: "POST" "PUT" "PATCH" "DELETE" Webhook HTTP method |
object (WebhookCustomPayload) Custom Payload |
Responses
Request samples
- Payload
{- "label": "Snapshot Updated Webhook",
- "events": [
- "dynamic-content.snapshot.published"
], - "active": true,
- "notifications": [
- {
- "email": "test@example.com"
}
], - "secret": "my-subscription-secret",
- "headers": [
- {
- "key": "X-Additional-Header",
- "value": "abc123",
- "secret": true
}
], - "filters": [
- {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": "abc"
}
]
}, - {
- "type": "in",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": [
- "abc",
- "def"
]
}
]
}, - {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.not_present"
}, - {
- "value": "123"
}
]
}
], - "method": "POST",
- "customPayload": {
- "type": "text/x-handlebars-template",
- "value": "{{#withDeliveryContentItem contentItemId=payload.rootContentItem.id account=\"account-name\" stagingEnvironment=\"staging-environment-url\"}} ... {/withDeliveryContentItem}}"
}
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "label": "Snapshot Updated Webhook",
- "events": [
- "dynamic-content.snapshot.published"
], - "active": true,
- "notifications": [
- {
- "email": "test@example.com"
}
], - "secret": "my-subscription-secret",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "headers": [
- {
- "key": "X-Additional-Header",
- "value": "abc123",
- "secret": true
}
], - "filters": [
- {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": "abc"
}
]
}, - {
- "type": "in",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": [
- "abc",
- "def"
]
}
]
}, - {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.not_present"
}, - {
- "value": "123"
}
]
}
], - "method": "POST",
- "customPayload": {
- "type": "text/x-handlebars-template",
- "value": "{{#withDeliveryContentItem contentItemId=payload.rootContentItem.id account=\"account-name\" stagingEnvironment=\"staging-environment-url\"}} ... {/withDeliveryContentItem}}",
- "error": {
- "message": "string"
}
}, - "_links": {
- "requests": {
- "templated": true
}, - "event-types": {
},
}
}
List Requests for a Webhook
List all of the requests created for a webhook
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
webhookId required | string Example: 00112233445566778899aabb Webhook ID |
Responses
Response samples
- 200
{- "_embedded": {
- "requests": [
- {
- "id": "00112233445566778899aabb",
- "eventId": "00112233445566778899aabb",
- "eventName": [
- "dynamic-content.snapshot.published"
], - "requestState": "SUCCESS",
- "attempts": 1,
- "request": {
- "url": "string",
- "headers": { },
- "customHeaders": [
- {
- "key": "X-Custom-Header",
- "value": "123",
- "secret": false
}
], - "body": "string"
}, - "invocations": [
- {
- "invocationTimestamp": "2019-01-01T00:00:00.000Z",
- "request": {
- "headers": {
- "X-Amplience-Hmac-Sha256": "1VVTWEZPxOGIkTL9b5V6rEjiiP46N2yHg/pYpLmcaKA=",
- "User-Agent": "Amplience-Webhook/0.1",
- "Content-Length": 171,
- "Content-Type": "application/json"
}, - "body": "{\"sequenceId\":1,\"eventId\":\"8e5b697d-7c32-4e30-8ddd-2601808131d9\",\"eventName\":\"dynamic-content.edition.scheduled\",\"system\":\"dynamic-content\",\"resource\":\"0001\",\"payload\":{}}",
- "response": {
- "statusCode": 200,
- "headers": [
- "Connection: close",
- "Server: gunicorn/19.8.1",
- "Date: Tue, 15 May 2018 12:07:13 GMT",
- "Content-Type: application/json",
- "Content-Length: 3",
- "Access-Control-Allow-Origin: *",
- "Access-Control-Allow-Credentials: true",
- "Via: 1.1 vegur"
], - "body": "..."
}
}
}
], - "evaluatedFilters": {
- "filters": [
- {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": "abc"
}
]
}, - {
- "type": "in",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": [
- "abc",
- "def"
]
}
]
}, - {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.not_present"
}, - {
- "value": "123"
}
]
}
], - "results": [
- {
- "status": "UNMATCHED"
}, - {
- "status": "MATCHED",
- "index": 1
}, - {
- "status": "IGNORED"
}
]
}, - "customPayload": {
- "type": "text/x-handlebars-template",
- "value": "{{#withDeliveryContentItem contentItemId=payload.rootContentItem.id account=\"account-name\" stagingEnvironment=\"staging-environment-url\"}} ... {/withDeliveryContentItem}}",
- "error": {
- "message": "string"
}
}, - "createdTimestamp": "2019-01-01T00:00:00.000Z",
- "scheduledTimestamp": "2019-01-01T00:00:00.000Z",
- "_links": {
- "request": {
- "templated": true
},
}
}
]
}, - "_links": {
- "request": {
- "templated": true
},
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Get a Webhook Request
Get a single webhook request
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
webhookId required | string Example: 00112233445566778899aabb Webhook ID |
requestId required | string Example: 00112233445566778899aabb Webhook Request ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "eventId": "00112233445566778899aabb",
- "eventName": [
- "dynamic-content.snapshot.published"
], - "requestState": "SUCCESS",
- "attempts": 1,
- "request": {
- "url": "string",
- "headers": { },
- "customHeaders": [
- {
- "key": "X-Custom-Header",
- "value": "123",
- "secret": false
}
], - "body": "string"
}, - "invocations": [
- {
- "invocationTimestamp": "2019-01-01T00:00:00.000Z",
- "request": {
- "headers": {
- "X-Amplience-Hmac-Sha256": "1VVTWEZPxOGIkTL9b5V6rEjiiP46N2yHg/pYpLmcaKA=",
- "User-Agent": "Amplience-Webhook/0.1",
- "Content-Length": 171,
- "Content-Type": "application/json"
}, - "body": "{\"sequenceId\":1,\"eventId\":\"8e5b697d-7c32-4e30-8ddd-2601808131d9\",\"eventName\":\"dynamic-content.edition.scheduled\",\"system\":\"dynamic-content\",\"resource\":\"0001\",\"payload\":{}}",
- "response": {
- "statusCode": 200,
- "headers": [
- "Connection: close",
- "Server: gunicorn/19.8.1",
- "Date: Tue, 15 May 2018 12:07:13 GMT",
- "Content-Type: application/json",
- "Content-Length: 3",
- "Access-Control-Allow-Origin: *",
- "Access-Control-Allow-Credentials: true",
- "Via: 1.1 vegur"
], - "body": "..."
}
}
}
], - "evaluatedFilters": {
- "filters": [
- {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": "abc"
}
]
}, - {
- "type": "in",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": [
- "abc",
- "def"
]
}
]
}, - {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.not_present"
}, - {
- "value": "123"
}
]
}
], - "results": [
- {
- "status": "UNMATCHED"
}, - {
- "status": "MATCHED",
- "index": 1
}, - {
- "status": "IGNORED"
}
]
}, - "customPayload": {
- "type": "text/x-handlebars-template",
- "value": "{{#withDeliveryContentItem contentItemId=payload.rootContentItem.id account=\"account-name\" stagingEnvironment=\"staging-environment-url\"}} ... {/withDeliveryContentItem}}",
- "error": {
- "message": "string"
}
}, - "createdTimestamp": "2019-01-01T00:00:00.000Z",
- "scheduledTimestamp": "2019-01-01T00:00:00.000Z",
- "_links": {
- "request": {
- "templated": true
},
}
}
Preview Webhook Request
You can test your unsaved Webhook Subscription against an already sent Webhook Request
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
webhookId required | string Example: 00112233445566778899aabb Webhook ID |
requestId required | string Example: 00112233445566778899aabb Webhook Request ID |
Request Body schema: application/json
Unsaved Webhook Subscription
url required | string (WebhookHandler) Webhook handler URL |
method required | string (WebhookMethod) Enum: "POST" "PUT" "PATCH" "DELETE" Webhook HTTP method |
secret required | string (WebhookSecret) Shared secret between the handler and DC |
Array of objects (WebhookFilters) [ 0 .. 10 ] items | |
Array of objects (WebhookHeaders) List of additional headers | |
object (WebhookCustomPayload) Custom Payload |
Responses
Request samples
- Payload
{- "method": "POST",
- "secret": "my-subscription-secret",
- "filters": [
- {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": "abc"
}
]
}, - {
- "type": "in",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": [
- "abc",
- "def"
]
}
]
}, - {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.not_present"
}, - {
- "value": "123"
}
]
}
], - "headers": [
- {
- "key": "X-Additional-Header",
- "value": "abc123",
- "secret": true
}
], - "customPayload": {
- "type": "text/x-handlebars-template",
- "value": "{{#withDeliveryContentItem contentItemId=payload.rootContentItem.id account=\"account-name\" stagingEnvironment=\"staging-environment-url\"}} ... {/withDeliveryContentItem}}"
}
}
Response samples
- 200
{- "previewState": "SUCCESS",
- "request": {
- "url": "string",
- "headers": { },
- "customHeaders": [
- {
- "key": "X-Custom-Header",
- "value": "123",
- "secret": false
}
], - "body": "string"
}, - "evaluatedFilters": {
- "filters": [
- {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": "abc"
}
]
}, - {
- "type": "in",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": [
- "abc",
- "def"
]
}
]
}, - {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.not_present"
}, - {
- "value": "123"
}
]
}
], - "results": [
- {
- "status": "UNMATCHED"
}, - {
- "status": "MATCHED",
- "index": 1
}, - {
- "status": "IGNORED"
}
]
}, - "customPayload": {
- "type": "text/x-handlebars-template",
- "value": "{{#withDeliveryContentItem contentItemId=payload.rootContentItem.id account=\"account-name\" stagingEnvironment=\"staging-environment-url\"}} ... {/withDeliveryContentItem}}",
- "error": {
- "message": "string"
}
}, - "_links": {
}
}
Resend a Webhook Request
Only available for Webhook Requests that have a requestState
that is either "SUCCESS", "FAILED" or "PROCESSING_FAILED"
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
webhookId required | string Example: 00112233445566778899aabb Webhook ID |
requestId required | string Example: 00112233445566778899aabb Webhook Request ID |
Request Body schema: application/json
Resend Webhook Request (empty object)
Responses
Request samples
- Payload
{ }
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "eventId": "00112233445566778899aabb",
- "eventName": [
- "dynamic-content.snapshot.published"
], - "requestState": "SUCCESS",
- "attempts": 1,
- "request": {
- "url": "string",
- "headers": { },
- "customHeaders": [
- {
- "key": "X-Custom-Header",
- "value": "123",
- "secret": false
}
], - "body": "string"
}, - "invocations": [
- {
- "invocationTimestamp": "2019-01-01T00:00:00.000Z",
- "request": {
- "headers": {
- "X-Amplience-Hmac-Sha256": "1VVTWEZPxOGIkTL9b5V6rEjiiP46N2yHg/pYpLmcaKA=",
- "User-Agent": "Amplience-Webhook/0.1",
- "Content-Length": 171,
- "Content-Type": "application/json"
}, - "body": "{\"sequenceId\":1,\"eventId\":\"8e5b697d-7c32-4e30-8ddd-2601808131d9\",\"eventName\":\"dynamic-content.edition.scheduled\",\"system\":\"dynamic-content\",\"resource\":\"0001\",\"payload\":{}}",
- "response": {
- "statusCode": 200,
- "headers": [
- "Connection: close",
- "Server: gunicorn/19.8.1",
- "Date: Tue, 15 May 2018 12:07:13 GMT",
- "Content-Type: application/json",
- "Content-Length: 3",
- "Access-Control-Allow-Origin: *",
- "Access-Control-Allow-Credentials: true",
- "Via: 1.1 vegur"
], - "body": "..."
}
}
}
], - "evaluatedFilters": {
- "filters": [
- {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": "abc"
}
]
}, - {
- "type": "in",
- "arguments": [
- {
- "jsonPath": "$.payload.id"
}, - {
- "value": [
- "abc",
- "def"
]
}
]
}, - {
- "type": "equal",
- "arguments": [
- {
- "jsonPath": "$.payload.not_present"
}, - {
- "value": "123"
}
]
}
], - "results": [
- {
- "status": "UNMATCHED"
}, - {
- "status": "MATCHED",
- "index": 1
}, - {
- "status": "IGNORED"
}
]
}, - "customPayload": {
- "type": "text/x-handlebars-template",
- "value": "{{#withDeliveryContentItem contentItemId=payload.rootContentItem.id account=\"account-name\" stagingEnvironment=\"staging-environment-url\"}} ... {/withDeliveryContentItem}}",
- "error": {
- "message": "string"
}
}, - "createdTimestamp": "2019-01-01T00:00:00.000Z",
- "scheduledTimestamp": "2019-01-01T00:00:00.000Z",
- "_links": {
- "request": {
- "templated": true
},
}
}
It is possible to define a list of workflow states on a hub which will allow users to implement one or more rudimentary workflows. Each content item within the hub can have its status set to one of the workflow states defined within the hub.
In the interest of flexibility, the transitions between states are not validated. In other words, it is possible to transition a content item from any state into any other state.
For more information on adding a workflow to a content item see Assigning a workflow
Assigning a Workflow State
Assigning a Workflow State to a Content Item
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Request Body schema: application/json
Version to unarchive
version required | integer Version to unarchive |
state required | string Workflow State ID |
Responses
Request samples
- Payload
{- "version": 1,
- "state": "00112233445566778899aabb"
}
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "contentRepositoryId": "00112233445566778899aabb",
- "body": {
- "_meta": {
- "name": "main-banner",
- "deliveryKey": "promo-page/main-banner"
}, - "heading": "Buy more stuff!!",
}, - "label": "Banner Ad Homepage",
- "folderId": "00112233445566778899aabb",
- "assignees": [
- "00112233445566778899aabb"
], - "assignedDate": "2019-01-01T00:00:00.000Z",
- "locale": "en-GB",
- "version": 1,
- "status": "ACTIVE",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedDate": "2019-01-01T00:00:00.000Z",
- "lastPublishedVersion": 1,
- "lastUnpublishedDate": "2019-01-01T00:00:00.000Z",
- "lastUnpublishedVersion": 1,
- "publishingStatus": "NONE",
- "deliveryId": "00112233-4455-6677-8899-aabbccddeeff",
- "workflow": {
- "state": "00112233445566778899aabb"
}, - "_links": {
- "content-item": {
- "templated": true
}, - "planned": {
- "templated": true
}, - "publish": {
}, - "unpublish": {
}, - "linked-content": {
- "templated": true
}, - "content-item-with-children": {
}, - "content-item-with-parents": {
}, - "update": {
}, - "restore-version": {
}, - "content-repository": {
}, - "content-item-version": {
- "templated": true
}, - "content-item-versions": {
- "templated": true
}, - "content-item-history": {
- "templated": true
}, - "copy": {
- "templated": true
}, - "unarchive": {
}, - "archive": {
}, - "set-delivery-key": {
}, - "set-locale": {
}, - "create-localizations": {
}, - "localizations": {
- "templated": true
}, - "localization-jobs": {
- "templated": true
}, - "edition-slot-associations": {
}, - "edit-workflow": {
}
}
}
Create Workflow State
You may create up to 100 workflow states per hub.
The color
property is an RGB value representing the color which should be used to display the workflow state within Dynamic Content.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
Request Body schema: application/json
label required | string non-empty Label |
color required | string/rgb\(\d{1,3},\d{1,3},\d{1,3}\)/ Color |
Responses
Request samples
- Payload
{- "label": "In Progress",
- "color": "rgb(255,0,0)"
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "label": "In Progress",
- "color": "rgb(255,0,0)",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "workflow-state": {
},
}
}
List Workflow States
List all of the workflow stats for a hub.
Authorizations:
path Parameters
hubId required | string Example: 00112233445566778899aabb Hub ID |
query Parameters
page | integer Page number |
size | integer Example: size=20 Page size |
sort | string Example: sort=createdDate&sort=asc Sort paramter |
Responses
Response samples
- 200
{- "_embedded": {
- "workflow-state": [
- {
- "id": "00112233445566778899aabb",
- "label": "In Progress",
- "color": "rgb(255,0,0)",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "workflow-state": {
},
}
}
]
}, - "_links": {
}, - "page": {
- "size": 20,
- "totalElements": 1,
- "totalPages": 1,
- "number": 0
}
}
Get Workflow State
Returns the workflow state with the specified ID.
Authorizations:
path Parameters
workflowStateId required | string Example: 00112233445566778899aabb Workflow State ID |
Responses
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "label": "In Progress",
- "color": "rgb(255,0,0)",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "workflow-state": {
},
}
}
Update Workflow State
Update the workflow state
Authorizations:
path Parameters
workflowStateId required | string Example: 00112233445566778899aabb Workflow State ID |
Request Body schema: application/json
label | string non-empty Label |
color | string/rgb\(\d{1,3},\d{1,3},\d{1,3}\)/ Color |
Responses
Request samples
- Payload
{- "label": "Updated State",
- "color": "rgb(255,255,255)"
}
Response samples
- 200
{- "id": "00112233445566778899aabb",
- "label": "Updated State",
- "color": "rgb(255,255,255)",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "lastModifiedBy": "00112233-4455-6677-8899-aabbccddeeff",
- "lastModifiedDate": "2019-01-01T00:00:00.000Z",
- "_links": {
- "workflow-state": {
},
}
}
Publish hierarchy nodes
To publish a hierarchy tree, you need to specify the root node and set getDescendants to true.
To publish a hierarchy branch, you need to specify the parent node and set getDesendants to true.
To publish a hierarchy node without any children and set getDescendants to false.
To publish multiple nodes individually supply their IDs, you cannot publish multiple nodes with getDescendants set to true.
Authorizations:
Request Body schema: application/json
hierarchyNodeIds | Array of arrays ID's |
getDescendants | boolean |
Responses
Request samples
- Payload
[- {
- "hierarchyNodeIds": [
- "00112233-4455-6677-8899-aabbccddeeff"
], - "getDescendants": false
}
]
Snapshot hierarchy nodes
To snapshot a hierarchy tree, you need to specify the root node and set getDescendants to true.
To snapshot a hierarchy branch, you need to specify the parent node and set getDesendants to true.
To snapshot a hierarchy node without any children and set getDescendants to false.
To snapshot multiple nodes individually supply their IDs, you cannot snapshot multiple nodes with getDescendants set to true.
Authorizations:
Request Body schema: application/json
hierarchyNodeIds | Array of arrays ID's |
getDescendants | boolean |
type | string Enum: "USER" "SYSTEM" Indicates the type of Snapshot (USER or SYSTEM) |
comment | string [ 1 .. 250 ] characters Comment |
Responses
Request samples
- Payload
{- "hierarchyNodeIds": [
- "00112233-4455-6677-8899-aabbccddeeff"
], - "getDescendants": false,
- "type": "USER",
- "comment": "This is a example snapshot."
}
Response samples
- 201
{- "id": "00112233445566778899aabb",
- "comment": "This is a example snapshot.",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "createdFrom": "content-item",
- "type": "USER",
- "meta": [
- {
- "key": "example-key",
- "value": "example value"
}
], - "taggedEdition": [
- {
- "editionId": "00112233445566778899aabb",
- "createdDate": "2019-01-01T00:00:00.000Z",
- "createdBy": "00112233-4455-6677-8899-aabbccddeeff",
- "name": "Example Edition 1",
- "editionName": "Example Edition 1"
}
], - "locale": "en-US",
- "rootContentItem": {
- "label": "Banner Ad Homepage",
- "contentTypeUri": "Banner Ad Homepage",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}, - "rootContentItems": [
- {
- "label": "Banner Ad Homepage",
- "contentTypeUri": "Banner Ad Homepage",
- "id": "00112233-4455-6677-8899-aabbccddeeff"
}
], - "_links": {
- "publishing-jobs": {
- "templated": true
}, - "create-publishing-job": {
}, - "edition-links": {
}, - "content-root": {
}, - "snapshot-content-item": {
- "templated": true
}
}
}
Get Child Hierarchy Nodes
Get a List of Child Hierarchy Nodes
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "label": "Banner Ad Homepage",
- "publishingStatus": "NONE",
- "root": true,
- "children": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "label": "Banner Ad Homepage",
- "publishingStatus": "NONE",
- "status": "ACTIVE",
- "root": false,
- "parentId": "00112233-4455-6677-8899-aabbccddeeff",
- "_links": {
- "content-item": {
}, - "archive": {
}, - "get-hierarchy-parents": {
}, - "get-hierarchy-children": {
}
}
}
], - "status": "ACTIVE",
- "_links": {
- "content-item": {
}
}
}
Get Parent Hierarchy Nodes
Get a List of Parent Hierarchy Nodes
Authorizations:
path Parameters
contentItemId required | string Example: 00112233-4455-6677-8899-aabbccddeeff Content Item ID |
Responses
Response samples
- 200
{- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "label": "Banner Ad Homepage",
- "publishingStatus": "NONE",
- "root": false,
- "parents": [
- {
- "id": "00112233-4455-6677-8899-aabbccddeeff",
- "label": "Banner Ad Homepage",
- "publishingStatus": "NONE",
- "root": true,
- "status": "ACTIVE",
- "_links": {
- "content-item": {
}, - "archive": {
}, - "get-hierarchy-parents": {
}, - "get-hierarchy-children": {
}
}
}
], - "status": "ACTIVE",
- "_links": {
- "content-item": {
}
}
}
Response samples
- 200
{- "localeLabels": [
- {
- "locale": "en-gb",
- "label": "england"
}
], - "_links": {
- "self": {
}, - "local-labels": {
}, - "manage": {
},
}
}
Manage Locale Labels
Authorizations:
Request Body schema: application/json
Hub
Array of objects (LocaleLabels) An Array of objects containing a Locale and Label property | |||||
Array
|
Responses
Request samples
- Payload
{- "localeLabels": [
- {
- "locale": "en-gb",
- "label": "england"
}
]
}
Response samples
- 200
{- "localeLabels": [
- {
- "locale": "en-gb",
- "label": "england"
}
], - "_links": {
- "self": {
}, - "local-labels": {
}, - "manage": {
},
}
}