Documentation

REST API

Generated from the 0.9.7 OpenAPI specification.

Endpoints

GET /health Health check

Returns ready or degraded, plus the running version.

StatusDescriptionType
200Successful Responseobject
GET /health/live Liveness check

Always succeeds while the process is running.

StatusDescriptionType
200Successful Responseobject
GET /health/metrics Metrics snapshot

Counters, version, and hardware info as JSON. Requires the admin key when auth.mode=static.

StatusDescriptionType
200Successful Responseobject
GET /health/ready Readiness check

Returns 503 until storage and embeddings are usable. Does not expose local filesystem paths.

StatusDescriptionType
200Successful Responseobject
GET /metrics Prometheus metrics

The same counters in Prometheus exposition format. Requires the admin key when auth.mode=static.

StatusDescriptionType
200Successful Responseobject
GET /v1/admin/archive Download an archive

Streams the whole dataset as a zip; requires the admin key. Collections that fail validation are left out and named in the X-PaveDB-Skipped-Collections header.

StatusDescriptionType
200Successful Response
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
500Internal Server ErrorErrorResponse
PUT /v1/admin/archive Restore an archive

Overwrites current data with the uploaded zip. The admin key is checked before body consumption; general request and document size limits do not apply.

Request body (multipart/form-data): Body_restore_archive_v1_admin_archive_put

StatusDescriptionType
200Successful ResponseRestoreArchiveResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
422Validation ErrorHTTPValidationError
500Internal Server ErrorErrorResponse
GET /v1/admin/collections/{tenant}/{name}/archive Download a collection archive

Streams one collection and its portable manifest as a zip; requires the admin key.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring
StatusDescriptionType
200Successful Response
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
500Internal Server ErrorErrorResponse
POST /v1/admin/collections/{tenant}/{name}/archive Restore a collection archive as a new collection

Creates the collection from a same-version archive after local embedder preflight; an existing collection is refused. Requires the admin key.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring

Request body (multipart/form-data): Body_restore_collection_archive_v1_admin_collections__tenant___name__archive_post

StatusDescriptionType
200Successful ResponseRestoreCollectionArchiveResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
409ConflictErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
PUT /v1/admin/collections/{tenant}/{name}/archive Replace a collection from an archive

Replaces an existing collection from a same-version archive after local embedder preflight; a missing collection is refused. Requires the admin key.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring

Request body (multipart/form-data): Body_restore_collection_archive_v1_admin_collections__tenant___name__archive_put

StatusDescriptionType
200Successful ResponseRestoreCollectionArchiveResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
500Internal Server ErrorErrorResponse
POST /v1/admin/collections/{tenant}/{name}/move Rename a collection

Changes the slug, and therefore the URL; requires the admin key.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring

Request body (application/json): MoveCollectionBody

StatusDescriptionType
200Successful ResponseMoveCollectionResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
409ConflictErrorResponse
422Validation ErrorHTTPValidationError
500Internal Server ErrorErrorResponse
POST /v1/admin/collections/{tenant}/{name}/reindex Reindex a collection

Starts an interruptible, resumable vector rebuild against a new embedder specification; requires the admin key.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring

Request body (application/json): ReindexCollectionBody

StatusDescriptionType
202Successful ResponseReindexJobResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
409ConflictErrorResponse
422Validation ErrorHTTPValidationError
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
GET /v1/admin/embedders List embedder instances

Lists configured embedder instances and the resolved default; requires the admin key.

StatusDescriptionType
200Successful ResponseEmbedderInventoryResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
500Internal Server ErrorErrorResponse
DELETE /v1/admin/metrics Reset metrics

Zeroes request counters; requires the admin key.

StatusDescriptionType
200Successful ResponseResetMetricsResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
GET /v1/admin/queries/{query_id} Get any logged search

Finds a search by id without knowing its tenant; requires the admin key.

ParameterInRequiredTypeDescription
query_idpathyesstring
StatusDescriptionType
200Successful ResponseGetQueryLogResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
500Internal Server ErrorErrorResponse
POST /v1/admin/queries/{query_id}/replay Replay any logged search

Re-runs a search found by id in any tenant; requires the admin key.

ParameterInRequiredTypeDescription
query_idpathyesstring
StatusDescriptionType
200Successful ResponseQueryReplayResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
DELETE /v1/admin/reindex/{job_id} Cancel a reindex job

Discards staged vectors without changing the live index; requires the admin key.

ParameterInRequiredTypeDescription
job_idpathyesstring
StatusDescriptionType
200Successful ResponseReindexJobResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
409ConflictErrorResponse
422Validation ErrorHTTPValidationError
500Internal Server ErrorErrorResponse
GET /v1/admin/reindex/{job_id} Get reindex job status

Returns durable reindex progress; requires the admin key.

ParameterInRequiredTypeDescription
job_idpathyesstring
StatusDescriptionType
200Successful ResponseReindexJobResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
500Internal Server ErrorErrorResponse
POST /v1/admin/reindex/{job_id}/pause Pause a reindex job

Requests a pause after the current persisted batch; requires the admin key.

ParameterInRequiredTypeDescription
job_idpathyesstring
StatusDescriptionType
200Successful ResponseReindexJobResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
409ConflictErrorResponse
422Validation ErrorHTTPValidationError
500Internal Server ErrorErrorResponse
POST /v1/admin/reindex/{job_id}/resume Resume a reindex job

Resumes from persisted batches; requires the admin key.

ParameterInRequiredTypeDescription
job_idpathyesstring
StatusDescriptionType
200Successful ResponseReindexJobResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
409ConflictErrorResponse
422Validation ErrorHTTPValidationError
500Internal Server ErrorErrorResponse
GET /v1/admin/tenants List tenants

Names every tenant on the instance; requires the admin key.

StatusDescriptionType
200Successful ResponseListTenantsResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
500Internal Server ErrorErrorResponse
GET /v1/collections/{tenant} List collections

One entry per collection, with display name and embedding model.

ParameterInRequiredTypeDescription
tenantpathyesstring
StatusDescriptionType
200Successful ResponseListCollectionsResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
GET /v1/collections/{tenant}/{collection}/chunks/{rid} Get a chunk

Returns the chunk's provenance and metadata, not its text.

ParameterInRequiredTypeDescription
tenantpathyesstring
collectionpathyesstring
ridpathyesstring
StatusDescriptionType
200Successful ResponseGetChunkResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
GET /v1/collections/{tenant}/{collection}/chunks/{rid}/content Get chunk content

Returns the chunk's raw text as the response body.

ParameterInRequiredTypeDescription
tenantpathyesstring
collectionpathyesstring
ridpathyesstring
StatusDescriptionType
200Successful Response
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
GET /v1/collections/{tenant}/{collection}/documents List documents

One entry per document, with version and chunk count.

ParameterInRequiredTypeDescription
tenantpathyesstring
collectionpathyesstring
StatusDescriptionType
200Successful ResponseListDocumentsResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
POST /v1/collections/{tenant}/{collection}/documents Ingest a document

Chunks, embeds, and indexes a multipart file or JSON raw-text document; reusing a docid replaces it.

ParameterInRequiredTypeDescription
tenantpathyesstring
collectionpathyesstring
csv_has_headerquerynostring (optional)
csv_meta_colsquerynostring (optional)
csv_include_colsquerynostring (optional)

Request body (multipart/form-data): Body_ingest_document_v1_collections__tenant___collection__documents_post

StatusDescriptionType
201Successful ResponseIngestDocumentResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
413Content Too LargeErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
DELETE /v1/collections/{tenant}/{collection}/documents/{docid} Delete a document

Removes the document and all chunks derived from it.

ParameterInRequiredTypeDescription
tenantpathyesstring
collectionpathyesstring
docidpathyesstring
StatusDescriptionType
200Successful ResponseDeleteDocumentResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
GET /v1/collections/{tenant}/{collection}/documents/{docid} Get a document

Includes stored metadata, version, and its chunk ids.

ParameterInRequiredTypeDescription
tenantpathyesstring
collectionpathyesstring
docidpathyesstring
StatusDescriptionType
200Successful ResponseGetDocumentResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
GET /v1/collections/{tenant}/{collection}/documents/{docid}/chunks List document chunks

Chunks in document order, with provenance metadata.

ParameterInRequiredTypeDescription
tenantpathyesstring
collectionpathyesstring
docidpathyesstring
StatusDescriptionType
200Successful ResponseListChunksResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
POST /v1/collections/{tenant}/{collection}/documents:batch Ingest documents in a batch

Indexes several raw-text documents in one request. Each item may provide text, docid, and metadata.

ParameterInRequiredTypeDescription
tenantpathyesstring
collectionpathyesstring

Request body (application/json): BatchIngestDocumentsBody

StatusDescriptionType
201Successful ResponseBatchIngestDocumentsResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
413Content Too LargeErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
DELETE /v1/collections/{tenant}/{name} Delete a collection

Permanently removes the collection and every document in it.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring
StatusDescriptionType
200Successful ResponseDeleteCollectionResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
PATCH /v1/collections/{tenant}/{name} Update a collection

Changes editable metadata only; does not re-index documents.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring

Request body (application/json): UpdateCollectionBody

StatusDescriptionType
200Successful ResponseUpdateCollectionResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
POST /v1/collections/{tenant}/{name} Create a collection

Optionally sets the display name and selects an embedder by shorthand or detailed fields; returns 201.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring

Request body (application/json): CreateCollectionOptionsBody (optional)

StatusDescriptionType
201Successful ResponseCreateCollectionResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
GET /v1/collections/{tenant}/{name}/archive Download this collection as a portable archive

Streams the collection and its manifest as a zip — the same portable format the admin archive uses, scoped to your own tenant. Restore it into any PaveDB of the same version.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring
StatusDescriptionType
200Successful Response
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
POST /v1/collections/{tenant}/{name}/archive Restore a portable archive as a new collection

Creates the collection from a same-version archive after embedder preflight, scoped to your own tenant; an existing collection is refused.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring

Request body (multipart/form-data): Body_restore_own_collection_archive_v1_collections__tenant___name__archive_post

StatusDescriptionType
200Successful ResponseRestoreCollectionArchiveResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
409ConflictErrorResponse
413Content Too LargeErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
PUT /v1/collections/{tenant}/{name}/archive Replace this collection from a portable archive

Replaces an existing collection from a same-version archive after embedder preflight, scoped to your own tenant; a missing collection is refused.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring

Request body (multipart/form-data): Body_restore_own_collection_archive_v1_collections__tenant___name__archive_put

StatusDescriptionType
200Successful ResponseRestoreCollectionArchiveResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
413Content Too LargeErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
GET /v1/collections/{tenant}/{name}/detail Get collection detail

Settings plus document and chunk counts.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring
StatusDescriptionType
200Successful ResponseCollectionDetailResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
POST /v1/collections/{tenant}/{name}/move Rename a collection

Changes the collection slug and therefore its URL.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring

Request body (application/json): MoveCollectionBody

StatusDescriptionType
200Successful ResponseMoveCollectionResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
409ConflictErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
GET /v1/collections/{tenant}/{name}/queries List logged searches

Most recent first; omits result bodies, which one-by-id returns.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring
limitquerynointeger
offsetquerynointeger
StatusDescriptionType
200Successful ResponseListQueryLogsResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
GET /v1/collections/{tenant}/{name}/queries/{query_id} Get a logged search

Includes the query text, filters, and the chunk ids it returned.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring
query_idpathyesstring
StatusDescriptionType
200Successful ResponseGetQueryLogResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
POST /v1/collections/{tenant}/{name}/queries/{query_id}/replay Replay a logged search

Re-runs the original query against current data; recorded as a new entry.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring
query_idpathyesstring
StatusDescriptionType
200Successful ResponseQueryReplayResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
POST /v1/collections/{tenant}/{name}/reindex Rebuild this collection in a new vector space

Starts a resumable reindex job that re-embeds the collection into the requested embedder space (same rules as create). Operator routing decides which instance executes the embeds.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring

Request body (application/json): ReindexCollectionBody

StatusDescriptionType
200Successful ResponseReindexJobResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
409ConflictErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
DELETE /v1/collections/{tenant}/{name}/reindex/{job_id} Cancel this collection's reindex job

Stops the job and keeps the collection serving from its current index; jobs from other tenants or collections answer 404.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring
job_idpathyesstring
StatusDescriptionType
200Successful ResponseReindexJobResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
409ConflictErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
GET /v1/collections/{tenant}/{name}/reindex/{job_id} Inspect this collection's reindex job

Progress and state of a reindex job started on this collection; jobs from other tenants or collections answer 404.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring
job_idpathyesstring
StatusDescriptionType
200Successful ResponseReindexJobResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
404Not FoundErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
GET /v1/collections/{tenant}/{name}/search Search a collection

Query-string form of the search; metadata filters are not accepted.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring
qqueryyesstring
kquerynointeger
modequerynostring (optional)
include_commonquerynobooleanInclude configured common collection results when server common search is enabled.
StatusDescriptionType
200Successful ResponseSearchResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
POST /v1/collections/{tenant}/{name}/search Search a collection

Ranked retrieval matches with provenance and per-phase timing.

ParameterInRequiredTypeDescription
tenantpathyesstring
namepathyesstring

Request body (application/json): SearchBody

StatusDescriptionType
200Successful ResponseSearchResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
GET /v1/embedders/{tenant} List embedders available to a tenant

Lists configured embedder instances currently available in this tenant namespace.

ParameterInRequiredTypeDescription
tenantpathyesstring
StatusDescriptionType
200Successful ResponseEmbedderInventoryResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
GET /v1/search Search shared collections

Query-string form of the shared search; filters are not accepted.

ParameterInRequiredTypeDescription
qqueryyesstring
kquerynointeger
modequerynostring (optional)
StatusDescriptionType
200Successful ResponseSearchResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse
POST /v1/search Search shared collections

Searches the shared scope by text; empty when that scope is disabled.

Request body (application/json): SearchBody

StatusDescriptionType
200Successful ResponseSearchResponse
400Bad RequestErrorResponse
401UnauthorizedErrorResponse
403ForbiddenErrorResponse
422Validation ErrorHTTPValidationError
429Too Many RequestsErrorResponse
500Internal Server ErrorErrorResponse
503Service UnavailableErrorResponse

Schemas

BatchDocumentInput

One raw-text or raw-vector document in a batch ingest request.

PropertyTypeRequiredDescription
docidstring (optional)noOptional stable document id; generated when omitted.
metadataobject (optional)noOptional user metadata stored with the document.
textstring (optional)noRaw text to index as one document.
vectorarray of number (optional)noRaw embedding vector (BYOV). Provide exactly one of text or vector.

BatchIngestDocumentResult

Per-document result for batch ingest.

PropertyTypeRequiredDescription
chunksinteger (optional)noNumber of chunks indexed on success.
codestring (optional)noFailure code for this item.
docidstring (optional)noDocument id, when known.
errorstring (optional)noFailure message for this item.
indexintegeryesZero-based item index.
okbooleanyesWhether this document was ingested.

BatchIngestDocumentsBody

Batch raw-text document ingest request.

PropertyTypeRequiredDescription
documentsarray of BatchDocumentInputyesDocuments to ingest.

BatchIngestDocumentsResponse

Result of ingesting several raw-text documents.

PropertyTypeRequiredDescription
collectionstringyesCollection scope.
countintegeryesNumber of items processed.
documentsarray of BatchIngestDocumentResultyesPer-document ingest results.
failedintegeryesNumber of failed items.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
succeededintegeryesNumber of successful items.
tenantstringyesTenant scope.

Body_ingest_document_v1_collections__tenant___collection__documents_post

PropertyTypeRequiredDescription
docidstring (optional)no
filestring (optional)no
metadatastring (optional)no

Body_restore_archive_v1_admin_archive_put

PropertyTypeRequiredDescription
filestringyes

Body_restore_collection_archive_v1_admin_collections__tenant___name__archive_post

PropertyTypeRequiredDescription
filestringyes

Body_restore_collection_archive_v1_admin_collections__tenant___name__archive_put

PropertyTypeRequiredDescription
filestringyes

Body_restore_own_collection_archive_v1_collections__tenant___name__archive_post

PropertyTypeRequiredDescription
filestringyes

Body_restore_own_collection_archive_v1_collections__tenant___name__archive_put

PropertyTypeRequiredDescription
filestringyes

ChunkSummary

Compact entry for chunk listings.

PropertyTypeRequiredDescription
chunk_pathstring (optional)noPosition of the chunk within the document.
ingested_atstringyesWhen the chunk was ingested (ISO 8601).
metaobjectyesProvenance and user metadata for the chunk.
ridstringyesChunk id.

ChunkingSpec

How a collection cuts free text into chunks; fixed at creation.

PropertyTypeRequiredDescription
overlapinteger (optional)nofixed only: characters shared with the previous chunk; at most a quarter of size. Omitted, the default.
sizeinteger (optional)nofixed only: characters per chunk; omitted, the default.
strategystring (optional)nofixed: overlapping windows of characters. none: each text is one chunk. Omitted: the instance default.

CollectionDetailResponse

Full detail for one collection.

PropertyTypeRequiredDescription
chunk_countintegeryesNumber of chunks.
chunkingobject (optional)noChunking the collection applies to free text.
created_atstring (optional)noWhen the collection was created (ISO 8601).
display_namestring (optional)noHuman-friendly label.
doc_countintegeryesNumber of documents.
embed_modelstring (optional)noEmbedding model name.
embedder_configobjectnoExtra embedding options.
embedder_typestring (optional)noEmbedding backend in use.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
namestringyesCollection slug.
okbooleannoAlways true on a success response.
pavedb_versionstring (optional)noPaveDB version that created the collection; unset for collections that predate this tag (P2-25).
priority_keystringnoMetadata field that boosts search scores.
request_idstring (optional)noCorrelation id echoed for this request.
schema_versioninteger (optional)noPer-collection metadata schema version at creation time; unset for collections that predate this tag (P2-25).
search_modestringnoDefault ranking mode for searches that name none.
tenantstringyesTenant that owns the collection.
vector_space_keystring (optional)noIdentifier for the embedding model and any space-affecting config shared by this collection's vectors.

CollectionSummary

Compact entry for collection listings.

PropertyTypeRequiredDescription
display_namestring (optional)noHuman-friendly label.
embedder_labelstring (optional)noEmbedding backend and model in one label.
namestringyesCollection slug.
vector_space_keystring (optional)noIdentifier for the embedding model and any space-affecting config shared by this collection's vectors.

ContentFilter

One additive chunk-text predicate for a search.

PropertyTypeRequiredDescription
opstringyesText matching operation.
valuestringyesNon-empty text value to match against stored chunks.

CreateCollectionOptionsBody

Optional settings when creating a collection.

PropertyTypeRequiredDescription
chunkingChunkingSpec (optional)noChunking for free text, fixed at creation and checked against the instance's bounds. Omitted: the instance default.
display_namestring (optional)noHuman-friendly label for the collection.
embed_modelstring (optional)noEmbedding model name.
embedderstring (optional)noConfigured embedder selector shorthand: instance key, type, type:model, or full vector-space key. Cannot be combined with the detailed embedder fields.
embedder_configobject (optional)noExtra embedding options.
embedder_typestring (optional)noEmbedding backend to use for this collection.
priority_keystring (optional)noMetadata field whose numeric value, clamped to [-1, 1], scales each hit's score by (1 + value). Fixed at creation. Omitted: prio_boost.
search_modestring (optional)noDefault ranking mode for searches that name none; fixed at creation. Must be a mode the instance serves. Defaults to vector.

CreateCollectionResponse

A newly created collection.

PropertyTypeRequiredDescription
chunkingobject (optional)noChunking the collection applies to free text.
collectionstringyesCollection slug.
display_namestringyesHuman-friendly label.
embed_modelstringyesEmbedding model name.
embedder_configobjectnoExtra embedding options.
embedder_typestringyesEmbedding backend in use.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
namestringyesCollection slug.
okbooleannoAlways true on a success response.
priority_keystringnoMetadata field that boosts search scores.
request_idstring (optional)noCorrelation id echoed for this request.
search_modestringnoDefault ranking mode for searches that name none.
tenantstringyesTenant that owns the collection.

DefaultEmbedderInventory

Default embedder resolution.

PropertyTypeRequiredDescription
instance_keysarray of stringyesInstance keys in the default routing pool.
selectorstring (optional)noConfigured embedder.default selector, if any.
vector_keystringyesDefault vector-space key.

DeleteCollectionResponse

Confirmation of a deleted collection.

PropertyTypeRequiredDescription
deletedstringyesSlug of the deleted collection.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
tenantstringyesTenant that owned the collection.

DeleteDocumentResponse

Confirmation of a deleted document.

PropertyTypeRequiredDescription
chunks_deletedintegeryesNumber of chunks removed.
collectionstringyesCollection it was in.
docidstringyesId of the deleted document.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
tenantstringyesTenant that owned the document.

DocumentSummary

Compact entry for document listings.

PropertyTypeRequiredDescription
chunk_countintegeryesNumber of chunks.
docidstringyesDocument id.
ingested_atstringyesWhen the document was last ingested (ISO 8601).
versionintegeryesRevision, incremented on re-ingest.

EmbedderInventoryEntry

A configured embedder instance exposed without credentials.

PropertyTypeRequiredDescription
embed_modelstringyesEmbedding model name.
embedder_typestringyesEmbedder implementation type.
keystringyesConfigured embedder instance key.
vector_keystringyesVector-space key produced by this instance.

EmbedderInventoryResponse

Configured embedder instances available to a caller.

PropertyTypeRequiredDescription
countintegeryesNumber of configured instances.
defaultDefaultEmbedderInventoryyesResolved default embedder.
embeddersarray of EmbedderInventoryEntryyesConfigured embedder instances.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
tenantstring (optional)noTenant scope for tenant-namespaced requests.

ErrorResponse

API error envelope.

PropertyTypeRequiredDescription
codestringyesStable, machine-readable error code.
detailsobject (optional)noOptional structured context about the error.
errorstringyesHuman-readable error message.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleanyesAlways false on an error response.
request_idstring (optional)noCorrelation id echoed for this request.

GetChunkResponse

Detail for one chunk.

PropertyTypeRequiredDescription
chunk_pathstring (optional)noPosition of the chunk within the document.
collectionstringyesCollection it belongs to.
docidstringyesDocument it belongs to.
ingested_atstringyesWhen the chunk was ingested (ISO 8601).
latency_msnumber (optional)noTotal server-side time for this request, in ms.
metaobjectyesProvenance and user metadata for the chunk.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
ridstringyesChunk id.
tenantstringyesTenant that owns the chunk.

GetDocumentResponse

Detail for one document.

PropertyTypeRequiredDescription
chunk_countintegeryesNumber of chunks.
chunk_idsarray of stringyesChunk ids that make up the document.
collectionstringyesCollection it belongs to.
docidstringyesDocument id.
ingested_atstringyesWhen the document was last ingested (ISO 8601).
latency_msnumber (optional)noTotal server-side time for this request, in ms.
metadataobjectyesUser metadata stored with the document.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
tenantstringyesTenant that owns the document.
versionintegeryesRevision, incremented on re-ingest.

GetQueryLogResponse

A single logged search.

PropertyTypeRequiredDescription
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
queryQueryLogEntryyesThe logged search and its results.
request_idstring (optional)noCorrelation id echoed for this request.

HTTPValidationError

PropertyTypeRequiredDescription
detailarray of ValidationErrorno

IngestDocumentResponse

Result of ingesting a document.

PropertyTypeRequiredDescription
chunksintegeryesNumber of chunks created.
collectionstringyesCollection the document went into.
docidstringyesId of the ingested document.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
tenantstringyesTenant that owns the document.

ListChunksResponse

All chunks of a document.

PropertyTypeRequiredDescription
chunksarray of ChunkSummaryyesThe chunks.
collectionstringyesCollection scope.
countintegeryesNumber of chunks.
docidstringyesDocument the chunks belong to.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
tenantstringyesTenant scope of the listing.

ListCollectionsResponse

All collections in a tenant.

PropertyTypeRequiredDescription
collectionsarray of CollectionSummaryyesThe collections.
countintegeryesNumber of collections.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
tenantstringyesTenant scope of the listing.

ListDocumentsResponse

All documents in a collection.

PropertyTypeRequiredDescription
collectionstringyesCollection scope.
countintegeryesNumber of documents.
documentsarray of DocumentSummaryyesThe documents.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
tenantstringyesTenant scope of the listing.

ListQueryLogsResponse

A page of logged searches.

PropertyTypeRequiredDescription
collectionstring (optional)noCollection scope, if narrowed.
countintegeryesNumber of entries returned.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
queriesarray of QueryLogSummaryyesThe logged searches.
request_idstring (optional)noCorrelation id echoed for this request.
tenantstringyesTenant scope of the listing.

ListTenantsResponse

All known tenants.

PropertyTypeRequiredDescription
countintegeryesNumber of tenants.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
tenantsarray of stringyesTenant slugs.

MoveCollectionBody

Request body for renaming a collection.

PropertyTypeRequiredDescription
new_namestringyesNew collection slug.

MoveCollectionResponse

Confirmation of a renamed collection.

PropertyTypeRequiredDescription
latency_msnumber (optional)noTotal server-side time for this request, in ms.
new_namestringyesNew collection slug.
okbooleannoAlways true on a success response.
old_namestringyesPrevious collection slug.
request_idstring (optional)noCorrelation id echoed for this request.
tenantstringyesTenant that owns the collection.

QueryLogEntry

A recorded search and its results.

PropertyTypeRequiredDescription
actorstringyesWho ran the search.
collectionstringyesCollection searched.
common_collectionstring (optional)noThe included common collection, if any.
common_tenantstring (optional)noTenant of the included common collection, if any.
content_filterContentFilter (optional)noChunk-text predicate applied to the search.
executed_atstringyesWhen the search ran (ISO 8601).
filtersobject (optional)noMetadata filters applied to the search.
include_commonbooleannoWhether common results were included.
kintegeryesMaximum number of hits requested.
latency_msnumber (optional)noTotal time for the search, in ms.
modestringnoRanking mode the search ran with.
query_idstringyesId of the logged search.
query_textstringyesThe search text.
replay_ofstring (optional)noOriginal query id when this entry is a replay.
request_idstring (optional)noCorrelation id of the original request.
result_countintegeryesNumber of hits returned.
result_idsarray of stringyesChunk ids returned, in rank order.
tenantstringyesTenant the search ran in.
timingobject (optional)noPer-phase latency breakdown, in ms.

QueryLogSummary

Compact entry for query-log listings.

PropertyTypeRequiredDescription
executed_atstringyesWhen the search ran (ISO 8601).
kintegeryesMaximum number of hits requested.
latency_msnumber (optional)noTotal time for the search, in ms.
query_idstringyesId of the logged search.
query_textstringyesThe search text.
replay_ofstring (optional)noOriginal query id when this entry is a replay.
request_idstring (optional)noCorrelation id of the original request.
result_countintegeryesNumber of hits returned.

QueryReplayResponse

Results of re-running a logged search.

PropertyTypeRequiredDescription
latency_msnumber (optional)noTotal server-side time for this request, in ms.
matchesarray of SearchResultyesHits from the replay.
modestring (optional)noMode the replay ran with: the one the original logged.
okbooleannoAlways true on a success response.
original_latency_msnumber (optional)noLatency of the original search, in ms.
original_query_idstringyesId of the search that was replayed.
original_result_countintegeryesHit count of the original search.
replay_query_idstring (optional)noId assigned to this replay. Omitted when query logging is disabled.
request_idstring (optional)noCorrelation id echoed for this request.
timingSearchTiming (optional)noPer-phase latency breakdown.

ReindexCollectionBody

New embedder vector space for a collection reindex job.

PropertyTypeRequiredDescription
embed_modelstring (optional)noEmbedding model to use for the rebuilt index.
embedder_configobject (optional)noSpace-affecting options for the target embedder.
embedder_typestring (optional)noEmbedding backend to use for the rebuilt index.

ReindexJobResponse

Durable status and progress for one collection reindex job.

PropertyTypeRequiredDescription
collectionstringyesCollection slug being reindexed.
completed_chunksintegeryesChunks reindexed so far.
created_atstringyesWhen the job was created (ISO 8601).
errorstring (optional)noFailure detail when the job status is failed.
finished_atstring (optional)noWhen the job reached a terminal state (ISO 8601), or null.
job_idstringyesStable job identifier.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
started_atstring (optional)noWhen the job began running (ISO 8601), or null.
statusstringyesCurrent lifecycle state of the reindex job.
targetReindexTargetyesVector space the job rebuilds the collection into.
tenantstringyesTenant that owns the collection.
total_chunksintegeryesTotal chunks the job will reindex.
updated_atstringyesWhen the job last advanced (ISO 8601).

ReindexTarget

Persistable target vector-space identity for a reindex job.

PropertyTypeRequiredDescription
embed_modelstringyesEmbedding model the rebuilt index uses.
embedder_configobjectnoSpace-affecting options for the target embedder.
embedder_typestringyesEmbedding backend the job rebuilds the index with.

ResetMetricsResponse

Confirmation that metrics were reset.

PropertyTypeRequiredDescription
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
reset_atnumberyesWhen metrics were reset (Unix seconds).

RestoreArchiveResponse

Confirmation of a restored archive.

PropertyTypeRequiredDescription
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.

RestoreCollectionArchiveResponse

Confirmation of a restored collection archive.

PropertyTypeRequiredDescription
collectionstringyesDestination collection slug.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
tenantstringyesDestination tenant.

SearchBody

Search request body.

PropertyTypeRequiredDescription
content_filterContentFilter (optional)noAdditive exact, phrase, token-prefix, or substring predicate over stored chunk text.
filtersobject (optional)noMetadata equality filters to narrow results.
include_commonbooleannoInclude configured common collection results when server common search is enabled.
kintegernoMaximum number of hits.
modestring (optional)noRanking mode; omit for the collection's default. vector ranks by similarity; boost adds an exact-token nudge within the vector candidates; hybrid fuses vector and full-text rankings. boost and hybrid require a text query.
qstring (optional)noThe search text.
varray of number (optional)noRaw query vector (BYOV). Provide exactly one of q or v.

SearchResponse

Search results with optional timing.

PropertyTypeRequiredDescription
latency_msnumber (optional)noTotal server-side time for this request, in ms.
matchesarray of SearchResultyesRanked list of hits, best first.
modestring (optional)noMode that ranked the matches: the requested one, or the collection's default. Scores are cosine similarity for vector and boost, reciprocal-rank fusion scores for hybrid.
okbooleannoAlways true on a success response.
query_idstring (optional)noId for this search, usable with the /queries/{query_id} and /queries/{query_id}/replay endpoints. Omitted when query logging is disabled.
request_idstring (optional)noCorrelation id echoed for this request.
timingSearchTiming (optional)noPer-phase latency breakdown.

SearchResult

A single search hit.

PropertyTypeRequiredDescription
collectionstringyesCollection the hit came from.
idstringyesChunk id of the matching passage.
match_reasonstringyesHow the score was made, prefixed by the mode that ranked the hit. vector: the cosine. boost: cosine plus the boost for the exact tokens matched. hybrid: the vector and lexical ranks, each contributing 1/(60+rank). Matched metadata filters and content filters follow after '; '.
metaobjectyesProvenance and user metadata for the chunk.
scorenumberyesRelevance score; higher is closer.
tenantstringyesTenant that owns the hit.
textstring (optional)yesThe matched snippet, when stored.

SearchTiming

Per-phase latency breakdown, in ms.

PropertyTypeRequiredDescription
embed_msnumberyesTime to turn the query into a vector.
filter_msnumberyesTime spent applying metadata filters.
hydrate_msnumberyesTime spent loading snippet text and metadata.
lexical_search_msnumber (optional)noFTS5 candidate-generation time for hybrid search.
search_msnumberyesTime spent generating ranked candidates.
vector_search_msnumber (optional)noVector candidate-generation time for hybrid search.

UpdateCollectionBody

Request body for editing collection metadata.

PropertyTypeRequiredDescription
display_namestringyesNew human-friendly label.

UpdateCollectionResponse

Confirmation of updated collection metadata.

PropertyTypeRequiredDescription
display_namestringyesUpdated label.
latency_msnumber (optional)noTotal server-side time for this request, in ms.
namestringyesCollection slug.
okbooleannoAlways true on a success response.
request_idstring (optional)noCorrelation id echoed for this request.
tenantstringyesTenant that owns the collection.

ValidationError

PropertyTypeRequiredDescription
ctxobjectno
inputobjectno
locarray of string, integer (optional)yes
msgstringyes
typestringyes