> ## Documentation Index
> Fetch the complete documentation index at: https://docs.conare.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Embeddings-API

> Zustandsloser POST-/api/v1/embeddings-Endpunkt liefert einheitsnormierte Dokumentvektoren aus demselben Modell, mit dem Conare abruft – inklusive Model-Pinning.

```bash theme={null}
curl https://api.conare.ai/api/v1/embeddings \
  -H "Authorization: Bearer $CONARE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": [
      "User prefers smaller islands, wants to avoid crowds.",
      "ASA 104 certified, comfortable with bareboat charters."
    ]
  }'
```

```json theme={null}
{
  "success": true,
  "model": "...",
  "dims": 1024,
  "embeddings": [[0.0132, -0.0087, "..."], ["..."]],
  "usage": { "totalChars": 98, "approxTokens": 25 }
}
```

## Semantik

* **Zustandslos.** Es wird nichts gespeichert, und dies ist die einzige Route ohne `endUserId` – kein Endnutzer ist beteiligt.
* **Limits.** Bis zu 96 Inputs pro Call, jeweils höchstens 8.192 Zeichen.
* **Deterministische Reihenfolge.** Vektoren sind einheitsnormiert und werden in Eingabereihenfolge zurückgegeben.
* **Auth.** Ein `cint_`-Integration-Key mit `memory:read`.

## Model-Pinning

`model` ist ein **Pin, kein Selektor**. Der Endpunkt bedient genau ein Modell, das in jeder Response gemeldet wird. Jeder andere gepinnter Name liefert `400 model_not_served` – Vektoren aus einem anderen Modell werden niemals stillschweigend substituiert. Pinne das Modell immer dann, wenn deine Vektoren kompatibel zu einem bestehenden Index bleiben müssen; ein ungepinnter Call bekommt stets das aktuell bediente Modell.

```json theme={null}
{ "input": ["..."], "model": "the-model-name-from-a-previous-response" }
```

## Metering

Die Nutzung wird als Embed-Tokens gemessen (\~4 Zeichen pro Token) und erscheint in deiner [Plattform-Usage-Ansicht](https://conare.ai/dashboard).

Vollständiges Request-/Response-Schema: [API-Referenz](/api-reference).
