indexing

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

post/v2/collections/{collection_name}/index/text

Path parameters

collection_namestring required

Headers

authorizationstring nullable

Request body

contentstring required

The text content to index.

custom_metadataobject nullable

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

filenamestring nullable

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

mask_piiboolean

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 required
statusstring
custom_metadataobject nullable

The custom_metadata Captain accepted for this job, echoed back as validated. Null when none was supplied.

Changes