Index SharePoint File

Index a single SharePoint file (by driveItem ID) into a collection (headless).

Path parameters

collection_namestringRequired

Headers

authorizationstring or nullOptional

Request

This endpoint expects an object.
tenant_idstringRequired

Microsoft Entra ID tenant (directory) ID of the customer’s Microsoft 365 environment. A GUID, or the tenant domain (e.g. ‘contoso.onmicrosoft.com’).

client_idstringRequired

Application (client) ID of the Entra ID App Registration the customer’s admin created for Captain.

client_secretstringRequired

Client secret generated for that App Registration. Used once per job to mint app-only Microsoft Graph tokens; never stored.

processing_typeenumRequired

Document processing type. ‘advanced’ uses agentic OCR with AI-enhanced extraction for complex layouts, tables, figures, charts, and documents containing images. ‘basic’ provides reliable OCR optimized for general document indexing and high-volume processing.

site_urlstringRequired

SharePoint site URL (e.g. ‘https://contoso.sharepoint.com/sites/Sales’) or an already-resolved Graph site ID. The site’s default document library is indexed unless drive_id is given. With Sites.Selected, the admin must have granted this app access to this site.

item_idstringRequired
Graph driveItem ID of the single file to index.
skip_existingbooleanOptionalDefaults to true

When true, files already indexed in the collection are skipped and will not be re-indexed with incoming changes. When false, all incoming files are indexed regardless of whether they already exist.

overwrite_existingbooleanOptionalDefaults to false

When true, files that already exist in the collection will be deleted and re-indexed with the latest changes. Requires skip_existing=false. Setting both to true returns a 400 error.

transcription_languagestring or nullOptional

AWS Transcribe language code for the spoken audio (e.g. ‘es-US’, ‘pt-BR’). Omit to auto-detect per file. Video and audio files only. Supported codes: https://docs.aws.amazon.com/transcribe/latest/dg/supported-languages.html

custom_metadatamap from strings to strings or integers or doubles or booleans or lists of strings or nullOptional

Custom metadata to attach to all indexed chunks. Keys must be strings. Values: str, int, float, bool, or List[str].

parsing_scriptstring or nullOptional

Relative path to a JS parsing script for JSON files (e.g. ‘research/paper-parser’).

drive_idstring or nullOptional
Optional Graph drive ID of a specific document library, when the site has more than the default 'Documents' library.

Response

Successful Response
job_idstring
statusstringDefaults to pending

Errors

400
Bad Request Error
© 2026 Captain