CreateDomain - Amazon Connect

CreateDomain

Creates a domain, which is a container for all customer data, such as customer profile attributes, object types, profile keys, and encryption keys. You can create multiple domains, and each domain can have multiple third-party integrations.

Each Amazon Connect instance can be associated with only one domain. Multiple Amazon Connect instances can be associated with one domain.

Use this API or UpdateDomain to enable identity resolution: set Matching to true.

To prevent cross-service impersonation when you call this API, see Cross-service confused deputy prevention for sample policies that you should apply.

Note

It is not possible to associate a Customer Profiles domain with an Amazon Connect Instance directly from the API. If you would like to create a domain and associate a Customer Profiles domain, use the Amazon Connect admin website. For more information, see Enable Customer Profiles.

Each Amazon Connect instance can be associated with only one domain. Multiple Amazon Connect instances can be associated with one domain.

Request Syntax

POST /domains/DomainName HTTP/1.1 Content-type: application/json { "DeadLetterQueueUrl": "string", "DefaultEncryptionKey": "string", "DefaultExpirationDays": number, "Matching": { "AutoMerging": { "ConflictResolution": { "ConflictResolvingModel": "string", "SourceName": "string" }, "Consolidation": { "MatchingAttributesList": [ [ "string" ] ] }, "Enabled": boolean, "MinAllowedConfidenceScoreForMerging": number }, "Enabled": boolean, "ExportingConfig": { "S3Exporting": { "S3BucketName": "string", "S3KeyName": "string" } }, "JobSchedule": { "DayOfTheWeek": "string", "Time": "string" } }, "RuleBasedMatching": { "AttributeTypesSelector": { "Address": [ "string" ], "AttributeMatchingModel": "string", "EmailAddress": [ "string" ], "PhoneNumber": [ "string" ] }, "ConflictResolution": { "ConflictResolvingModel": "string", "SourceName": "string" }, "Enabled": boolean, "ExportingConfig": { "S3Exporting": { "S3BucketName": "string", "S3KeyName": "string" } }, "MatchingRules": [ { "Rule": [ "string" ] } ], "MaxAllowedRuleLevelForMatching": number, "MaxAllowedRuleLevelForMerging": number }, "Tags": { "string" : "string" } }

URI Request Parameters

The request uses the following URI parameters.

DomainName

The unique name of the domain.

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

Pattern: ^[a-zA-Z0-9_-]+$

Required: Yes

Request Body

The request accepts the following data in JSON format.

DeadLetterQueueUrl

The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications. You must set up a policy on the DeadLetterQueue for the SendMessage operation to enable Amazon Connect Customer Profiles to send messages to the DeadLetterQueue.

Type: String

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

Required: No

DefaultEncryptionKey

The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.

Type: String

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

Required: No

DefaultExpirationDays

The default number of days until the data within the domain expires.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 1098.

Required: Yes

Matching

The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.

After the Identity Resolution Job completes, use the GetMatches API to return and review the results. Or, if you have configured ExportingConfig in the MatchingRequest, you can download the results from S3.

Type: MatchingRequest object

Required: No

RuleBasedMatching

The process of matching duplicate profiles using the Rule-Based matching. If RuleBasedMatching = true, Amazon Connect Customer Profiles will start to match and merge your profiles according to your configuration in the RuleBasedMatchingRequest. You can use the ListRuleBasedMatches and GetSimilarProfiles API to return and review the results. Also, if you have configured ExportingConfig in the RuleBasedMatchingRequest, you can download the results from S3.

Type: RuleBasedMatchingRequest object

Required: No

Tags

The tags used to organize, track, or control access for this resource.

Type: String to string map

Map Entries: Maximum number of 50 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Key Pattern: ^(?!aws:)[a-zA-Z+-=._:/]+$

Value Length Constraints: Maximum length of 256.

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "CreatedAt": number, "DeadLetterQueueUrl": "string", "DefaultEncryptionKey": "string", "DefaultExpirationDays": number, "DomainName": "string", "LastUpdatedAt": number, "Matching": { "AutoMerging": { "ConflictResolution": { "ConflictResolvingModel": "string", "SourceName": "string" }, "Consolidation": { "MatchingAttributesList": [ [ "string" ] ] }, "Enabled": boolean, "MinAllowedConfidenceScoreForMerging": number }, "Enabled": boolean, "ExportingConfig": { "S3Exporting": { "S3BucketName": "string", "S3KeyName": "string" } }, "JobSchedule": { "DayOfTheWeek": "string", "Time": "string" } }, "RuleBasedMatching": { "AttributeTypesSelector": { "Address": [ "string" ], "AttributeMatchingModel": "string", "EmailAddress": [ "string" ], "PhoneNumber": [ "string" ] }, "ConflictResolution": { "ConflictResolvingModel": "string", "SourceName": "string" }, "Enabled": boolean, "ExportingConfig": { "S3Exporting": { "S3BucketName": "string", "S3KeyName": "string" } }, "MatchingRules": [ { "Rule": [ "string" ] } ], "MaxAllowedRuleLevelForMatching": number, "MaxAllowedRuleLevelForMerging": number, "Status": "string" }, "Tags": { "string" : "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.

CreatedAt

The timestamp of when the domain was created.

Type: Timestamp

DeadLetterQueueUrl

The URL of the SQS dead letter queue, which is used for reporting errors associated with ingesting data from third party applications.

Type: String

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

DefaultEncryptionKey

The default encryption key, which is an AWS managed key, is used when no specific type of encryption key is specified. It is used to encrypt all data before it is placed in permanent or semi-permanent storage.

Type: String

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

DefaultExpirationDays

The default number of days until the data within the domain expires.

Type: Integer

Valid Range: Minimum value of 1. Maximum value of 1098.

DomainName

The unique name of the domain.

Type: String

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

Pattern: ^[a-zA-Z0-9_-]+$

LastUpdatedAt

The timestamp of when the domain was most recently edited.

Type: Timestamp

Matching

The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly batch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every Saturday at 12AM UTC to detect duplicate profiles in your domains.

After the Identity Resolution Job completes, use the GetMatches API to return and review the results. Or, if you have configured ExportingConfig in the MatchingRequest, you can download the results from S3.

Type: MatchingResponse object

RuleBasedMatching

The process of matching duplicate profiles using the Rule-Based matching. If RuleBasedMatching = true, Amazon Connect Customer Profiles will start to match and merge your profiles according to your configuration in the RuleBasedMatchingRequest. You can use the ListRuleBasedMatches and GetSimilarProfiles API to return and review the results. Also, if you have configured ExportingConfig in the RuleBasedMatchingRequest, you can download the results from S3.

Type: RuleBasedMatchingResponse object

Tags

The tags used to organize, track, or control access for this resource.

Type: String to string map

Map Entries: Maximum number of 50 items.

Key Length Constraints: Minimum length of 1. Maximum length of 128.

Key Pattern: ^(?!aws:)[a-zA-Z+-=._:/]+$

Value Length Constraints: Maximum length of 256.

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

BadRequestException

The input you provided is invalid.

HTTP Status Code: 400

InternalServerException

An internal service error occurred.

HTTP Status Code: 500

ResourceNotFoundException

The requested resource does not exist, or access was denied.

HTTP Status Code: 404

ThrottlingException

You exceeded the maximum number of requests.

HTTP Status Code: 429

Examples

Example

This example illustrates one usage of CreateDomain.

Sample Request

POST /v1/domains/ExampleDomainName Content-type: application/json { "DeadLetterQueueUrl": "arn:aws:sqs:us-east-1:123456789012:DLQName", "DefaultEncryptionKey": "arn:aws:kms:us-east-1:123456789012:key/1988472d-6b77-4bb6-ae39-efce5EXAMPLE", "DefaultExpirationDays": 1098, "DomainName":"ExampleDomainName" }

Sample Response

Content-type: application/json { "DeadLetterQueueUrl": "arn:aws:sqs:us-east-1:123456789012:DLQName", "CreatedAt": 1479249799770, "DefaultEncryptionKey":"arn:aws:kms:us-east-1:123456789012:key/1988472d-6b77-4bb6-ae39-efce5EXAMPLE", "DefaultExpirationDays": 1098, "LastUpdatedAt":1479249799770, "DomainName": "ExampleDomainName" }

See Also

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