BatchPutDocument
Note
Amazon Q Business will no longer be open to new customers starting on July 31, 2026. If you would like to use the service, please sign up prior to July 30. For capabilities similar to Q Business, explore Amazon Quick. Learn more.
Adds one or more documents to an Amazon Q Business index.
You use this API to:
-
ingest your structured and unstructured documents and documents stored in an Amazon S3 bucket into an Amazon Q Business index.
-
add custom attributes to documents in an Amazon Q Business index.
-
attach an access control list to the documents added to an Amazon Q Business index.
You can see the progress of the deletion, and any error messages related to the process, by using CloudWatch.
Request Syntax
POST /applications/applicationId/indices/indexId/documents HTTP/1.1
Content-type: application/json
{
"dataSourceSyncId": "string",
"documents": [
{
"accessConfiguration": {
"accessControls": [
{
"memberRelation": "string",
"principals": [
{ ... }
]
}
],
"memberRelation": "string"
},
"attributes": [
{
"name": "string",
"value": { ... }
}
],
"content": { ... },
"contentType": "string",
"documentEnrichmentConfiguration": {
"inlineConfigurations": [
{
"condition": {
"key": "string",
"operator": "string",
"value": { ... }
},
"documentContentOperator": "string",
"target": {
"attributeValueOperator": "string",
"key": "string",
"value": { ... }
}
}
],
"postExtractionHookConfiguration": {
"invocationCondition": {
"key": "string",
"operator": "string",
"value": { ... }
},
"lambdaArn": "string",
"roleArn": "string",
"s3BucketName": "string"
},
"preExtractionHookConfiguration": {
"invocationCondition": {
"key": "string",
"operator": "string",
"value": { ... }
},
"lambdaArn": "string",
"roleArn": "string",
"s3BucketName": "string"
}
},
"id": "string",
"mediaExtractionConfiguration": {
"audioExtractionConfiguration": {
"audioExtractionStatus": "string"
},
"imageExtractionConfiguration": {
"imageExtractionStatus": "string"
},
"videoExtractionConfiguration": {
"videoExtractionStatus": "string"
}
},
"title": "string"
}
],
"roleArn": "string"
}
URI Request Parameters
The request uses the following URI parameters.
- applicationId
-
The identifier of the Amazon Q Business application.
Length Constraints: Fixed length of 36.
Pattern:
[a-zA-Z0-9][a-zA-Z0-9-]{35}Required: Yes
- indexId
-
The identifier of the Amazon Q Business index to add the documents to.
Length Constraints: Fixed length of 36.
Pattern:
[a-zA-Z0-9][a-zA-Z0-9-]{35}Required: Yes
Request Body
The request accepts the following data in JSON format.
- dataSourceSyncId
-
The identifier of the data source sync during which the documents were added.
Type: String
Length Constraints: Fixed length of 36.
Pattern:
[a-zA-Z0-9][a-zA-Z0-9-]{35}Required: No
- documents
-
One or more documents to add to the index.
Important
Ensure that the name of your document doesn't contain any confidential information. Amazon Q Business returns document names in chat responses and citations when relevant.
Type: Array of Document objects
Array Members: Minimum number of 1 item. Maximum number of 10 items.
Required: Yes
- roleArn
-
The Amazon Resource Name (ARN) of an IAM role with permission to access your S3 bucket.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1284.
Pattern:
arn:[a-z0-9-\.]{1,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[a-z0-9-\.]{0,63}:[^/].{0,1023}Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"failedDocuments": [
{
"dataSourceId": "string",
"error": {
"errorCode": "string",
"errorMessage": "string"
},
"id": "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.
- failedDocuments
-
A list of documents that were not added to the Amazon Q Business index because the document failed a validation check. Each document contains an error message that indicates why the document couldn't be added to the index.
Type: Array of FailedDocument objects
Errors
For information about the errors that are common to all actions, see Common Error Types.
- AccessDeniedException
-
You don't have access to perform this action. Make sure you have the required permission policies and user accounts and try again.
HTTP Status Code: 403
- ConflictException
-
You are trying to perform an action that conflicts with the current status of your resource. Fix any inconsistencies with your resources and try again.
- message
-
The message describing a
ConflictException. - resourceId
-
The identifier of the resource affected.
- resourceType
-
The type of the resource affected.
HTTP Status Code: 409
- InternalServerException
-
An issue occurred with the internal server used for your Amazon Q Business service. Wait some minutes and try again, or contact Support
for help. HTTP Status Code: 500
- ResourceNotFoundException
-
The application or plugin resource you want to use doesn’t exist. Make sure you have provided the correct resource and try again.
- message
-
The message describing a
ResourceNotFoundException. - resourceId
-
The identifier of the resource affected.
- resourceType
-
The type of the resource affected.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
You have exceeded the set limits for your Amazon Q Business service.
- message
-
The message describing a
ServiceQuotaExceededException. - resourceId
-
The identifier of the resource affected.
- resourceType
-
The type of the resource affected.
HTTP Status Code: 402
- ThrottlingException
-
The request was denied due to throttling. Reduce the number of requests and try again.
HTTP Status Code: 429
- ValidationException
-
The input doesn't meet the constraints set by the Amazon Q Business service. Provide the correct input and try again.
- fields
-
The input field(s) that failed validation.
- message
-
The message describing the
ValidationException. - reason
-
The reason for the
ValidationException.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: