# Authentifizierung

> Index of the TerraLab docs for agents: [llms.txt](https://terra-lab.ai/docs/llms.txt). Every docs page is also served as markdown: add .md to its URL.

Jeder Aufruf braucht ein TerraLab-Konto, außer den zwei öffentlichen Dokumenten: [`/v1/openapi.json`](https://mcp.terra-lab.ai/v1/openapi.json) und [`/v1/meta/pricing`](https://mcp.terra-lab.ai/v1/meta/pricing). Es gibt zwei Wege, das Konto zu übermitteln: einen API-Key für Code, OAuth 2.1 für Agenten.

## API-Keys

Nutzen Sie einen Key für Skripte, Back-ends und Notebooks, also überall dort, wo sich kein Browser für die Anmeldung öffnen lässt.

1. Melden Sie sich unter [terra-lab.ai/login](https://terra-lab.ai/de/login) an.
2. Öffnen Sie [Dashboard, MCP](https://terra-lab.ai/de/dashboard/mcp), dann **Advanced**, **API keys**.
3. Benennen Sie den Key, akzeptieren Sie die API-Bedingungen und klicken Sie auf **Create key**.
4. Kopieren Sie ihn sofort. Ein Key beginnt mit `tlk_`, gefolgt von 48 Hexadezimalzeichen, und wird nur einmal angezeigt: TerraLab speichert einen Hash, nie den Key.

Senden Sie ihn im Header `Authorization`:

```bash
curl https://mcp.terra-lab.ai/v1/me \
  -H "Authorization: Bearer $TERRALAB_API_KEY"
```

Keys laufen nicht ab, und ein Konto kann bis zu 20 aktive Keys halten. Mit **Revoke** auf derselben Seite widerrufen Sie einen Key, wenn er geleakt wurde oder ein Projekt endet: Der nächste Aufruf damit antwortet mit `401`. Aufrufe mit einem Key zählen zum Konto, das ihn erstellt hat.

Halten Sie Keys aus der Versionsverwaltung, aus Front-end-Code und aus Screenshots heraus. Lesen Sie sie aus einer Umgebungsvariable oder einem Secret-Manager.

## OAuth 2.1 für Agenten

KI-Agenten melden sich an, statt einen Key zu nutzen. Wenn ein Agent `https://mcp.terra-lab.ai/mcp` zum ersten Mal ohne Token aufruft, antwortet der Server mit `401` und einem `WWW-Authenticate`-Header, der auf seine Metadaten verweist, und der Agent öffnet die TerraLab-Anmeldung in Ihrem Browser. Sie bestätigen einmal; der Agent hält danach ein Token.

| Was | Wert |
| --- | --- |
| Metadaten der geschützten Ressource | `https://mcp.terra-lab.ai/.well-known/oauth-protected-resource` |
| Autorisierungsserver | `https://terra-lab.ai` |
| Server-Metadaten | `https://terra-lab.ai/.well-known/oauth-authorization-server` |
| Grant | Authorization Code mit PKCE (`S256`), öffentliche Clients |
| Client-Registrierung | Dynamische Registrierung oder ein Client-ID-Metadatendokument |
| Scope | `data` |
| Lebensdauer des Access-Tokens | 1 Stunde, erneuert mit einem Refresh-Token, das 30 Tage gilt |

Die meisten Agenten erledigen all das selbst: Sie fügen nur die Server-URL ein. Siehe [MCP-Server](https://terra-lab.ai/de/docs/mcp).

Ein OAuth-Access-Token funktioniert auch bei der REST API, als Bearer-Token im selben Header.

## Einen Agenten trennen

[Dashboard, MCP](https://terra-lab.ai/de/dashboard/mcp) listet Ihre **Connected apps**. **Disconnect** widerruft den Zugriff dieser App: Ihr nächster Aufruf antwortet mit `401` und `access_revoked`.

Source: https://terra-lab.ai/de/docs/authentication · Updated 2026-10-27
