Create a Template From a Site

post

/sites/management/api/v1/sites/{id}/templates

COLLECTION

Create a template from a site, copying the site artifacts, such as assets. The name for the template must be specified, but a description for the template is optional.

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
  • CECSitesAdministrator
  • CECContentAdministrator

To invoke this operation, the authenticated user or client application must have been shared with the resource and have one of the following sharing roles:

  • Owner
  • Manager
  • Contributor
  • Downloader
  • Viewer

Granular Security

When creating a template from an SST site, the resulting template will enforce granular security. Sites requested from this template are then required to specify a Security Category upon creation. If this is not the behavior desired, the template can be edited after creation to disable this feature.

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.

Path Alternative Identifiers

The default identifier for a Site resource is the Site Identifier. The Site resource supports alternative identifiers.

nameSite Name

Instead of the site identifier, the site name can be used to uniquely identify a site in the resource path. The default resource path parameter for a site is the site identifier, but when working with sites the human-readable site name is sometimes easier.

http://api.example.com/sites/management/api/v1/sites/name:MyNewProduct/templates

Introduced in release 19.4.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 - Create a Template Specifying a Name and Description

Create a template from a site specifying a name and description.

Request

POST https://api.example.com/sites/management/api/v1/sites/{id}/templates

Request Headers

Prefer=respond-async

Request Body

{
  "name": "AccessThemeNew",
  "description": "A new access theme template based on the site created from the original access theme template."
}

202Accepted - Create an Enterprise Template from a Standard Site

Create an enterprise template from a standard site.

Request

POST https://api.example.com/sites/management/api/v1/sites/{id}/templates

Request Headers

Prefer=respond-async

Request Body

{
  "name": "AcmeProductLaunch",
  "type": "enterprise"
}

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 Template Name

The provided template name cannot be used because it contains characters or words that are not allowed. The reason the template name is invalid will be reported in the error message.

Error Code

OCE-SITEMGMT-009047

Resolution - Remove Spaces

Change the template name so that it does not contain spaces.

Resolution - Check Characters

Use only letters, numbers, hyphens, and underscores in template names.

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 NameDescription
templateNameInvalid template name.
reasonReason the template name is invalid. Valid values are:
  • tooLong - Name is too long
  • invalidCharacters - Name contains invalid characters
  • startWithSpace - Name starts with a space
  • endWithSpace - Name ends with a space
  • internalWord - Name is a restricted internal word
  • empty - Name is empty

For detailed information about this exception detail type, consult the InvalidTemplateNameExceptionDetail 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 Name",
  "status": "400",
  "detail": "Template name '{templateName}' cannot be used to create a template.",
  "o:errorCode": "OCE-SITEMGMT-009047",
  "templateName": "CafeSupremo",
  "reason": "tooLong"
}

400Bad Request - Unpublished Site Items

Some content used by the site has not been published to the site's channel.

Error Code

OCE-SITEMGMT-009137

Resolution - Publish Content

Ensure all content has been targeted and published to the site's channel.

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": "Unpublished Site Items",
  "status": "400",
  "detail": "Some content used by the site has not been published to the site's channel.",
  "o:errorCode": "OCE-SITEMGMT-009137"
}

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 can be returned in the asynchronous job status.
Exception Detail Fields

This error type includes the following fields/values in the response:

Field NameDescription
resourceTypeResource type that can only be created by Sites Administrators. Valid values are:
  • site - Site resource
  • template - Template resource
  • theme - Theme resource
  • component - Component resource
nameName 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.

404Not Found - Site Not Found

The site does not exist or has been deleted, or the authenticated user or client application does not have access to the site.

Error Code

OCE-SITEMGMT-009003

Resolution - Check Identifier

Check that the site identifier is valid.

Resolution - Check Membership

Check that the authenticated user is a member of the site or a site administrator.

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 NameDescription
siteSite that does not exist or is not visible to the authenticated user.

For detailed information about this exception detail type, consult the SiteNotFoundExceptionDetail 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": "Site Not Found",
  "status": "404",
  "detail": "Site does not exist or has been deleted, or the authenticated user or client application does not have access to the site.",
  "o:errorCode": "OCE-SITEMGMT-009003",
  "site": {
    "id": "FCA9C0E5CDCB549A19FFB85987A2352778961003B8A0"
  }
}

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 NameDescription
templateDuplicate template.
nameDuplicate name.
itemGuidDuplicate 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 - Site Deleted

The operation cannot be performed on a soft deleted site. This error can only occur when the includeDeleted query parameter is set to true.

Error Code

OCE-SITEMGMT-009059

Resolution - Restore Site

Restore the site and then try the operation 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 NameDescription
siteSite that is soft deleted, if the site identifier has been provided.

For detailed information about this exception detail type, consult the SiteDeletedExceptionDetail 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": "Site Deleted",
  "status": "409",
  "detail": "The operation cannot be performed as the site has been soft deleted.",
  "o:errorCode": "OCE-SITEMGMT-009059",
  "site": {
    "id": "FCA9C0E5CDCB549A19FFB85987A2352778961003B8A0"
  }
}

Introduced in release 19.4.1.

409Conflict - Site Content Not Ready

The site contains content assets in a "not ready" state.

Error Code

OCE-SITEMGMT-009144

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 NameDescription
siteSite on which the operation is being performed.

For detailed information about this exception detail type, consult the SiteContentNotReadyErrorExceptionDetail 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": "Site Content Not Ready",
  "status": "409",
  "detail": "The site contains content assets in a \"not ready\" state.",
  "o:errorCode": "OCE-SITEMGMT-009144",
  "site": {
    "id": "FCA9C0E5CDCB549A19FFB85987A2352778961003B8A0"
  }
}

