Document - Amazon Kendra


A document in an index.



Information on principals (users and/or groups) and which documents they should have access to. This is useful for user context filtering, where search results are filtered based on the user or their group access to documents.

Type: Array of Principal objects

Required: No


Custom attributes to apply to the document. Use the custom attributes to provide additional information for searching, to provide facets for refining searches, and to provide additional information in the query response.

For example, 'DataSourceId' and 'DataSourceSyncJobId' are custom attributes that provide information on the synchronization of documents running on a data source. Note, 'DataSourceSyncJobId' could be an optional custom attribute as Amazon Kendra will use the ID of a running sync job.

Type: Array of DocumentAttribute objects

Required: No


The contents of the document.

Documents passed to the Blob parameter must be base64 encoded. Your code might not need to encode the document file bytes if you're using an AWS SDK to call Amazon Kendra APIs. If you are calling the Amazon Kendra endpoint directly using REST, you must base64 encode the contents before sending.

Type: Base64-encoded binary data object

Required: No


The file type of the document in the Blob field.

Type: String


Required: No


The list of principal lists that define the hierarchy for which documents users should have access to.

Type: Array of HierarchicalPrincipal objects

Array Members: Minimum number of 1 item. Maximum number of 30 items.

Required: No


A unique identifier of the document in the index.

Note, each document ID must be unique per index. You cannot create a data source to index your documents with their unique IDs and then use the BatchPutDocument API to index the same documents, or vice versa. You can delete a data source and then use the BatchPutDocument API to index the same documents, or vice versa.

Type: String

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

Required: Yes


Information required to find a specific file in an Amazon S3 bucket.

Type: S3Path object

Required: No


The title of the document.

Type: String

Required: No

See Also

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