CreateTemplate - Amazon Connect

CreateTemplate

Creates a template in the Cases domain. This template is used to define the case object model (that is, to define what data can be captured on cases) in a Cases domain. A template must have a unique name within a domain, and it must reference existing field IDs and layout IDs. Additionally, multiple fields with same IDs are not allowed within the same Template. A template can be either Active or Inactive, as indicated by its status. Inactive templates cannot be used to create cases.

Request Syntax

POST /domains/domainId/templates HTTP/1.1 Content-type: application/json { "description": "string", "layoutConfiguration": { "defaultLayout": "string" }, "name": "string", "requiredFields": [ { "fieldId": "string" } ], "status": "string" }

URI Request Parameters

The request uses the following URI parameters.

domainId

The unique identifier of the Cases domain.

Length Constraints: Minimum length of 1. Maximum length of 500.

Required: Yes

Request Body

The request accepts the following data in JSON format.

description

A brief description of the template.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 255.

Required: No

layoutConfiguration

Configuration of layouts associated to the template.

Type: LayoutConfiguration object

Required: No

name

A name for the template. It must be unique per domain.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Pattern: ^.*[\S]$

Required: Yes

requiredFields

A list of fields that must contain a value for a case to be successfully created with this template.

Type: Array of RequiredField objects

Array Members: Minimum number of 0 items. Maximum number of 100 items.

Required: No

status

The status of the template.

Type: String

Valid Values: Active | Inactive

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "templateArn": "string", "templateId": "string" }

Response Elements

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

templateArn

The Amazon Resource Name (ARN) of the newly created template.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 500.

templateId

A unique identifier of a template.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 500.

Errors

For information about the errors that are common to all actions, see Common Errors.

AccessDeniedException

You do not have sufficient access to perform this action.

HTTP Status Code: 403

ConflictException

The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request. See the accompanying error message for details.

HTTP Status Code: 409

InternalServerException

We couldn't process your request because of an issue with the server. Try again later.

HTTP Status Code: 500

ResourceNotFoundException

We couldn't find the requested resource. Check that your resources exists and were created in the same AWS Region as your request, and try your request again.

HTTP Status Code: 404

ServiceQuotaExceededException

The service quota has been exceeded. For a list of service quotas, see Amazon Connect Service Quotas in the Amazon Connect Administrator Guide.

HTTP Status Code: 402

ThrottlingException

The rate has been exceeded for this API. Please try again after a few minutes.

HTTP Status Code: 429

ValidationException

The request isn't valid. Check the syntax and try again.

HTTP Status Code: 400

Examples

Request and Response example

This example illustrates one usage of CreateTemplate.

{ "name": "Shipping", "layoutConfiguration": { "defaultLayout": "[layout_id]" }, "requiredFields": [ { "fieldId": "[field_id]" } ] "description": "This is an example template for shipping issues", "status": "Inactive" }
{ "templateArn": "arn:aws:cases:us-west-2:[account_id]:domain/[domain_id]/template/[template_id]", "templateId": "[template_id]" }

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: