Vector store

Configure whether a project uses Perchat's platform vector store or a bring-your-own (BYO) cluster for semantic indexing and search. Today the backend uses Qdrant; these endpoints are provider-agnostic. Settings are per project and affect indexer workers and the catalog service.

Console session only — authenticate with Authorization: Bearer <jwt> from login plus X-Workspace-Id and X-Project-Id. Requires workspace role permissions vector_store:read or vector_store:update. Project and workspace API keys cannot call these routes (use the dashboard or mint a session).

Platform default — set useCustom: falseto use Perchat's managed Qdrant for indexer jobs and content search. Custom URL and API key are kept on the project but not used until you switch back.

Custom vector store (BYO) — set useCustom: true with a valid https:// cluster URL. Saving or updating custom settings runs an automatic connection test and cluster sizing check against platform minimums (requiredClusterSpecs in settings). Failed checks return 422 validationError and settings are not saved.

  • apiKey is required for *.cloud.qdrant.io hosts and when the cluster rejects unauthenticated requests.
  • The API key is stored encrypted; responses only include apiKeySet: true.
  • Omit apiKey on PATCH to keep the stored key; send an empty string only when no key is stored yet.
  • Indexer jobs and catalog search use the live cluster for the project. Vectors are not copied when you switch clusters — re-run indexer jobs on the new cluster.

Project vector store settings

useCustomboolean
When true, indexer and search use url with the stored API key. When false, the platform default cluster is used.
urlstring | null, optional
HTTPS (or HTTP) Qdrant base URL without a trailing slash.
apiKeySetboolean
True when an API key is stored for the custom cluster.
requiredClusterSpecsobject
Minimum allocated cluster size (nodes, RAM, disk, vCPU) enforced when saving BYO settings. Values are set in platform admin.

Get vector store settings

GET/v1/project-vector-store/settings
Returns the saved mode, custom URL, whether an API key is set, and current minimums.

Requires permission

vector_store:read

Update vector store settings

PATCH/v1/project-vector-store/settings
Switch to platform default (useCustom: false) or configure BYO Qdrant (useCustom: true with url and usually apiKey). BYO updates run connection + sizing validation before save.

Requires permission

vector_store:update

Parameters

useCustomboolean, optional
Platform default (false) or project custom cluster (true).
urlstring, optional
Required when enabling or changing custom Qdrant.
apiKeystring, optional
Database API key for Qdrant Cloud / secured clusters. Omit to keep stored key.

Test connection and sizing

POST/v1/project-vector-store/test
Probes reachability and (for custom URLs) returns clusterSpecs and clusterSpecsValidation without saving. Use before PATCH …/settings.

Requires permission

vector_store:update

Parameters

urlstring, optional
Custom cluster URL to test. Omit to use the saved project URL.
apiKeystring, optional
API key to test. Omit to use the stored key when the project already has one.

Probe cluster sizing

POST/v1/project-vector-store/specs
Reads provisioned RAM, disk, and vCPU from Qdrant Cloud /sys_metrics (Kubernetes limits) for a draft or saved custom URL.

Requires permission

vector_store:read

Parameters

urlstring, optional
Cluster URL.
apiKeystring, optional
API key with metrics access.

Health check (active cluster)

POST/v1/project-vector-store/health
Tests the cluster currently in use for the project (platform default or saved custom).

Requires permission

vector_store:read

Indexed inventory by connection

GET/v1/project-vector-store/inventory
Returns transcript and chunk counts for the active cluster (from a live Qdrant scroll when catalog is available) and historical rows per connection key. Optional query previewUrl compares a draft BYO URL before save.

Requires permission

vector_store:read

Parameters

previewUrlstring, optional
Draft custom Qdrant URL to include as a preview row.