Source: https://ailoot.ai/docs/nl/cabinet/keys/
Canonical: https://ailoot.ai/docs/nl/cabinet/keys/
Language: nl

[Dashboard-API](https://ailoot.ai/docs/nl/) 

# API-sleutels

[Markdown](https://ailoot.ai/docs/nl/cabinet/keys/index.md)

Methoden, verzoekvelden en antwoorden.

Dit onderdeel bevat 5 methoden. Open een methode om de toegangsvoorwaarden, verzoekvelden en het antwoord te bekijken.

| Methode en pad | Beschrijving | Toegang |
| --- | --- | --- |
| `GET /api/v1/keys` | Lijst — API-sleutels | Dashboardtoken |
| `POST /api/v1/keys` | Een API-sleutel aanmaken | Dashboardtoken |
| `DELETE /api/v1/keys/:id` | Verwijderen — API-sleutels | Dashboardtoken |
| `GET /api/v1/keys/:id` | Ophalen op ID — API-sleutels | Dashboardtoken |
| `PUT /api/v1/keys/:id` | Een API-sleutel wijzigen | Dashboardtoken |

**GET /api/v1/keys** — Lijst — API-sleutels

Toegang: dashboardtoken

GET`/api/v1/keys`

Leesbewerking; de ID komt uit je vorige antwoord

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/keys" \
  -H "Authorization: Bearer $TOKEN"
```

## Queryparameters

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `sort_by` | `string` | nee | ; standaard: created\_at |
| `sort_order` | `string` | nee | ; standaard: desc |
| `search` | `string` | nee |  |
| `status` | `string` | nee |  |
| `page` | `integer` | nee | ; standaard: 1; positief; page\_size/limit \<=1000 |
| `page_size` | `integer` | nee | ; standaard: 20; positief; page\_size/limit \<=1000 |
| `limit` | `integer` | nee | ; standaard: 20; positief; page\_size/limit \<=1000 |

Er is geen verzoekbody nodig. Geef de hierboven genoemde parameters mee in de URL.

## Antwoord

Het JSON-antwoord bevat code, message en data. De inhoud van data wordt beschreven in de schema’s hieronder.

Gegevensschema’s van het antwoord: `APIKey`. Velden en typen staan op de pagina’s “Gegevensschema’s”.

Antwoordschema met voorbeeldwaarden

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "items": [
      {
        "id": "PLACEHOLDER_ID (integer)",
        "user_id": "PLACEHOLDER_USER_ID (integer)",
        "key": "PLACEHOLDER_KEY (string)",
        "name": "PLACEHOLDER_NAME (string)",
        "status": "PLACEHOLDER_STATUS (string)",
        "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
        "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
        "last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
        "last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
        "quota": "PLACEHOLDER_QUOTA (number)",
        "quota_used": "PLACEHOLDER_QUOTA_USED (number)",
        "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
        "created_at": "PLACEHOLDER_CREATED_AT (string)",
        "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
        "current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
        "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
        "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
        "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
        "usage_5h": "PLACEHOLDER_USAGE_5H (number)",
        "usage_1d": "PLACEHOLDER_USAGE_1D (number)",
        "usage_7d": "PLACEHOLDER_USAGE_7D (number)",
        "window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
        "window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
        "window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
        "reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
        "reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
        "reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
        "user": "PLACEHOLDER_USER (object)"
      }
    ],
    "total": "PLACEHOLDER_TOTAL (integer)",
    "page": "PLACEHOLDER_PAGE (integer)",
    "page_size": "PLACEHOLDER_PAGE_SIZE (integer)",
    "pages": "PLACEHOLDER_PAGES (integer)"
  }
}
```

Bijzonderheden: alle persoonsgegevens en objecten zijn beperkt tot het subject van de JWT.

Bijzonderheden: het antwoord bevat de geheime key; publiceer geen echte waarden.

**POST /api/v1/keys** — Een API-sleutel aanmaken

Toegang: dashboardtoken

POST`/api/v1/keys`

## JSON- / formuliervelden

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `name` | `string` | ja | required |
| `custom_key` | `string` | nee | ; Optionele eigen sleutelwaarde; kan null zijn |
| `ip_whitelist` | `array` | nee | ; Lijst met toegestane IP-adressen |
| `ip_blacklist` | `array` | nee | ; Lijst met geblokkeerde IP-adressen |
| `quota` | `number` | nee | ; Bestedingslimiet van de sleutel in USD; kan null zijn |
| `expires_in_days` | `integer` | nee | ; Geldigheidsduur in dagen; kan null zijn |
| `rate_limit_5h` | `number` | nee | ; kan null zijn |
| `rate_limit_1d` | `number` | nee | ; kan null zijn |
| `rate_limit_7d` | `number` | nee | ; kan null zijn |

Sjabloon voor de verzoekbody

```json
{
  "name": "PLACEHOLDER_NAME (string)",
  "custom_key": "PLACEHOLDER_CUSTOM_KEY (string)",
  "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
  "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
  "quota": "PLACEHOLDER_QUOTA (number)",
  "expires_in_days": "PLACEHOLDER_EXPIRES_IN_DAYS (integer)",
  "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
  "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
  "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)"
}
```

PLACEHOLDER geeft jouw invoer en het bijbehorende type aan. Vervang de waarden en behoud alleen de benodigde optionele velden; verstuur stringmarkeringen niet in plaats van getallen, boolean, objecten of arrays.

Verzoekschema: `CreateAPIKeyRequest`

## Antwoord

Het JSON-antwoord bevat code, message en data. De inhoud van data wordt beschreven in de schema’s hieronder.

Gegevensschema’s van het antwoord: `APIKey`. Velden en typen staan op de pagina’s “Gegevensschema’s”.

Antwoordschema met voorbeeldwaarden

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "PLACEHOLDER_ID (integer)",
    "user_id": "PLACEHOLDER_USER_ID (integer)",
    "key": "PLACEHOLDER_KEY (string)",
    "name": "PLACEHOLDER_NAME (string)",
    "status": "PLACEHOLDER_STATUS (string)",
    "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
    "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
    "last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
    "last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
    "quota": "PLACEHOLDER_QUOTA (number)",
    "quota_used": "PLACEHOLDER_QUOTA_USED (number)",
    "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
    "created_at": "PLACEHOLDER_CREATED_AT (string)",
    "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
    "current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
    "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
    "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
    "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
    "usage_5h": "PLACEHOLDER_USAGE_5H (number)",
    "usage_1d": "PLACEHOLDER_USAGE_1D (number)",
    "usage_7d": "PLACEHOLDER_USAGE_7D (number)",
    "window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
    "window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
    "window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
    "reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
    "reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
    "reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
    "user": "PLACEHOLDER_USER (object)"
  }
}
```

Bijzonderheden: alle persoonsgegevens en objecten zijn beperkt tot het subject van de JWT.

Bijzonderheden: de bewerking wijzigt de toestand of zet een eenmalige autorisatie voort; het voorbeeld beschrijft het contract en wordt niet uitgevoerd.

Bijzonderheden: Idempotency-Key wordt ondersteund; een herhaling geeft het opgeslagen antwoord terug met X-Idempotency-Replayed.

Bijzonderheden: het antwoord bevat de geheime key; publiceer geen echte waarden.

De methode wijzigt gegevens. Opnieuw versturen is alleen veilig als bij de methode Idempotency-Key is vermeld. Als het antwoord is verdwenen, controleer dan eerst het resultaat (bijvoorbeeld de sleutellijst) en beslis daarna of je het verzoek opnieuw verstuurt.

**DELETE /api/v1/keys/:id** — Verwijderen — API-sleutels

Toegang: dashboardtoken

DELETE`/api/v1/keys/:id`

## Padparameters

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `id` | `integer` | ja |  |

Er is geen verzoekbody nodig.

## Antwoord

Het JSON-antwoord bevat code, message en data. De inhoud van data wordt beschreven in de schema’s hieronder.

Antwoordschema met voorbeeldwaarden

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "VALUE_FROM_RESPONSE"
  }
}
```

