CreateKnowledgeBase - Amazon Connect


Creates a knowledge base.


When using this API, you cannot reuse Amazon AppIntegrations DataIntegrations with external knowledge bases such as Salesforce and ServiceNow. If you do, you'll get an InvalidRequestException error.

For example, you're programmatically managing your external knowledge base, and you want to add or remove one of the fields that is being ingested from Salesforce. Do the following:

  1. Call DeleteKnowledgeBase.

  2. Call DeleteDataIntegration.

  3. Call CreateDataIntegration to recreate the DataIntegration or a create different one.

  4. Call CreateKnowledgeBase.

Request Syntax

POST /knowledgeBases HTTP/1.1 Content-type: application/json { "clientToken": "string", "description": "string", "knowledgeBaseType": "string", "name": "string", "renderingConfiguration": { "templateUri": "string" }, "serverSideEncryptionConfiguration": { "kmsKeyId": "string" }, "sourceConfiguration": { ... }, "tags": { "string" : "string" } }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.


A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the AWS SDK populates this field. For more information about idempotency, see Making retries safe with idempotent APIs.

Type: String

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

Required: No


The description.

Type: String

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

Pattern: ^[a-zA-Z0-9\s_.,-]+

Required: No


The type of knowledge base. Only CUSTOM knowledge bases allow you to upload your own content. EXTERNAL knowledge bases support integrations with third-party systems whose content is synchronized automatically.

Type: String


Required: Yes


The name of the knowledge base.

Type: String

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

Pattern: ^[a-zA-Z0-9\s_.,-]+

Required: Yes


Information about how to render the content.

Type: RenderingConfiguration object

Required: No


The configuration information for the customer managed key used for encryption.

This KMS key must have a policy that allows kms:CreateGrant, kms:DescribeKey, kms:Decrypt, and kms:GenerateDataKey* permissions to the IAM identity using the key to invoke Amazon Q in Connect.

For more information about setting up a customer managed key for Amazon Q in Connect, see Enable Amazon Q in Connect for your instance.

Type: ServerSideEncryptionConfiguration object

Required: No


The source of the knowledge base content. Only set this argument for EXTERNAL knowledge bases.

Type: SourceConfiguration object

Note: This object is a Union. Only one member of this object can be specified or returned.

Required: No


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

Type: String to string map

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

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

Value Length Constraints: Minimum length of 1. Maximum length of 256.

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "knowledgeBase": { "description": "string", "knowledgeBaseArn": "string", "knowledgeBaseId": "string", "knowledgeBaseType": "string", "lastContentModificationTime": number, "name": "string", "renderingConfiguration": { "templateUri": "string" }, "serverSideEncryptionConfiguration": { "kmsKeyId": "string" }, "sourceConfiguration": { ... }, "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.


The knowledge base.

Type: KnowledgeBaseData object


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


You do not have sufficient access to perform this action.

HTTP Status Code: 403


The request could not be processed because of conflict in the current state of the resource. For example, if you're using a Create API (such as CreateAssistant) that accepts name, a conflicting resource (usually with the same name) is being created or mutated.

HTTP Status Code: 409


You've exceeded your service quota. To perform the requested action, remove some of the relevant resources, or use service quotas to request a service quota increase.

HTTP Status Code: 402


The input fails to satisfy the constraints specified by a service.

HTTP Status Code: 400

See Also

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