Index Text

Index plain text content into a collection. Accepts raw text content in the request body, saves it as a .txt file, and indexes it for semantic search. No file upload or cloud storage needed. Headers: - Authorization: Bearer {api_key} - Captain API key for authentication - X-Organization-ID: Organization UUID - Idempotency-Key: UUID for request deduplication (optional) Args: collection_name: Name of the collection (path parameter) body: Text content and optional metadata Returns: { job_id, status: "pending" }

Path parameters

collection_namestringRequired

Headers

authorizationstring or nullOptional

Request

This endpoint expects an object.
contentstringRequired
The text content to index.
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].

filenamestring or nullOptional

Optional filename for the text document. Defaults to ‘snippet-{N}.txt’ where N auto-increments.

mask_piibooleanOptionalDefaults to false

When true, detected PII (emails, phone numbers, SSNs, credit cards, names, and locations) is masked in the parsed content before it is embedded and stored — replaced with entity tags like <PERSON> and <EMAIL_ADDRESS>. For images (including images embedded in PDFs), PII text visible in the image is also pixel-redacted. Opt-in; defaults to false, which leaves content unchanged.

Response

Successful Response
job_idstring
statusstringOptionalDefaults to pending
© 2026 Captain