Bijzonderheden: alle persoonsgegevens en objecten zijn beperkt tot het subject van de JWT.

Bijzonderheden: de bewerking wijzigt de toestand of zet een eenmalige autorisatie voort; het voorbeeld beschrijft het contract en wordt niet uitgevoerd.

Bijzonderheden: het antwoord bevat de geheime key; publiceer geen echte waarden.

De methode wijzigt gegevens. Opnieuw versturen is alleen veilig als bij de methode Idempotency-Key is vermeld. Als het antwoord is verdwenen, controleer dan eerst het resultaat (bijvoorbeeld de sleutellijst) en beslis daarna of je het verzoek opnieuw verstuurt.

**GET /api/v1/keys/:id** — Ophalen op ID — API-sleutels

Toegang: dashboardtoken

GET`/api/v1/keys/:id`

Leesbewerking; de ID komt uit je vorige antwoord

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/keys/$ID" \
  -H "Authorization: Bearer $TOKEN"
```

## Padparameters

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `id` | `integer` | ja |  |

Er is geen verzoekbody nodig. Geef de hierboven genoemde parameters mee in de URL.

## Antwoord

Het JSON-antwoord bevat code, message en data. De inhoud van data wordt beschreven in de schema’s hieronder.

Gegevensschema’s van het antwoord: `APIKey`. Velden en typen staan op de pagina’s “Gegevensschema’s”.

Antwoordschema met voorbeeldwaarden

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "PLACEHOLDER_ID (integer)",
    "user_id": "PLACEHOLDER_USER_ID (integer)",
    "key": "PLACEHOLDER_KEY (string)",
    "name": "PLACEHOLDER_NAME (string)",
    "status": "PLACEHOLDER_STATUS (string)",
    "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
    "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
    "last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
    "last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
    "quota": "PLACEHOLDER_QUOTA (number)",
    "quota_used": "PLACEHOLDER_QUOTA_USED (number)",
    "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
    "created_at": "PLACEHOLDER_CREATED_AT (string)",
    "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
    "current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
    "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
    "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
    "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
    "usage_5h": "PLACEHOLDER_USAGE_5H (number)",
    "usage_1d": "PLACEHOLDER_USAGE_1D (number)",
    "usage_7d": "PLACEHOLDER_USAGE_7D (number)",
    "window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
    "window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
    "window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
    "reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
    "reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
    "reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
    "user": "PLACEHOLDER_USER (object)"
  }
}
```

