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

# Authenticatie

> Hoe je verzoeken aan de RiDERgy API's authenticeert

## OAuth 2.0 (client credentials)

De Energy Management API gebruikt de **OAuth 2.0 client\_credentials**-flow.
Elk endpoint, behalve `GET /health` en `POST /oauth/token`, vereist een
Bearer-token:

### 1. Maak inloggegevens aan

Maak OAuth-clientgegevens (`client_id` en `client_secret`) aan in het
**RiDERgy dashboard**. Neem contact op met RiDERgy om de Energy Management
API voor je account te activeren. Zonder activering mislukken verzoeken met
`403 FEATURE_NOT_ENABLED`.

### 2. Wissel in voor een toegangstoken

```bash theme={null}
curl -X POST https://api.ridergy.com/v1/oauth/token \
  -H "Content-Type: application/json" \
  -d '{
    "grant_type": "client_credentials",
    "client_id": "YOUR_CLIENT_ID",
    "client_secret": "YOUR_CLIENT_SECRET"
  }'
```

```json theme={null}
{
  "access_token": "eyJhbGciOiJIUzI1NiIs...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "locations:read locations:write clusters:read clusters:write chargers:write org:write"
}
```

Tokens verlopen na **3600 seconden** (1 uur). Vraag een nieuw token aan
voordat het huidige verloopt.

Je kunt inloggegevens ook doorgeven via `Authorization: Basic base64(client_id:client_secret)`
met `grant_type=client_credentials` in de body (RFC 6749).

### 3. Gebruik het token

Geef het token door als `Authorization: Bearer <token>` bij elk verzoek:

```bash theme={null}
curl https://api.ridergy.com/v1/locations/3632155/limits \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
```

* Je **tenant** is ingebed in het token en kan niet vervalst worden.
  Inloggegevens van de ene tenant hebben geen toegang tot de data van een
  andere tenant.
* Een verlopen of ongeldig token geeft `401 UNAUTHORIZED` terug.
* Een token zonder de vereiste scope geeft `403 INSUFFICIENT_SCOPE` terug.

## Scopes

Tokens dragen scopes die bepalen welke endpoints toegankelijk zijn:

| Scope | Toegang |
| - | - |
| `locations:read` | Locatielimieten en profielen lezen |
| `locations:write` | Locatielimieten en schema's instellen |
| `clusters:read` | Clusters weergeven en bekijken |
| `clusters:write` | Clusters en clusterschema's aanmaken, bijwerken, verwijderen |
| `chargers:write` | Vergrendelingsschema's op laadpuntniveau aanmaken |
| `org:write` | Organisatie-brede schema's aanmaken |

Verzoeken aan endpoints die een scope vereisen die het token niet heeft,
mislukken met `403 INSUFFICIENT_SCOPE`.

## De "Try it"-playground gebruiken

Elke endpointpagina in de **API Reference** heeft een paneel waar je je
Bearer-token kunt plakken en een echt verzoek naar de productie-API kunt
sturen. De reacties die daar getoond worden komen van het live systeem.


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