# Authenticatie

> 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.

Elke aanroep heeft een TerraLab-account nodig, behalve de twee openbare documenten: [`/v1/openapi.json`](https://mcp.terra-lab.ai/v1/openapi.json) en [`/v1/meta/pricing`](https://mcp.terra-lab.ai/v1/meta/pricing). Je kunt dat op twee manieren meesturen: een API-sleutel voor code, OAuth 2.1 voor agents.

## API-sleutels

Gebruik een sleutel voor scripts, back-ends en notebooks, alles wat geen browser kan openen om in te loggen.

1. Log in op [terra-lab.ai/login](https://terra-lab.ai/nl/login).
2. Open [Dashboard, MCP](https://terra-lab.ai/nl/dashboard/mcp), dan **Advanced**, **API keys**.
3. Geef de sleutel een naam, accepteer de API-voorwaarden en klik op **Create key**.
4. Kopieer hem meteen. Een sleutel begint met `tlk_`, gevolgd door 48 hexadecimale tekens, en wordt maar één keer getoond: TerraLab bewaart een hash, nooit de sleutel zelf.

Stuur hem mee in de `Authorization`-header:

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

Sleutels verlopen niet, en een account kan maximaal 20 actieve sleutels hebben. Trek een sleutel in met **Revoke** op dezelfde pagina als hij uitlekt of een project eindigt: de volgende aanroep ermee geeft `401`. Aanroepen met een sleutel tellen mee voor het account dat hem heeft gemaakt.

Houd sleutels buiten versiebeheer, front-endcode en screenshots. Lees ze uit een omgevingsvariabele of een secret manager.

## OAuth 2.1 voor agents

AI-agents loggen in in plaats van een sleutel te gebruiken. Als een agent voor het eerst `https://mcp.terra-lab.ai/mcp` aanroept zonder token, antwoordt de server met `401` en een `WWW-Authenticate`-header die naar de metadata verwijst, en de agent opent de TerraLab-login in je browser. Je keurt één keer goed; daarna heeft de agent een token.

| Wat | Waarde |
| --- | --- |
| Metadata van de beveiligde resource | `https://mcp.terra-lab.ai/.well-known/oauth-protected-resource` |
| Autorisatieserver | `https://terra-lab.ai` |
| Servermetadata | `https://terra-lab.ai/.well-known/oauth-authorization-server` |
| Grant | Authorization code met PKCE (`S256`), publieke clients |
| Clientregistratie | Dynamische registratie, of een client ID metadata document |
| Scope | `data` |
| Geldigheid van het access token | 1 uur, vernieuwd met een refresh token dat 30 dagen geldig is |

De meeste agents regelen dit allemaal zelf: je plakt alleen de server-URL. Zie [MCP-server](https://terra-lab.ai/nl/docs/mcp).

Een OAuth-access token werkt ook op de REST API, als Bearer-token in dezelfde header.

## Een agent loskoppelen

[Dashboard, MCP](https://terra-lab.ai/nl/dashboard/mcp) toont je **Connected apps**. Met **Disconnect** trek je de toegang van die app in: de volgende aanroep geeft `401` met `access_revoked`.

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