Bijzonderheden: alle persoonsgegevens en objecten zijn beperkt tot het subject van de JWT.

Bijzonderheden: het antwoord bevat de geheime key; publiceer geen echte waarden.

**PUT /api/v1/keys/:id** — Een API-sleutel wijzigen

Toegang: dashboardtoken

PUT`/api/v1/keys/:id`

## Padparameters

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `id` | `integer` | ja |  |

## JSON- / formuliervelden

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `name` | `string` | nee |  |
| `status` | `string` | nee | omitempty,oneof=active inactive |
| `ip_whitelist` | `array` | nee | ; Toegestane IP-adressen: null laat de lijst ongewijzigd, een lege array maakt deze leeg; kan null zijn |
| `ip_blacklist` | `array` | nee | ; Geblokkeerde IP-adressen: null laat de lijst ongewijzigd, een lege array maakt deze leeg; kan null zijn |
| `quota` | `number` | nee | ; Bestedingslimiet van de sleutel in USD; 0 — geen limiet; kan null zijn |
| `expires_at` | `string` | nee | ; Vervaldatum in ISO 8601-formaat; kan null zijn |
| `reset_quota` | `boolean` | nee | ; Het reeds bestede deel van de bestedingslimiet resetten; kan null zijn |
| `rate_limit_5h` | `number` | nee | ; kan null zijn |
| `rate_limit_1d` | `number` | nee | ; kan null zijn |
| `rate_limit_7d` | `number` | nee | ; kan null zijn |
| `reset_rate_limit_usage` | `boolean` | nee | ; De bestedingen binnen de limietvensters resetten; kan null zijn |

