Create embeddings in Cohere's format
/v2/embedCreate embeddings in Cohere's format.
Compatible with Cohere's Embed API (v2): the Cohere SDK works with its base URL set to the gateway. The body is forwarded to Cohere as sent and Cohere's answer is returned in its own format. Only a Cohere credential is accepted here; any other provider's key is a 422 (use POST /v1/embeddings for those).
Authenticate with a Cohere virtual key or with x-provider: cohere and x-api-key. The key's checks, the plan's limits and the organization's approved-provider policy (403) apply. INPUT guardrails run over texts and the text items of inputs; a REDACT changes what is embedded and a BLOCK is a 422. x-cache-mode: simple serves an identical earlier request from the cache; semantic is not used. You are charged for Cohere's billed input tokens at the model's input rate (x-operation-cost-usd). Without x-retry-count a failed call is retried up to 3 times on 429 and 5xx. Cohere's own errors are returned unchanged. A request without model is a 400.
Authorization
AuthorizationBearer <slug>.<secret>A virtual key's API key (
vk-....<secret>), asAuthorization: Bearer. What the OpenAI SDK sends from itsapi_key. Used by the inference endpoints.- or
x-virtual-keyheaderA virtual key's API key in the
x-virtual-keyheader, for clients that keepAuthorizationfor something else. - or
x-api-keyheaderDirect credentials: the provider's own API key in
x-api-key, with the provider named inx-provider(for exampleopenai). On/v1/messagesa virtual key is accepted inx-api-keytoo, which is what the Claude SDK sends.
Headers
x-providerstringWith direct credentials: the provider
x-api-keybelongs to, for exampleopenaioranthropic(case and dashes are normalised). Not used with a virtual key.x-cache-modestringTurns on the response cache for this request:
simple(exact match) orsemantic(a similar earlier request). Without it nothing is read from or written to the cache. The outcome is in thex-cache-statusresponse header.x-cache-ttlinteger<int32>How long, in seconds, a response stored by this request stays in the cache. When the organization has a cache TTL set, this can shorten it but not extend it.
x-cache-force-refreshbooleantrueskips the cache lookup, calls the provider and replaces the stored response (x-cache-status: REFRESH).x-retry-countinteger<int32>How many times to retry a failed provider call, 0 to 5. Without the header, chat completions, Claude Messages and prompt completions do not retry, and the other endpoints retry up to 3 times. Retries back off exponentially from 1 second and honour a numeric
Retry-After. The number made is in thex-retry-countresponse header.x-retry-status-codesstringComma-separated provider status codes to retry on. Default
429,500,502,503,504,529.x-guardrailstringA guardrail slug (
gr-...) to apply to this request, in addition to any the virtual key carries. A BLOCK is a 422 withx-guardrail-status: BLOCK.x-request-timeout-msinteger<int32>How long to wait for the provider, in milliseconds, before giving up (at most 3600000, one hour).