Request

Supported Media Types
Path Parameters
Header Parameters
Body ()

Name and description for the template and whether to export published assets.

Root Schema : schema
Type: object
Show Source
  • Maximum Length: 1000

    Optional description. There is no restriction on the contents of the description; it can be a single line or multiple lines with any characters.

    Introduced in release 19.4.1.
  • Include unpublished content items and digital assets in your template. If set to true then both published and unpublished content items and digital assets are included in the template. If set to false then only published content items and digital assets are included in the template. If not specified the default is to include only published content items and digital assets.

    Introduced in release 19.4.1.
  • 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.

  • Maximum Length: 242

    Name of the template.

    Introduced in release 19.4.1.
  • Type of template to create. If set to enterprise then the created template will be an enterprise template even if the site is not an enterprise site. If set to inherit then the template type will inherit the type from the site. If not specified the default is for the template inherit the type from the site.

    Valid values are:

    • inherit - Template type will be inherited from the site
    • enterprise - Create an enterprise template

    Introduced in release 21.1.2.
Example:
{
    "name":"AccessThemeNew",
    "description":"A new access theme template based on the site created from the original access theme template."
}
Nested Schema : links
Type: 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.

Show Source
Nested Schema : items
Match All
Show Source
  • Link
Back to Top

Response

202 Response

Accepted
Headers

400 Response

Bad Request
Body ()
Root Schema : schema
Match All
Show Source
Nested Schema : InvalidTemplateNameExceptionDetail
Match All
Show Source
Nested Schema : ExceptionDetail
Type: 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.

Show Source
Nested Schema : InvalidTemplateNameExceptionDetail-allOf[1]
Type: object
Show Source
  • Reason the template name is invalid.

    Valid values are:

    • tooLong - Name is too long
    • invalidCharacters - Name contains invalid characters
    • startWithSpace - Name starts with a space
    • endWithSpace - Name ends with a space
    • internalWord - Name is a restricted internal word
    • empty - Name is empty

  • Maximum Length: 242

    Invalid template name.

Nested Schema : o:errorDetails
Type: array

Multiple errors can be organized in a hierarchical structure.

Show Source
Nested Schema : items
Match All
Show Source
  • 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.

Example Response (Invalid Template Name)
{
    "type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
    "title":"Invalid Template Name",
    "status":"400",
    "detail":"Template name '{templateName}' cannot be used to create a template.",
    "o:errorCode":"OCE-SITEMGMT-009047",
    "templateName":"CafeSupremo",
    "reason":"tooLong"
}

401 Response

Unauthorized

403 Response

Forbidden
Body ()
Root Schema : schema
Match All
Show Source
Nested Schema : SitesAdminRoleRequiredExceptionDetail
Introduced in release 22.5.2.
Match All
Show Source
Nested Schema : ExceptionDetail
Type: 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.

Show Source
Nested Schema : SitesAdminRoleRequiredExceptionDetail-allOf[1]
Type: object
Show Source
  • Name of resource being created, if available.

    Introduced in release 22.5.2.
  • Resource type that can only be created by Sites Administrators.

    Valid values are:

    • site - Site resource
    • template - Template resource
    • theme - Theme resource
    • component - Component resource

    Introduced in release 22.5.2.
Nested Schema : o:errorDetails
Type: array

Multiple errors can be organized in a hierarchical structure.

Show Source
Nested Schema : items
Match All
Show Source
  • 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.

Example Response (Sites Administrator Role Required)
{
    "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"
}

404 Response

Not Found
Headers
Body ()
Root Schema : schema
Match All
Show Source
Nested Schema : SiteNotFoundExceptionDetail
Match All
Show Source
Nested Schema : ExceptionDetail
Type: 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.

Show Source
Nested Schema : SiteNotFoundExceptionDetail-allOf[1]
Type: object
Show Source
Nested Schema : o:errorDetails
Type: array

Multiple errors can be organized in a hierarchical structure.

Show Source
Nested Schema : items
Match All
Show Source
  • 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.

Example Response (Site Not Found)
{
    "type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
    "title":"Site Not Found",
    "status":"404",
    "detail":"Site does not exist or has been deleted, or the authenticated user or client application does not have access to the site.",
    "o:errorCode":"OCE-SITEMGMT-009003",
    "site":{
        "id":"FCA9C0E5CDCB549A19FFB85987A2352778961003B8A0"
    }
}

409 Response

Conflict
Body ()
Root Schema : schema
Match All
Show Source
Nested Schema : TemplateAlreadyExistsExceptionDetail
Introduced in release 19.4.1.
Match All
Show Source
Nested Schema : ExceptionDetail
Type: 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.

Show Source
Nested Schema : TemplateAlreadyExistsExceptionDetail-allOf[1]
Type: object
Show Source
Nested Schema : o:errorDetails
Type: array

Multiple errors can be organized in a hierarchical structure.

Show Source
Nested Schema : items
Match All
Show Source
  • 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.

Example Response (Template Already Exists)
{
    "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"
}
Example Response (Site Deleted)
{
    "type":"http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",
    "title":"Site Deleted",
    "status":"409",
    "detail":"The operation cannot be performed as the site has been soft deleted.",
    "o:errorCode":"OCE-SITEMGMT-009059",
    "site":{
        "id":"FCA9C0E5CDCB549A19FFB85987A2352778961003B8A0"
    }
}

413 Response

Payload Too Large

415 Response

Unsupported Media Type

429 Response

Too Many Requests

500 Response

Internal Server Error

501 Response

Not Implemented

502 Response

Bad Gateway

503 Response

Service Unavailable

504 Response

Gateway Timeout
Back to Top