Sjabloon voor de verzoekbody

```json
{
  "name": "PLACEHOLDER_NAME (string)",
  "status": "PLACEHOLDER_STATUS (string)",
  "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
  "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
  "quota": "PLACEHOLDER_QUOTA (number)",
  "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
  "reset_quota": "PLACEHOLDER_RESET_QUOTA (boolean)",
  "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
  "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
  "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
  "reset_rate_limit_usage": "PLACEHOLDER_RESET_RATE_LIMIT_USAGE (boolean)"
}
```

PLACEHOLDER geeft jouw invoer en het bijbehorende type aan. Vervang de waarden en behoud alleen de benodigde optionele velden; verstuur stringmarkeringen niet in plaats van getallen, boolean, objecten of arrays.

Verzoekschema: `UpdateAPIKeyRequest`

## Antwoord

Het JSON-antwoord bevat code, message en data. De inhoud van data wordt beschreven in de schema’s hieronder.

Gegevensschema’s van het antwoord: `APIKey`. Velden en typen staan op de pagina’s “Gegevensschema’s”.

Antwoordschema met voorbeeldwaarden

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "id": "PLACEHOLDER_ID (integer)",
    "user_id": "PLACEHOLDER_USER_ID (integer)",
    "key": "PLACEHOLDER_KEY (string)",
    "name": "PLACEHOLDER_NAME (string)",
    "status": "PLACEHOLDER_STATUS (string)",
    "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
    "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
    "last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
    "last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
    "quota": "PLACEHOLDER_QUOTA (number)",
    "quota_used": "PLACEHOLDER_QUOTA_USED (number)",
    "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
    "created_at": "PLACEHOLDER_CREATED_AT (string)",
    "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
    "current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
    "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
    "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
    "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
    "usage_5h": "PLACEHOLDER_USAGE_5H (number)",
    "usage_1d": "PLACEHOLDER_USAGE_1D (number)",
    "usage_7d": "PLACEHOLDER_USAGE_7D (number)",
    "window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
    "window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
    "window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
    "reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
    "reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
    "reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
    "user": "PLACEHOLDER_USER (object)"
  }
}
```

Bijzonderheden: alle persoonsgegevens en objecten zijn beperkt tot het subject van de JWT.

Bijzonderheden: de bewerking wijzigt de toestand of zet een eenmalige autorisatie voort; het voorbeeld beschrijft het contract en wordt niet uitgevoerd.

Bijzonderheden: het antwoord bevat de geheime key; publiceer geen echte waarden.

Bijzonderheden: zolang er onafgeronde verzoeken met een reservering voor de sleutel bestaan, mag de bestedingslimiet niet worden verlaagd of gereset. Geef alleen velden mee die je wijzigt.

De methode wijzigt gegevens. Opnieuw versturen is alleen veilig als bij de methode Idempotency-Key is vermeld. Als het antwoord is verdwenen, controleer dan eerst het resultaat (bijvoorbeeld de sleutellijst) en beslis daarna of je het verzoek opnieuw verstuurt.

Nog vragen? Stuur de Request ID en een beschrijving — we helpen je verder.[Contact opnemen met support](mailto:support@ailoot.ai)

## Ailoot · Het bedrijf en zijn projectenportefeuille





Ailoot bouwt op opgebouwde operationele ervaring, een groot klantenbestand, een stabiele dienst en doorlopende KPI-controle.





Het bedrijf en zijn projectenportefeuille: miljoenen klanten; maandelijkse verkopen in de miljarden.





Ailoot gebruikt die operationele ervaring voor API-toegang tot AI-functies in klantproducten, agents, applicaties en automatiseringen.
