CreateKnowledgeBase - Amazon Connect

CreateKnowledgeBase

Creates a knowledge base.

Note

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" }, "vectorIngestionConfiguration": { "chunkingConfiguration": { "chunkingStrategy": "string", "fixedSizeChunkingConfiguration": { "maxTokens": number, "overlapPercentage": number }, "hierarchicalChunkingConfiguration": { "levelConfigurations": [ { "maxTokens": number } ], "overlapTokens": number }, "semanticChunkingConfiguration": { "breakpointPercentileThreshold": number, "bufferSize": number, "maxTokens": number } }, "parsingConfiguration": { "bedrockFoundationModelConfiguration": { "modelArn": "string", "parsingPrompt": { "parsingPromptText": "string" } }, "parsingStrategy": "string" } } }

URI Request Parameters

The request does not use any URI parameters.

Request Body

The request accepts the following data in JSON format.

clientToken

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

description

The description.

Type: String

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

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

Required: No

knowledgeBaseType

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

Valid Values: EXTERNAL | CUSTOM | QUICK_RESPONSES | MESSAGE_TEMPLATES | MANAGED

Required: Yes

name

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

renderingConfiguration

Information about how to render the content.

Type: RenderingConfiguration object

Required: No

serverSideEncryptionConfiguration

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

sourceConfiguration

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

Type: SourceConfiguration object

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

Required: No

tags

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

vectorIngestionConfiguration

Contains details about how to ingest the documents in a data source.

Type: VectorIngestionConfiguration object

Required: No

Response Syntax

HTTP/1.1 200 Content-type: application/json { "knowledgeBase": { "description": "string", "ingestionFailureReasons": [ "string" ], "ingestionStatus": "string", "knowledgeBaseArn": "string", "knowledgeBaseId": "string", "knowledgeBaseType": "string", "lastContentModificationTime": number, "name": "string", "renderingConfiguration": { "templateUri": "string" }, "serverSideEncryptionConfiguration": { "kmsKeyId": "string" }, "sourceConfiguration": { ... }, "status": "string", "tags": { "string" : "string" }, "vectorIngestionConfiguration": { "chunkingConfiguration": { "chunkingStrategy": "string", "fixedSizeChunkingConfiguration": { "maxTokens": number, "overlapPercentage": number }, "hierarchicalChunkingConfiguration": { "levelConfigurations": [ { "maxTokens": number } ], "overlapTokens": number }, "semanticChunkingConfiguration": { "breakpointPercentileThreshold": number, "bufferSize": number, "maxTokens": number } }, "parsingConfiguration": { "bedrockFoundationModelConfiguration": { "modelArn": "string", "parsingPrompt": { "parsingPromptText": "string" } }, "parsingStrategy": "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.

knowledgeBase

The knowledge base.

Type: KnowledgeBaseData object

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

ServiceQuotaExceededException

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

ValidationException

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: