Skip to main content

Semantics

  • Stateless. Nothing is stored, and this is the one route with no endUserId — no end user is involved.
  • Limits. Up to 96 inputs per call, each at most 8,192 characters.
  • Vector role. input_type: "document" (the default) creates vectors to store. input_type: "query" creates vectors that search them and applies the same current UTC [asked YYYY-MM-DD] conditioning as managed Conare search. DR2E5 is asymmetric: never search with a document vector or store a query vector.
  • Deterministic ordering. Vectors are unit-normalized and returned in input order.
  • Auth. Use the same sk-conare-... platform key as ConareDB in Authorization: Bearer sk-conare-....

Search ConareDB with one key

Use the same server-side sk-conare-... key for both calls. Embed indexed text as document, then embed search text as query and pass that 1024-dimensional vector to the ConareDB vector branch:
The API owns the exact passage: and dated query: prefixes. Send raw text; adding either prefix yourself creates the wrong input.

Model pinning

model is a pin, not a selector. The endpoint serves exactly one model, reported in every response. Pinning any other name returns 400 model_not_served — vectors from a different model are never silently substituted. Pin the model whenever your vectors must stay compatible with an existing index; an unpinned call always gets the currently served model.

Metering

Usage is metered as embed tokens (~4 characters per token) and appears in your platform usage view. Full request/response schema: API Reference.