Import a Template Package
/sites/management/api/v1/templates
Import a template package, creating a template, theme and components. A template package is a zip file that provides the template, theme and component details and structure. The template package file must be first uploaded to any personal folder of the authenticated user. The file for this template package should then be specified as part of the request body fields. As template, theme or components may already exist, a Template Import Conflict response will be received if there are any conflicts that prevent this template package being imported and no conflict resolution has been specified. This response contains details about all the conflicts. Conflict resolution details can be specified in the request body fields. If conflict resolution is specified the import will attempt to resolve the conflict using the resolution specified, or will respond with an error if that is not possible. Examples of conflict resolution handling include overwriting the target resource, or creating the resource with a new identity.
Introduced in release 19.4.1.
Authorization
To invoke this operation, the authenticated user or client application must have one of the following roles:
- CECDeveloperUser
- CECContentAdministrator
- CECSitesAdministrator
Authorization
If a service administrator has limited template creation to site administrators, only site administrators can create templates.
Creating a Site From a Template
Once a template, theme and components have been imported, a site can be created from the template, published and then activated.
For more information, see Create a Site.
Exporting Templates
A template package can be created manually by zipping up a template folder structure or by exporting an existing template.
For more information, see Export a Template.
Getting the Progress of a Template Import Job
Progress of a template import can be monitored from the template job status resource.
For more information, see Get the Progress of a Template Related Job.
Asynchronous Processing
This operation only supports asynchronous processing. A Prefer
header with the value of respond-async
must be included in the request. An accepted response will include a Location
header, which provides the location of a status resource that can be polled to obtain information about the asynchronous processing.
For more information about reading the status see Get the Progress of a Template Related Job.
Request Body Alternative Identifiers
The request body references resources that support alternative identifiers. These alternative identifiers can be used instead of using the default resource identifier.
pathFile Path
The default identifier for a Document File resource is the Id.
Instead of the file identifier the file path can be used to identify a file. A path
is built up using the names of the parent folders (relative to the user's home folder) followed by the file name,
joined by /
. File paths can only be used for personal folders; files in shared folders cannot be referenced by path.
Folder and file names are case-insensitive.
path:folder1/folder2/file.ext
Introduced in release 19.4.3.
groupnameGroup Name
The default identifier for a Group resource is the Id.
A group can be identified using the human friendly group name rather than the internally generated group identifier.
groupname:marketing
Introduced in release 19.3.1.
Successful Response Examples
This operation responds with the following success (2xx) responses. For a full list of response HTTP status codes and example bodies, consult the Response section of this operation.
202Accepted - Import with no Conflict Resolution
Import a template package with no conflict resolution. As no conflict resolution is specified in the request, the import process will attempt to import the template, theme and components without changes to their identity or names. If there are conflicts with any existing resources, a Template Import Conflict response will be received.
Request
POST https://api.example.com/sites/management/api/v1/templates
Request Headers
Prefer=respond-async
Request Body
{ "file": "path:packages/templates/template.zip" }
202Accepted - Overwrite an Existing Template, Theme and Components
Import a template package into a system overwriting any template, theme and components that already exist with the same identity.
Request
POST https://api.example.com/sites/management/api/v1/templates
Request Headers
Prefer=respond-async
Request Body
{ "file": "path:packages/templates/template.zip", "template": { "resolution": "overwrite" }, "theme": { "resolution": "overwrite" }, "components": { "resolution": "overwrite" } }
202Accepted - Skip Template Import on Conflicts
Import a template package overwriting the theme and components but skip the template in the template package if it already exists. This will leave the existing template untouched and only update the theme and components.
Request
POST https://api.example.com/sites/management/api/v1/templates
Request Headers
Prefer=respond-async
Request Body
{ "file": "path:packages/templates/template.zip", "template": { "resolution": "skip" }, "theme": { "resolution": "overwrite" }, "components": { "resolution": "overwrite" } }
202Accepted - Rename Template; Overwrite Theme and Component
Import a template package avoiding a conflict by renaming the template. Theme and component conflicts are resolved with an overwrite.
Request
POST https://api.example.com/sites/management/api/v1/templates
Request Headers
Prefer=respond-async
Request Body
{ "file": "path:packages/templates/template.zip", "template": { "resolution": "rename", "name": "AnotherMarketing" }, "theme": { "resolution": "overwrite" }, "components": { "resolution": "overwrite" } }
202Accepted - Create New Template With New Name; Overwrite Theme and Component
Import a template package, creating a new template and renaming it if there are conflicts on both the identifier and name. Theme and component conflicts are resolved with an overwrite.
Request
POST https://api.example.com/sites/management/api/v1/templates
Request Headers
Prefer=respond-async
Request Body
{ "file": "path:packages/templates/template.zip", "template": { "resolution": "create", "name": "AnotherMarketing" }, "theme": { "resolution": "overwrite" }, "components": { "resolution": "overwrite" } }
202Accepted - Create New Template, Theme; Report Component Conflicts
Import a template package, creating a new template and theme. Component conflicts are resolved by reporting errors, stopping the import.
Request
POST https://api.example.com/sites/management/api/v1/templates
Request Headers
Prefer=respond-async
Request Body
{ "file": "path:packages/templates/template.zip", "template": { "resolution": "create" }, "theme": { "resolution": "create" }, "components": { "resolution": "conflict" } }
202Accepted - Import with File Identifier
Import a template package with no conflict resolution identifying the file using a file identifier rather than path.
Request
POST https://api.example.com/sites/management/api/v1/templates
Request Headers
Prefer=respond-async
Request Body
{ "file": "DFB85EFE755456CBF4079A2F27F9B329ABCCDE69AF2D" }
202Accepted - Import and Skip All Conflicts
Import a template package and skip all conflicts in Template, Theme and Components. Any conflicting resource will not be imported.
Request
POST https://api.example.com/sites/management/api/v1/templates
Request Headers
Prefer=respond-async
Request Body
{ "file": "path:packages/templates/template.zip", "defaultResolution": "skip" }Introduced in release 22.5.2.
202Accepted - Import and Add Manager Group
Import a template package and specify a group that will be added as a member with Manager role to the imported Template, Theme and Components.
Request
POST https://api.example.com/sites/management/api/v1/templates
Request Headers
Prefer=respond-async
Request Body
{ "file": "path:packages/templates/template.zip", "shareWith": "groupname:TemplateManagers" }Introduced in release 22.5.2.
Client Error Response Examples
This operation responds with the following client error (4xx) responses, with exception details in the response body or reported through the asynchronous job. For a full list of response HTTP status codes and example bodies, consult the Response section of this operation.
400Bad Request - Invalid File
A file identified with an identifier cannot be found.
Error Code
OCE-DOCS-001002
Resolution - Check File Exists
Check that the file identifier is valid.
Resolution - Check Sharing Role in Parent Folder
Check that the authenticated user has a role in the folder that contains the file.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
file | File that does not exist. |
For detailed information about this exception detail type, consult the InvalidFileExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Invalid File", "status": "400", "detail": "File does not exist or the authenticated user or client application does not have access to the file.", "o:errorCode": "OCE-DOCS-001002", "file": { "id": "F40B9BE3E69F6DC440559A1F033BB2482DB740ECB2D8" } }
Introduced in release 19.4.1.
400Bad Request - Invalid Group
A group identified with an identifier such as the group name cannot be found.
Error Code
OCE-IDS-001007
Resolution - Check Group Exists
Check that the group identifier or group name is valid.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
group | Group that does not exist. |
For detailed information about this exception detail type, consult the InvalidGroupExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Invalid Group", "status": "400", "detail": "Group does not exist.", "o:errorCode": "OCE-IDS-001007", "group": { "id": "1234" } }
Introduced in release 19.3.1.
400Bad Request - Invalid Template Package Structure
The template package provided does not conform to the expected structure.
Error Code
OCE-SITEMGMT-009151
Resolution - Include Required Directories
Check the template package includes all required directories.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
requiredDirectories | Directories missing from the package. |
For detailed information about this exception detail type, consult the InvalidTemplatePackageStructureExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Invalid Template Package Structure", "status": "400", "detail": "The template package provided does not conform to the expected structure.", "o:errorCode": "OCE-SITEMGMT-009151", "requiredDirectories": [ "value" ] }
403Forbidden - Template Overwrite Denied
When a template is imported with conflict resolution of overwrite
, and the template already exists but the authenticated user does not have the rights to overwrite it.
Error Code
OCE-SITEMGMT-009048
Resolution - Share Template
The owner can add the user as a Manager of the template to allow the user to overwrite it.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
name | Template name. |
owner | Template owner contact details. |
For detailed information about this exception detail type, consult the TemplateOverwriteDeniedExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Template Overwrite Denied", "status": "403", "detail": "Template '{name}' already exists and cannot be overwritten.", "o:errorCode": "OCE-SITEMGMT-009048", "name": "CafeSupremo", "owner": { "displayName": "John Smith", "email": "jsmith@example.com", "userName": "jsmith" } }
Introduced in release 19.4.1.
403Forbidden - Template Overwrite In Trash
When a template is imported with conflict resolution of overwrite
, and the template already exists and is in trash.
Error Code
OCE-SITEMGMT-009110
Resolution - Permanently Delete Template
If you are the owner, permanently delete the template. If you are not the owner, ask the owner to permanently delete the template, and try again.
Resolution - Restore Template
If you are the owner, restore the template and try again.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
name | Template name. |
owner | Template owner contact details. |
For detailed information about this exception detail type, consult the TemplateOverwriteInTrashExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Template Overwrite In Trash", "status": "403", "detail": "Template '{name}' is in trash so cannot be overwritten.", "o:errorCode": "OCE-SITEMGMT-009110", "name": "CafeSupremo", "owner": { "displayName": "John Smith", "email": "jsmith@example.com", "userName": "jsmith" } }
Introduced in release 20.4.2.
403Forbidden - Theme Overwrite Denied
When a theme is imported with conflict resolution of overwrite
, and the theme already exists but the authenticated user does not have the rights to overwrite it.
Error Code
OCE-SITEMGMT-009049
Resolution - Share Theme
The owner can add the user as a Manager of the theme to allow the user to overwrite it.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
name | Theme name. |
owner | Theme owner contact details. |
For detailed information about this exception detail type, consult the ThemeOverwriteDeniedExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Theme Overwrite Denied", "status": "403", "detail": "Theme '{name}' already exists and cannot be overwritten.", "o:errorCode": "OCE-SITEMGMT-009049", "name": "CafeSupremoTheme", "owner": { "displayName": "John Smith", "email": "jsmith@example.com", "userName": "jsmith" } }
Introduced in release 19.4.1.
403Forbidden - Theme Overwrite In Trash
When a theme is imported with conflict resolution of overwrite
, and the theme already exists and is in trash.
Error Code
OCE-SITEMGMT-009109
Resolution - Permanently Delete Theme
If you are the owner, permanently delete the theme. If you are not the owner, ask the owner to permanently delete the theme, and try again.
Resolution - Restore Theme
If you are the owner, restore the theme and try again.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
name | Theme name. |
owner | Theme owner contact details. |
For detailed information about this exception detail type, consult the ThemeOverwriteInTrashExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Theme Overwrite In Trash", "status": "403", "detail": "Theme '{name}' is in trash so cannot be overwritten.", "o:errorCode": "OCE-SITEMGMT-009109", "name": "CafeSupremoTheme", "owner": { "displayName": "John Smith", "email": "jsmith@example.com", "userName": "jsmith" } }
Introduced in release 20.4.2.
403Forbidden - Component Overwrite Denied
When a component is imported with conflict resolution of overwrite
, and the component already exists but the authenticated user does not have the rights to overwrite it.
Error Code
OCE-SITEMGMT-009050
Resolution - Share Component
The owner can add the user as a manager of the component to allow the user to overwrite it.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
name | Component name. |
owner | Component owner contact details. |
For detailed information about this exception detail type, consult the ComponentOverwriteDeniedExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Component Overwrite Denied", "status": "403", "detail": "Component '{name}' already exists and cannot be overwritten.", "o:errorCode": "OCE-SITEMGMT-009050", "name": "ContentNavMenu", "owner": { "displayName": "John Smith", "email": "jsmith@example.com", "userName": "jsmith" } }
Introduced in release 19.4.1.
403Forbidden - Component Overwrite In Trash
When a component is imported with conflict resolution of overwrite
, and the component already exists and is in trash.
Error Code
OCE-SITEMGMT-009108
Resolution - Permanently Delete Component
If you are the owner, permanently delete the component. If you are not the owner, ask the owner to permanently delete the component, and try again.
Resolution - Restore Component
If you are the owner, restore the component and try again.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
name | Component name. |
owner | Component owner contact details. |
For detailed information about this exception detail type, consult the ComponentOverwriteInTrashExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Component Overwrite In Trash", "status": "403", "detail": "Component '{name}' is in trash so cannot be overwritten.", "o:errorCode": "OCE-SITEMGMT-009108", "name": "ContentNavMenu", "owner": { "displayName": "John Smith", "email": "jsmith@example.com", "userName": "jsmith" } }
Introduced in release 20.4.2.
403Forbidden - Component Create Denied
When importing a Content Layout component that already exists, it must be overwritten and not created as a new component during import.
Error Code
OCE-SITEMGMT-009068
Resolution - Overwrite Component
The component must be overwritten during import. If importing a template package, remove the component name from the forceCreate list of the component
conflict resolution. When importing an individual component specify overwrite
conflict resolution.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
name | Component name. |
For detailed information about this exception detail type, consult the ComponentCreateDeniedExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Component Create Denied", "status": "403", "detail": "Component '{name}' is for an existing content layout and cannot be created as a new component.", "o:errorCode": "OCE-SITEMGMT-009068", "name": "ContentNavMenu" }
Introduced in release 19.4.1.
403Forbidden - Content Type Overwrite Denied
When an enterprise template is imported, and a content type already exists but the authenticated user does not have the rights to overwrite it.
Error Code
OCE-SITEMGMT-009112
Resolution - Share Content Type
The owner can add the user as a Manager of the content type to allow the user to overwrite it.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
name | Content type name. |
owner | Content type owner contact details. |
For detailed information about this exception detail type, consult the ContentTypeOverwriteDeniedExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Content Type Overwrite Denied", "status": "403", "detail": "Content type '{name}' already exists and cannot be overwritten.", "o:errorCode": "OCE-SITEMGMT-009112", "name": "value", "owner": { "displayName": "John Smith", "email": "jsmith@example.com", "userName": "jsmith" } }
Introduced in release 21.1.3.
403Forbidden - Import Template with Assets Forbidden
The Content Administrator role is required to import a template with assets.
Error Code
OCE-SITEMGMT-009113
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Import Template with Assets Forbidden", "status": "403", "detail": "The Content Administrator role is required to import a template with assets.", "o:errorCode": "OCE-SITEMGMT-009113" }
Introduced in release 21.1.3.
403Forbidden - Sites Administrator Role Required
The Sites Administrator role is required to create resources of this type.
Error Code
OCE-SITEMGMT-009140
Resolution - Change Sites System Settings
Creation of sites, templates, themes and components can be restricted to sites administrators. Update the Sites System settings to allow creation of sites resources of this type by non admin users.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
resourceType | Resource type that can only be created by Sites Administrators. Valid values are:
|
name | Name of resource being created, if available. |
For detailed information about this exception detail type, consult the SitesAdminRoleRequiredExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Sites Administrator Role Required", "status": "403", "detail": "The Sites Administrator role is required to create resources of this type.", "o:errorCode": "OCE-SITEMGMT-009140", "resourceType": "site", "name": "value" }
Introduced in release 22.5.2.
403Forbidden - Storage Limit Reached
Storage transfer limit has been reached. Billing limits have been set on the amount of storage available by the system administrator.
Error Code
OCE-SITEMGMT-009098
Resolution - Increase Storage Limit
Get a system administrator to increase the storage limit.
Where This Error Can be Returned
- This error will never be returned in the response body.
- This error can be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
used | Storage used, in GB. |
limit | Storage limit, in GB. |
For detailed information about this exception detail type, consult the StorageLimitReachedExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Storage Limit Reached", "status": "403", "detail": "Storage limit has been reached.", "o:errorCode": "OCE-SITEMGMT-009098", "used": 1.23456789, "limit": 1.23456789 }
Introduced in release 20.3.1.
409Conflict - Template Import Conflict
When a template package is imported with no conflict resolution specified, and there are conflicts with existing templates, themes or components. This error response contains details of all the conflicts.
Error Code
OCE-SITEMGMT-009039
Resolution - Specify How to Handle Template Conflicts
Use the template conflict resolution choices to specify either: create a new template with a new identity and optional name, overwrite the conflicting template, rename the imported template to avoid a name clash, or skip the import of the template.
Resolution - Specify How to Handle Theme Conflicts
Use the theme conflict resolution choices to specify either: create a new theme with a new identity and optional name, overwrite the conflicting theme, rename the imported theme to avoid a name clash, or skip the import of the theme.
Resolution - Specify How to Handle Component Conflicts
Use the component conflict resolution choices to specify overwriting of any conflicting components, and optionally specify a set of components that should not be overwritten but should be created with new names and identities.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
conflicts | Details of the template, theme and component conflicts. |
For detailed information about this exception detail type, consult the TemplateImportConflictExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Template Import Conflict", "status": "409", "detail": "Template package has not been imported as there are one or more conflicts with the template, theme or components.", "o:errorCode": "OCE-SITEMGMT-009039", "conflicts": { "templateConflicts": [ { "conflicts": [ { "itemGUID": "value", "name": "CafeSupremo", "type": "name", "value": "value", "resolution": "value" } ], "itemGUID": "value", "name": "CafeSupremo", "ownedBy": { "type": "user", "id": "1234", "name": "value", "displayName": "John Smith", "roles": [ "CECServiceAdministrator" ], "userName": "jsmith", "email": "jsmith@example.com" }, "lastModifiedBy": { "type": "user", "id": "1234", "name": "value", "displayName": "John Smith", "roles": [ "CECServiceAdministrator" ], "userName": "jsmith", "email": "jsmith@example.com" }, "lastModifiedAt": "2019-06-01T06:44:17.000Z", "deleted": false, "overwritable": false, "template": { "id": "F30F08EB205D44AD20B5A48D1B1B3DD7D74F45978AB6" } } ], "themeConflicts": [ { "conflicts": [ { "itemGUID": "value", "name": "CafeSupremoTheme", "type": "name", "value": "value", "resolution": "value" } ], "itemGUID": "value", "name": "CafeSupremoTheme", "ownedBy": { "type": "user", "id": "1234", "name": "value", "displayName": "John Smith", "roles": [ "CECServiceAdministrator" ], "userName": "jsmith", "email": "jsmith@example.com" }, "lastModifiedBy": { "type": "user", "id": "1234", "name": "value", "displayName": "John Smith", "roles": [ "CECServiceAdministrator" ], "userName": "jsmith", "email": "jsmith@example.com" }, "lastModifiedAt": "2019-06-01T06:44:17.000Z", "deleted": false, "overwritable": false, "theme": { "id": "FFA7758925559C7F6FC394910D5DDCD9211A3DB216EC" } } ], "componentConflicts": [ { "conflicts": [ { "itemGUID": "value", "name": "ContentNavMenu", "type": "name", "value": "value", "resolution": "value" } ], "itemGUID": "value", "name": "ContentNavMenu", "ownedBy": { "type": "user", "id": "1234", "name": "value", "displayName": "John Smith", "roles": [ "CECServiceAdministrator" ], "userName": "jsmith", "email": "jsmith@example.com" }, "lastModifiedBy": { "type": "user", "id": "1234", "name": "value", "displayName": "John Smith", "roles": [ "CECServiceAdministrator" ], "userName": "jsmith", "email": "jsmith@example.com" }, "lastModifiedAt": "2019-06-01T06:44:17.000Z", "deleted": false, "overwritable": false, "component": { "id": "F40B9BE3E69F6DC440559A1F033BB2482DB740ECB2D8" } } ] } }
Introduced in release 19.4.1.
409Conflict - Template Already Exists
A template with the same name or identity already exists. Template names and identities must be unique across all templates.
Error Code
OCE-SITEMGMT-009040
Resolution - Change the Template Name
If clashing on name during a copy or rename, choose a different name.
Resolution - Change the Conflict Resolution Name
If clashing on name during an import, choose a different name for the template conflict resolution.
Resolution - Change the Conflict Resolution Action
If clashing on identity during an import, change the template conflict resolution type to overwrite
, create
, or skip
.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
template | Duplicate template. |
name | Duplicate name. |
itemGuid | Duplicate identity Guid. |
For detailed information about this exception detail type, consult the TemplateAlreadyExistsExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Template Already Exists", "status": "409", "detail": "A template with the same name or identity already exists.", "o:errorCode": "OCE-SITEMGMT-009040", "template": { "id": "F30F08EB205D44AD20B5A48D1B1B3DD7D74F45978AB6" }, "name": "CafeSupremo", "itemGuid": "value" }
Introduced in release 19.4.1.
409Conflict - Theme Already Exists
A theme with the same name or identity already exists. Theme names and identities must be unique across all themes.
Error Code
OCE-SITEMGMT-009042
Resolution - Change the Theme Name
If clashing on name during a copy or rename, choose a different name.
Resolution - Change the Conflict Resolution Name
If clashing on name during an import, choose a different name for the theme conflict resolution.
Resolution - Change the Conflict Resolution Action
If clashing on identity during an import, change the theme conflict resolution type to overwrite
, create
, or skip
.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
theme | Duplicate theme. |
name | Duplicate name. |
itemGuid | Duplicate identity Guid. |
For detailed information about this exception detail type, consult the ThemeAlreadyExistsExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Theme Already Exists", "status": "409", "detail": "A theme with the same name or identity already exists.", "o:errorCode": "OCE-SITEMGMT-009042", "theme": { "id": "FFA7758925559C7F6FC394910D5DDCD9211A3DB216EC" }, "name": "CafeSupremoTheme", "itemGuid": "value" }
Introduced in release 19.4.1.
409Conflict - Component Already Exists
A component with the same name or identity already exists. Component names and identities must be unique across all components.
Error Code
OCE-SITEMGMT-009043
Resolution - Change the Component Name
If clashing on name during a copy or rename, choose a different name.
Resolution - Change the Conflict Resolution Name
If clashing on name during an import, choose a different name for the component conflict resolution.
Resolution - Change the Conflict Resolution Action
If clashing on identity during an import, change the component conflict resolution type to overwrite
or create
.
Where This Error Can be Returned
- This error can be returned in the response body.
- This error will not be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
component | Duplicate component. |
name | Duplicate name. |
itemGuid | Duplicate identity Guid. |
For detailed information about this exception detail type, consult the ComponentAlreadyExistsExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Component Already Exists", "status": "409", "detail": "A component with the same name or identity already exists.", "o:errorCode": "OCE-SITEMGMT-009043", "component": { "id": "F40B9BE3E69F6DC440559A1F033BB2482DB740ECB2D8" }, "name": "ContentNavMenu", "itemGuid": "value" }
Introduced in release 19.4.1.
409Conflict - Template Import In Progress
This error will occur when a template is being copied (e.g. creating a site), but at the same time it is being overwritten by a template import.
Error Code
OCE-SITEMGMT-009105
Resolution - Wait for Template Import to Complete
Wait for the template import to complete and try again.
Where This Error Can be Returned
- This error will never be returned in the response body.
- This error can be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
importedBy | Full name of the user that created the import job that is in progress. |
name | Template name. |
For detailed information about this exception detail type, consult the TemplateImportInProgressExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Template Import In Progress", "status": "409", "detail": "Unable to copy template as it is in the progress of being re-imported.", "o:errorCode": "OCE-SITEMGMT-009105", "importedBy": "value", "name": "CafeSupremo" }
Introduced in release 20.4.2.
409Conflict - Component Import In Progress
This error will occur when a component is being copied, but at the same time it is being overwritten by a component import.
Error Code
OCE-SITEMGMT-009107
Resolution - Wait for Component Import to Complete
Wait for the component import to complete and try again.
Where This Error Can be Returned
- This error will never be returned in the response body.
- This error can be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
importedBy | Full name of the user that created the import job that is in progress. |
name | Component name. |
For detailed information about this exception detail type, consult the ComponentImportInProgressExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Component Import In Progress", "status": "409", "detail": "Unable to access component as it is in the progress of being re-imported.", "o:errorCode": "OCE-SITEMGMT-009107", "importedBy": "value", "name": "ContentNavMenu" }
Introduced in release 20.4.2.
409Conflict - Theme Import In Progress
This error will occur when a theme is being copied or published, but at the same time it is being overwritten by a template import.
Error Code
OCE-SITEMGMT-009106
Resolution - Wait for Theme Import to Complete
Wait for the template import that is overwriting theme to complete and try again.
Where This Error Can be Returned
- This error will never be returned in the response body.
- This error can be returned in the asynchronous job status.
Exception Detail Fields
This error type includes the following fields/values in the response:
Field Name | Description |
importedBy | Full name of the user that created the import job that is in progress. |
name | Theme name. |
For detailed information about this exception detail type, consult the ThemeImportInProgressExceptionDetail schema in the definitions section of the swagger document.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Theme Import In Progress", "status": "409", "detail": "Unable to access theme as it is in the progress of being re-imported.", "o:errorCode": "OCE-SITEMGMT-009106", "importedBy": "value", "name": "CafeSupremoTheme" }
Introduced in release 20.4.2.
409Conflict - Starter Edition Asset Types Limit Reached
Starter edition asset types limit reached.
Error Code
OCE-SITEMGMT-009159
Resolution - Upgrade to Premium
Upgrade to Premium to access unlimited asset types.
Where This Error Can be Returned
- This error will never be returned in the response body.
- This error can be returned in the asynchronous job status.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Starter Edition Asset Types Limit Reached", "status": "409", "detail": "Starter edition limits the number of asset types that can be created.", "o:errorCode": "OCE-SITEMGMT-009159" }
Introduced in release 23.2.2.
409Conflict - Invalid Taxonomy Version
Imported taxonomy version is lower than the existing taxonomy.
Error Code
OCE-SITEMGMT-009162
Where This Error Can be Returned
- This error will never be returned in the response body.
- This error can be returned in the asynchronous job status.
Example Response Body
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1", "title": "Invalid Taxonomy Version", "status": "409", "detail": "Imported taxonomy version is lower than the existing taxonomy.", "o:errorCode": "OCE-SITEMGMT-009162" }
Introduced in release 23.2.2.
Request
- application/json
-
Prefer(optional): string
Request asynchronous processing of the request using a
respond-async
header value.
Details of the template package and conflict resolution.
object
-
components(optional):
object components
Details of how component conflict resolution is performed.
Introduced in release 19.4.1. -
defaultResolution(optional):
string
Default conflict resolution for templates, themes and components.
Valid values are:
-
overwrite
- Overwrite the conflicting resources with the one being imported if a resource exists with the same identity -
skip
- Do not import the resource if there is a conflict
-
-
file:
string
Template package file.
Introduced in release 19.4.1. -
links(optional):
array links
HATEOS link to related resources and actions or actions on this resource. Must include at least a 'self' link that contains a link to the canonical representation of the resource.
- shareWith(optional): string
-
template(optional):
object template
Details of how template conflict resolution is performed.
Introduced in release 19.4.1. -
theme(optional):
object theme
Details of how theme conflict resolution is performed.
Introduced in release 19.4.1.
{
"file":"path:packages/templates/template.zip"
}
object
Details of how component conflict resolution is performed.
Introduced in release 19.4.1.-
forceCreate(optional):
array forceCreate
List of component names that should always be created as new components if they already exist. If the component name is already is use, the new component name will be automatically generated using the existing name and a suffix so it is unique. Components not in this list will be overwritten or cause a conflict response depending on the value of the resolution field.
Introduced in release 19.4.1. -
resolution:
string
How to handle component conflicts for components not listed in the forceCreate field.
Valid values are:
-
conflict
- Do not import the component if there is a conflict, and respond with an error -
overwrite
- Overwrite the component with the component in the component package
-
array
HATEOS link to related resources and actions or actions on this resource. Must include at least a 'self' link that contains a link to the canonical representation of the resource.
object
Details of how template conflict resolution is performed.
Introduced in release 19.4.1.-
name(optional):
string
Maximum Length:
242
If a resolution of
Introduced in release 19.4.1.rename
is chosen, a template name must be provided. If a resolution ofcreate
is chosen, a template name may optionally be provided. -
resolution:
string
How to handle template conflicts.
Valid values are:
-
create
- Import the template with a new identity if a template exists with the same identity. Optionally, a new template name can
-
rename
- Import the template with a new name but keeping its identity. If rename conflict resolution is chosen,
-
overwrite
- Overwrite the conflicting template with the one being imported if a template exists with the same identity -
skip
- Do not import the template if there is a conflict
-
object
Details of how theme conflict resolution is performed.
Introduced in release 19.4.1.-
name(optional):
string
Maximum Length:
255
If a resolution of
Introduced in release 19.4.1.rename
is chosen, a theme name must be provided. If a resolution ofcreate
is chosen, a theme name may optionally be provided. -
resolution:
string
How to handle theme conflicts.
Valid values are:
-
create
- Import the theme with a new identity if a theme exists with the same identity. Optionally, a new theme name can
-
rename
- Import the theme with a new name but keeping its identity. If rename conflict resolution is chosen,
-
overwrite
- Overwrite the conflicting theme with the one being imported if a theme exists with the same identity -
skip
- Do not import the theme if there is a conflict
-
array
List of component names that should always be created as new components if they already exist. If the component name is already is use, the new component name will be automatically generated using the existing name and a suffix so it is unique. Components not in this list will be overwritten or cause a conflict response depending on the value of the resolution field.
Introduced in release 19.4.1.-
Array of:
string
Maximum Length:
255
object
REST HATEOAS link and related metadata. If responses provide links (for example, a self
link to the resource itself) the links provided will include one or more of the properties defined on this link structure.
-
href(optional):
string
The target resource URI. URI RFC3986 or URI Template RFC6570. If the value is set to URI Template, then the
templated
property must be set totrue
. -
mediaType(optional):
string
Media type, as defined by RFC 2046, describing the link target.
-
method(optional):
string
HTTP method for requesting the target of the link.
Valid values are:
-
OPTIONS
- HTTP OPTIONS -
HEAD
- HTTP HEAD -
GET
- HTTP GET -
POST
- HTTP POST -
PUT
- HTTP PUT -
PATCH
- HTTP PATCH -
DELETE
- HTTP DELETE
-
-
profile(optional):
string(uri)
Link to the metadata of the resource, such as JSON-schema, that describes the resource expected when dereferencing the target resource.
-
rel(optional):
string
Name of the link relation that, in addition to the type property, can be used to retrieve link details.
-
templated(optional):
boolean
Boolean flag that specifies the
href
property is a URI or URI Template. The property can be assumed to befalse
if the property is not present.
Response
202 Response
400 Response
-
allOf
InvalidFileExceptionDetail
Introduced in release 19.4.1.
-
object
ExceptionDetail
In addition to HTTP error code and error messages, it is often desirable to provide additional information to the client when a request fails. In such cases, the additional information will be included in the response body.
-
object
InvalidFileExceptionDetail-allOf[1]
object
In addition to HTTP error code and error messages, it is often desirable to provide additional information to the client when a request fails. In such cases, the additional information will be included in the response body.
-
detail(optional):
string
Description specific to this occurrence of the problem. The human-readable, potentially multi-line details describing the problem in more details.
-
instance(optional):
string(uri)
URI to the link that provides more detail about the error.
-
o:errorCode(optional):
string
Application error code, which is different from HTTP error code. This code should be used to check for specific errors, rather than comparing fields such as the
title
ordetail
. -
o:errorDetails(optional):
array o:errorDetails
Multiple errors can be organized in a hierarchical structure.
-
o:errorPath(optional):
string
XPath or JSON path to indicate where the error occurs.
-
status(optional):
integer(int32)
Corresponding HTTP status code for the error.
-
title(optional):
string
Short, human-readable summary of the problem. It is not advisable to use the title as a way of checking for specific errors, use the
o:errorCode
for this purpose. -
type(optional):
string(uri)
Absolute URI that identifies the problem type. When this URI dereferenced, it should provide a human-readable summary of the problem, for example, as a HTML page.
object
-
file(optional):
string
File that does not exist.
Introduced in release 19.4.1.
array
Multiple errors can be organized in a hierarchical structure.
-
object
ExceptionDetail
In addition to HTTP error code and error messages, it is often desirable to provide additional information to the client when a request fails. In such cases, the additional information will be included in the response body.
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Invalid File",
"status":"400",
"detail":"File does not exist or the authenticated user or client application does not have access to the file.",
"o:errorCode":"OCE-DOCS-001002",
"file":{
"id":"F40B9BE3E69F6DC440559A1F033BB2482DB740ECB2D8"
}
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Invalid Group",
"status":"400",
"detail":"Group does not exist.",
"o:errorCode":"OCE-IDS-001007",
"group":{
"id":"1234"
}
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Invalid Template Package Structure",
"status":"400",
"detail":"The template package provided does not conform to the expected structure.",
"o:errorCode":"OCE-SITEMGMT-009151",
"requiredDirectories":[
"value"
]
}
401 Response
403 Response
-
allOf
TemplateOverwriteDeniedExceptionDetail
Introduced in release 19.4.1.
-
object
ExceptionDetail
In addition to HTTP error code and error messages, it is often desirable to provide additional information to the client when a request fails. In such cases, the additional information will be included in the response body.
-
object
TemplateOverwriteDeniedExceptionDetail-allOf[1]
object
In addition to HTTP error code and error messages, it is often desirable to provide additional information to the client when a request fails. In such cases, the additional information will be included in the response body.
-
detail(optional):
string
Description specific to this occurrence of the problem. The human-readable, potentially multi-line details describing the problem in more details.
-
instance(optional):
string(uri)
URI to the link that provides more detail about the error.
-
o:errorCode(optional):
string
Application error code, which is different from HTTP error code. This code should be used to check for specific errors, rather than comparing fields such as the
title
ordetail
. -
o:errorDetails(optional):
array o:errorDetails
Multiple errors can be organized in a hierarchical structure.
-
o:errorPath(optional):
string
XPath or JSON path to indicate where the error occurs.
-
status(optional):
integer(int32)
Corresponding HTTP status code for the error.
-
title(optional):
string
Short, human-readable summary of the problem. It is not advisable to use the title as a way of checking for specific errors, use the
o:errorCode
for this purpose. -
type(optional):
string(uri)
Absolute URI that identifies the problem type. When this URI dereferenced, it should provide a human-readable summary of the problem, for example, as a HTML page.
object
-
name(optional):
string
Maximum Length:
242
Template name.
Introduced in release 19.4.1. -
owner(optional):
owner
Template owner contact details.
Introduced in release 19.4.1.
array
Multiple errors can be organized in a hierarchical structure.
-
object
ExceptionDetail
In addition to HTTP error code and error messages, it is often desirable to provide additional information to the client when a request fails. In such cases, the additional information will be included in the response body.
Template owner contact details.
Introduced in release 19.4.1.-
allOf
UserContact
User contact details. Contains the display name and email address of a user.
User contact details. Contains the display name and email address of a user.
-
object
SingularResource
All singular resources include the properties of the singular resource definition. A singular resource includes a list of links that provide relationships to other resources, or in the case of the self link the resource itself.
-
object
UserContact-allOf[1]
object
All singular resources include the properties of the singular resource definition. A singular resource includes a list of links that provide relationships to other resources, or in the case of the self link the resource itself.
-
links(optional):
array links
HATEOS link to related resources and actions or actions on this resource. Must include at least a 'self' link that contains a link to the canonical representation of the resource.
object
-
displayName(optional):
string
Human-readable user display name.
-
email(optional):
string
Email address to use when sending email notifications.
-
userName(optional):
string
User login name. Typically the user email address is used as the user login name.
array
HATEOS link to related resources and actions or actions on this resource. Must include at least a 'self' link that contains a link to the canonical representation of the resource.
object
REST HATEOAS link and related metadata. If responses provide links (for example, a self
link to the resource itself) the links provided will include one or more of the properties defined on this link structure.
-
href(optional):
string
The target resource URI. URI RFC3986 or URI Template RFC6570. If the value is set to URI Template, then the
templated
property must be set totrue
. -
mediaType(optional):
string
Media type, as defined by RFC 2046, describing the link target.
-
method(optional):
string
HTTP method for requesting the target of the link.
Valid values are:
-
OPTIONS
- HTTP OPTIONS -
HEAD
- HTTP HEAD -
GET
- HTTP GET -
POST
- HTTP POST -
PUT
- HTTP PUT -
PATCH
- HTTP PATCH -
DELETE
- HTTP DELETE
-
-
profile(optional):
string(uri)
Link to the metadata of the resource, such as JSON-schema, that describes the resource expected when dereferencing the target resource.
-
rel(optional):
string
Name of the link relation that, in addition to the type property, can be used to retrieve link details.
-
templated(optional):
boolean
Boolean flag that specifies the
href
property is a URI or URI Template. The property can be assumed to befalse
if the property is not present.
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Template Overwrite Denied",
"status":"403",
"detail":"Template '{name}' already exists and cannot be overwritten.",
"o:errorCode":"OCE-SITEMGMT-009048",
"name":"CafeSupremo",
"owner":{
"displayName":"John Smith",
"email":"jsmith@example.com",
"userName":"jsmith"
}
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Template Overwrite In Trash",
"status":"403",
"detail":"Template '{name}' is in trash so cannot be overwritten.",
"o:errorCode":"OCE-SITEMGMT-009110",
"name":"CafeSupremo",
"owner":{
"displayName":"John Smith",
"email":"jsmith@example.com",
"userName":"jsmith"
}
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Theme Overwrite Denied",
"status":"403",
"detail":"Theme '{name}' already exists and cannot be overwritten.",
"o:errorCode":"OCE-SITEMGMT-009049",
"name":"CafeSupremoTheme",
"owner":{
"displayName":"John Smith",
"email":"jsmith@example.com",
"userName":"jsmith"
}
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Theme Overwrite In Trash",
"status":"403",
"detail":"Theme '{name}' is in trash so cannot be overwritten.",
"o:errorCode":"OCE-SITEMGMT-009109",
"name":"CafeSupremoTheme",
"owner":{
"displayName":"John Smith",
"email":"jsmith@example.com",
"userName":"jsmith"
}
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Component Overwrite Denied",
"status":"403",
"detail":"Component '{name}' already exists and cannot be overwritten.",
"o:errorCode":"OCE-SITEMGMT-009050",
"name":"ContentNavMenu",
"owner":{
"displayName":"John Smith",
"email":"jsmith@example.com",
"userName":"jsmith"
}
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Component Overwrite In Trash",
"status":"403",
"detail":"Component '{name}' is in trash so cannot be overwritten.",
"o:errorCode":"OCE-SITEMGMT-009108",
"name":"ContentNavMenu",
"owner":{
"displayName":"John Smith",
"email":"jsmith@example.com",
"userName":"jsmith"
}
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Component Create Denied",
"status":"403",
"detail":"Component '{name}' is for an existing content layout and cannot be created as a new component.",
"o:errorCode":"OCE-SITEMGMT-009068",
"name":"ContentNavMenu"
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Content Type Overwrite Denied",
"status":"403",
"detail":"Content type '{name}' already exists and cannot be overwritten.",
"o:errorCode":"OCE-SITEMGMT-009112",
"name":"value",
"owner":{
"displayName":"John Smith",
"email":"jsmith@example.com",
"userName":"jsmith"
}
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Import Template with Assets Forbidden",
"status":"403",
"detail":"The Content Administrator role is required to import a template with assets.",
"o:errorCode":"OCE-SITEMGMT-009113"
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Sites Administrator Role Required",
"status":"403",
"detail":"The Sites Administrator role is required to create resources of this type.",
"o:errorCode":"OCE-SITEMGMT-009140",
"resourceType":"site",
"name":"value"
}
409 Response
-
allOf
TemplateImportConflictExceptionDetail
Introduced in release 19.4.1.
-
object
ExceptionDetail
In addition to HTTP error code and error messages, it is often desirable to provide additional information to the client when a request fails. In such cases, the additional information will be included in the response body.
-
object
TemplateImportConflictExceptionDetail-allOf[1]
object
In addition to HTTP error code and error messages, it is often desirable to provide additional information to the client when a request fails. In such cases, the additional information will be included in the response body.
-
detail(optional):
string
Description specific to this occurrence of the problem. The human-readable, potentially multi-line details describing the problem in more details.
-
instance(optional):
string(uri)
URI to the link that provides more detail about the error.
-
o:errorCode(optional):
string
Application error code, which is different from HTTP error code. This code should be used to check for specific errors, rather than comparing fields such as the
title
ordetail
. -
o:errorDetails(optional):
array o:errorDetails
Multiple errors can be organized in a hierarchical structure.
-
o:errorPath(optional):
string
XPath or JSON path to indicate where the error occurs.
-
status(optional):
integer(int32)
Corresponding HTTP status code for the error.
-
title(optional):
string
Short, human-readable summary of the problem. It is not advisable to use the title as a way of checking for specific errors, use the
o:errorCode
for this purpose. -
type(optional):
string(uri)
Absolute URI that identifies the problem type. When this URI dereferenced, it should provide a human-readable summary of the problem, for example, as a HTML page.
object
-
conflicts(optional):
object conflicts
Details of the template, theme and component conflicts.
Introduced in release 19.4.1.
array
Multiple errors can be organized in a hierarchical structure.
-
object
ExceptionDetail
In addition to HTTP error code and error messages, it is often desirable to provide additional information to the client when a request fails. In such cases, the additional information will be included in the response body.
object
Details of the template, theme and component conflicts.
Introduced in release 19.4.1.-
componentConflicts(optional):
array componentConflicts
Component conflicts, contains any conflicts with existing components.
Introduced in release 19.4.1. -
templateConflicts(optional):
array templateConflicts
Template conflicts, contains any conflicts with existing templates.
Introduced in release 19.4.1. -
themeConflicts(optional):
array themeConflicts
Theme conflicts, contains any conflicts with existing themes.
Introduced in release 19.4.1.
array
Component conflicts, contains any conflicts with existing components.
Introduced in release 19.4.1.array
Template conflicts, contains any conflicts with existing templates.
Introduced in release 19.4.1.array
Theme conflicts, contains any conflicts with existing themes.
Introduced in release 19.4.1.object
-
component:
string
Conflicting component.
Introduced in release 19.4.1. -
conflicts:
array conflicts
List of conflicts with an existing component.
Introduced in release 19.4.1. -
deleted:
boolean
Specifies if the conflicting component is soft deleted.
Introduced in release 19.4.1. -
itemGUID:
string
Internal identifier for the conflicting component. This is not the same as the folder GUID. This identifier can be used to identify the same component on two different services, i.e. a test and production service. This GUID is maintained on component export and import.
Introduced in release 19.4.1. -
lastModifiedAt:
string(date-time)
Date and time the conflicting component was last modified. Date and time values are in ISO 8601
Introduced in release 19.4.1.yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
format using a UTC timezone. -
lastModifiedBy:
lastModifiedBy
User or client application that last modified the conflicting component.
Introduced in release 19.4.1. -
name:
string
Maximum Length:
255
Name of the conflicting component in the service.
Introduced in release 19.4.1. -
overwritable:
boolean
Specifies if the current authenticated user has permission to overwrite the component contents. Only Managers can overwrite the contents. If value is false, then a conflict resolution of overwrite will fail with access denied.
Introduced in release 19.4.1. -
ownedBy:
ownedBy
User or client application that owns the conflicting component.
Introduced in release 19.4.1.
array
List of conflicts with an existing component.
Introduced in release 19.4.1.User or client application that last modified the conflicting component.
Introduced in release 19.4.1.User or client application that owns the conflicting component.
Introduced in release 19.4.1.object
-
itemGUID:
string
Internal identifier for the component in the package. This is not the same as the folder GUID. This identifier can be used to identify the same component on two different services, i.e. a test and production service. This GUID is maintained on component export and import.
Introduced in release 19.4.1. -
name:
string
Maximum Length:
255
Human readable name for the component in the package.
Introduced in release 19.4.1. -
resolution(optional):
string
A resolution value, if applicable. Using this value will resolve the conflict.
Introduced in release 19.4.1. -
type:
string
Type of conflict.
Valid values are:
-
name
- Component conflicts on the component name -
identity
- Component conflicts on the component GUID based identity
-
-
value:
string
The clashing value.
Introduced in release 19.4.1.
type
Identity representing a user or client application. The identity contains the common information such as the identity identifier, unique name and display name.
Introduced in release 20.3.1.-
object
SingularResource
All singular resources include the properties of the singular resource definition. A singular resource includes a list of links that provide relationships to other resources, or in the case of the self link the resource itself.
-
object
Identity-allOf[1]
object
All singular resources include the properties of the singular resource definition. A singular resource includes a list of links that provide relationships to other resources, or in the case of the self link the resource itself.
-
links(optional):
array links
HATEOS link to related resources and actions or actions on this resource. Must include at least a 'self' link that contains a link to the canonical representation of the resource.
object
-
displayName(optional):
string
Human-readable display name.
Introduced in release 20.3.1. -
id(optional):
string
An identifier value allocated by CEC for the user or client application. The identifier is unique within the scope of the service.
No assumptions should be made about the content of the field; the field should be treated as an opaque value.
Introduced in release 20.3.1. -
name(optional):
string
Unique name, such as the user name or client application name.
Introduced in release 20.3.1. -
roles(optional):
array roles
Roles.
Valid values are:
-
CECServiceAdministrator
- Service Administrator
- Assign user enumerates
- Change user passwords and challenge questions
- Configure, monitor, and manage service instances
-
CECSitesAdministrator
- Sites Administrator
- Create sites, templates, themes or components
-
CECRepositoryAdministrator
- Repository Administrator -
CECDeveloperUser
- Developer User -
CECContentAdministrator
- Content Administrator
- Create new content types and publish items
-
CECStandardUser
- Standard User
- Manage content (view, upload, and edit documents)
- Share content and sites with others
- Use conversations to collaborate (discuss topics, direct message someone, assign flags to someone, add annotations to documents)
- Follow people
- Create, edit, and publish sites
- Manage and publish site themes
- Create, register, export, and import custom site components
- Create, edit, export, and import site templates
- View and interact with content items in sites
- Manage and view custom properties and edit values
-
CECEnterpriseUser
- Enterprise User
- Manage content (view, upload, and edit documents)
- Share content and sites with others
- Use conversations to collaborate (discuss topics, direct message someone, assign flags to someone, add annotations to documents)
- Follow people
- Digital Assets
- Content Items (editorial content management)
- Create, manage, view, and interact with content items
- Collections
- Create, edit, and publish sites
- Manage and publish site themes
- Create, register, export, and import custom site components
- Create, edit, export, and import site templates
- Manage and view custom properties and edit values
-
CECExternalUser
- External User
-
CECIntegrationUser
- Integration User
-
CECSitesVisitor
- Sites Visitor
-
-
type(optional):
string
Type of Identity. Valid values are:
Introduced in release 20.3.1.user
,service
,application
,unknown
.
array
HATEOS link to related resources and actions or actions on this resource. Must include at least a 'self' link that contains a link to the canonical representation of the resource.
object
REST HATEOAS link and related metadata. If responses provide links (for example, a self
link to the resource itself) the links provided will include one or more of the properties defined on this link structure.
-
href(optional):
string
The target resource URI. URI RFC3986 or URI Template RFC6570. If the value is set to URI Template, then the
templated
property must be set totrue
. -
mediaType(optional):
string
Media type, as defined by RFC 2046, describing the link target.
-
method(optional):
string
HTTP method for requesting the target of the link.
Valid values are:
-
OPTIONS
- HTTP OPTIONS -
HEAD
- HTTP HEAD -
GET
- HTTP GET -
POST
- HTTP POST -
PUT
- HTTP PUT -
PATCH
- HTTP PATCH -
DELETE
- HTTP DELETE
-
-
profile(optional):
string(uri)
Link to the metadata of the resource, such as JSON-schema, that describes the resource expected when dereferencing the target resource.
-
rel(optional):
string
Name of the link relation that, in addition to the type property, can be used to retrieve link details.
-
templated(optional):
boolean
Boolean flag that specifies the
href
property is a URI or URI Template. The property can be assumed to befalse
if the property is not present.
array
Roles.
Valid values are:
-
CECServiceAdministrator
- Service Administrator
- Assign user enumerates
- Change user passwords and challenge questions
- Configure, monitor, and manage service instances
-
CECSitesAdministrator
- Sites Administrator
- Create sites, templates, themes or components
-
CECRepositoryAdministrator
- Repository Administrator -
CECDeveloperUser
- Developer User -
CECContentAdministrator
- Content Administrator
- Create new content types and publish items
-
CECStandardUser
- Standard User
- Manage content (view, upload, and edit documents)
- Share content and sites with others
- Use conversations to collaborate (discuss topics, direct message someone, assign flags to someone, add annotations to documents)
- Follow people
- Create, edit, and publish sites
- Manage and publish site themes
- Create, register, export, and import custom site components
- Create, edit, export, and import site templates
- View and interact with content items in sites
- Manage and view custom properties and edit values
-
CECEnterpriseUser
- Enterprise User
- Manage content (view, upload, and edit documents)
- Share content and sites with others
- Use conversations to collaborate (discuss topics, direct message someone, assign flags to someone, add annotations to documents)
- Follow people
- Digital Assets
- Content Items (editorial content management)
- Create, manage, view, and interact with content items
- Collections
- Create, edit, and publish sites
- Manage and publish site themes
- Create, register, export, and import custom site components
- Create, edit, export, and import site templates
- Manage and view custom properties and edit values
-
CECExternalUser
- External User
-
CECIntegrationUser
- Integration User
-
CECSitesVisitor
- Sites Visitor
object
-
conflicts:
array conflicts
List of conflicts with an existing template.
Introduced in release 19.4.1. -
deleted:
boolean
Specifies if the conflicting template is soft deleted.
Introduced in release 19.4.1. -
itemGUID:
string
Internal identifier for the conflicting template. This is not the same as the folder GUID. This identifier can be used to identify the same template on two different services, i.e. a test and production service. This GUID is maintained on template export and import.
Introduced in release 19.4.1. -
lastModifiedAt:
string(date-time)
Date and time the conflicting template was last modified. Date and time values are in ISO 8601
Introduced in release 19.4.1.yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
format using a UTC timezone. -
lastModifiedBy:
lastModifiedBy
User or client application that last modified the conflicting template.
Introduced in release 19.4.1. -
name:
string
Maximum Length:
242
Name of the conflicting template in the service.
Introduced in release 19.4.1. -
overwritable:
boolean
Specifies if the current authenticated user has permission to overwrite the template contents. Only Managers can overwrite the contents. If value is false, then a conflict resolution of
Introduced in release 19.4.1.overwrite
will fail with access denied. -
ownedBy:
ownedBy
User or client application that owns the conflicting template.
Introduced in release 19.4.1. -
template:
string
Conflicting template.
Introduced in release 19.4.1.
array
List of conflicts with an existing template.
Introduced in release 19.4.1.User or client application that last modified the conflicting template.
Introduced in release 19.4.1.User or client application that owns the conflicting template.
Introduced in release 19.4.1.object
-
itemGUID:
string
Internal identifier for the template in the package. This is not the same as the folder GUID. This identifier can be used to identify the same template on two different services, i.e. a test and production service. This GUID is maintained on template export and import.
Introduced in release 19.4.1. -
name:
string
Maximum Length:
242
Human readable name for the template in the package.
Introduced in release 19.4.1. -
resolution(optional):
string
A resolution value, if applicable. Using this value will resolve the conflict.
Introduced in release 19.4.1. -
type:
string
Type of conflict.
Valid values are:
-
name
- Template conflicts on the template name -
identity
- Template conflicts on the template GUID based identity
-
-
value:
string
The clashing value.
Introduced in release 19.4.1.
object
-
conflicts:
array conflicts
List of conflicts with an existing theme.
Introduced in release 19.4.1. -
deleted:
boolean
Specifies if the conflicting theme is soft deleted.
Introduced in release 19.4.1. -
itemGUID:
string
Internal identifier for the conflicting theme. This is not the same as the folder GUID. This identifier can be used to identify the same theme on two different services, i.e. a test and production service. This GUID is maintained on theme export and import.
Introduced in release 19.4.1. -
lastModifiedAt:
string(date-time)
Date and time the conflicting theme was last modified. Date and time values are in ISO 8601
Introduced in release 19.4.1.yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
format using a UTC timezone. -
lastModifiedBy:
lastModifiedBy
User or client application that last modified the conflicting theme.
Introduced in release 19.4.1. -
name:
string
Maximum Length:
255
Name of the conflicting theme in the service.
Introduced in release 19.4.1. -
overwritable:
boolean
Specifies if the current authenticated user has permission to overwrite the theme contents. Only Managers can overwrite the contents. If value is false, then a conflict resolution of
Introduced in release 19.4.1.overwrite
will fail with access denied. -
ownedBy:
ownedBy
User or client application that owns the conflicting theme.
Introduced in release 19.4.1. -
theme:
string
Conflicting theme.
Introduced in release 19.4.1.
array
List of conflicts with an existing theme.
Introduced in release 19.4.1.User or client application that last modified the conflicting theme.
Introduced in release 19.4.1.User or client application that owns the conflicting theme.
Introduced in release 19.4.1.object
-
itemGUID:
string
Internal identifier for the theme in the package. This is not the same as the folder GUID. This identifier can be used to identify the same theme on two different services, i.e. a test and production service. This GUID is maintained on theme export and import.
Introduced in release 19.4.1. -
name:
string
Maximum Length:
255
Human readable name for the theme in the package.
Introduced in release 19.4.1. -
resolution(optional):
string
A resolution value, if applicable. Using this value will resolve the conflict.
Introduced in release 19.4.1. -
type:
string
Type of conflict.
Valid values are:
-
name
- Theme conflicts on the theme name -
identity
- Theme conflicts on the theme GUID based identity
-
-
value:
string
The clashing value.
Introduced in release 19.4.1.
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Template Import Conflict",
"status":"409",
"detail":"Template package has not been imported as there are one or more conflicts with the template, theme or components.",
"o:errorCode":"OCE-SITEMGMT-009039",
"conflicts":{
"templateConflicts":[
{
"conflicts":[
{
"itemGUID":"value",
"name":"CafeSupremo",
"type":"name",
"value":"value",
"resolution":"value"
}
],
"itemGUID":"value",
"name":"CafeSupremo",
"ownedBy":{
"type":"user",
"id":"1234",
"name":"value",
"displayName":"John Smith",
"roles":[
"CECServiceAdministrator"
],
"userName":"jsmith",
"email":"jsmith@example.com"
},
"lastModifiedBy":{
"type":"user",
"id":"1234",
"name":"value",
"displayName":"John Smith",
"roles":[
"CECServiceAdministrator"
],
"userName":"jsmith",
"email":"jsmith@example.com"
},
"lastModifiedAt":"2019-06-01T06:44:17.000Z",
"deleted":false,
"overwritable":false,
"template":{
"id":"F30F08EB205D44AD20B5A48D1B1B3DD7D74F45978AB6"
}
}
],
"themeConflicts":[
{
"conflicts":[
{
"itemGUID":"value",
"name":"CafeSupremoTheme",
"type":"name",
"value":"value",
"resolution":"value"
}
],
"itemGUID":"value",
"name":"CafeSupremoTheme",
"ownedBy":{
"type":"user",
"id":"1234",
"name":"value",
"displayName":"John Smith",
"roles":[
"CECServiceAdministrator"
],
"userName":"jsmith",
"email":"jsmith@example.com"
},
"lastModifiedBy":{
"type":"user",
"id":"1234",
"name":"value",
"displayName":"John Smith",
"roles":[
"CECServiceAdministrator"
],
"userName":"jsmith",
"email":"jsmith@example.com"
},
"lastModifiedAt":"2019-06-01T06:44:17.000Z",
"deleted":false,
"overwritable":false,
"theme":{
"id":"FFA7758925559C7F6FC394910D5DDCD9211A3DB216EC"
}
}
],
"componentConflicts":[
{
"conflicts":[
{
"itemGUID":"value",
"name":"ContentNavMenu",
"type":"name",
"value":"value",
"resolution":"value"
}
],
"itemGUID":"value",
"name":"ContentNavMenu",
"ownedBy":{
"type":"user",
"id":"1234",
"name":"value",
"displayName":"John Smith",
"roles":[
"CECServiceAdministrator"
],
"userName":"jsmith",
"email":"jsmith@example.com"
},
"lastModifiedBy":{
"type":"user",
"id":"1234",
"name":"value",
"displayName":"John Smith",
"roles":[
"CECServiceAdministrator"
],
"userName":"jsmith",
"email":"jsmith@example.com"
},
"lastModifiedAt":"2019-06-01T06:44:17.000Z",
"deleted":false,
"overwritable":false,
"component":{
"id":"F40B9BE3E69F6DC440559A1F033BB2482DB740ECB2D8"
}
}
]
}
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Template Already Exists",
"status":"409",
"detail":"A template with the same name or identity already exists.",
"o:errorCode":"OCE-SITEMGMT-009040",
"template":{
"id":"F30F08EB205D44AD20B5A48D1B1B3DD7D74F45978AB6"
},
"name":"CafeSupremo",
"itemGuid":"value"
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Theme Already Exists",
"status":"409",
"detail":"A theme with the same name or identity already exists.",
"o:errorCode":"OCE-SITEMGMT-009042",
"theme":{
"id":"FFA7758925559C7F6FC394910D5DDCD9211A3DB216EC"
},
"name":"CafeSupremoTheme",
"itemGuid":"value"
}
{
"type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
"title":"Component Already Exists",
"status":"409",
"detail":"A component with the same name or identity already exists.",
"o:errorCode":"OCE-SITEMGMT-009043",
"component":{
"id":"F40B9BE3E69F6DC440559A1F033BB2482DB740ECB2D8"
},
"name":"ContentNavMenu",
"itemGuid":"value"
}