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

# Authentifizierung

> Verwende API-Schlüssel, um jede Anfrage an Phaseo Gateway zu authentifizieren.

Erstelle einen Schlüssel im [Dashboard](https://phaseo.app/gateway/keys), speichere ihn auf deinem Server und sende ihn als Bearer-Token mit Gateway-Anfragen.

***

## Schlüsseltypen

* **Gateway-API-Schlüssel** rufen Modell-, Anbieter- und Generierungsendpunkte auf, die für deinen Workspace verfügbar sind.
* **Management-API-Schlüssel** rufen Verwaltungs-APIs auf. Siehe [Management-API-Schlüssel](./management-api-keys.mdx).

Rotiere einen Schlüssel, indem du deine Anwendung vor dem Ungültigmachen der alten Zugangsdaten auf den Ersatzschlüssel umstellst. Siehe den [Endpunkt zur Schlüsselrotation](../api-reference/endpoint/keys-rotate.mdx).

Schlüssel haben das Format `phaseo_v1_sk_<kid>_<secret>`. Behandle sie wie Passwörter und speichere sie weder im clientseitigen Code noch in öffentlichen Repositories.

<Note>
  Du kannst `:free`-Modelle ohne eingezahltes Guthaben aufrufen. Kostenpflichtige Modelle erfordern verfügbares Wallet-Guthaben.
</Note>

***

## Header-Format

Füge den Schlüssel bei jeder Anfrage in den `Authorization`-Header ein:

```http theme={null}
Authorization: Bearer phaseo_v1_sk_<kid>_<secret>
```

Die meisten HTTP-Clients erlauben es, den Header einmalig festzulegen. Zum Beispiel mit `fetch`:

```ts theme={null}
const response = await fetch("https://api.phaseo.app/v1/chat/completions", {
	method: "POST",
	headers: {
		Authorization: `Bearer ${process.env.PHASEO_API_KEY}`,
		"Content-Type": "application/json",
	},
	body: JSON.stringify({
		model: "openai/gpt-5-nano",
		messages: [
			{ role: "system", content: "You are a helpful assistant." },
			{
				role: "user",
				content: "Summarize the drawbacks to AI.",
			},
		],
	}),
});
```

***

## Checkliste für den Umgang mit Schlüsseln

| Vorgehensweise | Warum das wichtig ist |
| - | - |
| Verwende einen Schlüssel pro App | So kannst du ihn rotieren, ohne andere Dienste zu beeinträchtigen. |
| Speichere Schlüssel sicher | Secrets-Manager verhindern, dass Schlüssel versehentlich in Logs oder Fehlertracking-Systemen offengelegt werden. |
| Überwache die Nutzung | Das Dashboard zeigt Kennzahlen für jeden Schlüssel, damit du Anomalien schnell erkennst. |
| Entferne ungenutzte Schlüssel | Das Löschen veralteter Schlüssel verringert die Angriffsfläche für möglichen Missbrauch. |

***

## Häufige Authentifizierungsfehler

* **401 Nicht autorisiert**: Der Schlüssel fehlt, ist ungültig oder gehört zu einem deaktivierten Workspace.
* **403 Verboten**: Der Schlüssel ist vorhanden, kann aber nicht auf den angeforderten Anbieter oder das Modell zugreifen.
* **429 Too Many Requests**: Der Schlüssel oder Workspace hat ein Limit überschritten. Siehe [Anfragelimits](../api-reference/limits.mdx).
* **5xx-Fehler**: Versuche es mit exponentiellem Backoff erneut und wende dich an den [Support](https://phaseo.app/help), falls das Problem weiterhin besteht.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.