Source: https://ailoot.ai/docs/de-at/cabinet/keys/
Canonical: https://ailoot.ai/docs/de-at/cabinet/keys/
Language: de-at

[API des Kundenbereichs](https://ailoot.ai/docs/de-at/) 

# API-Schlüssel

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

Methoden, Request-Felder und Antworten.

Dieser Abschnitt enthält 5 Methoden. Öffnen Sie eine Methode, um Zugriffsbedingungen, Request-Felder und Antwort einzusehen.

| Methode und Pfad | Beschreibung | Zugriff |
| --- | --- | --- |
| `GET /api/v1/keys` | Liste — API-Schlüssel | Token des Kundenbereichs |
| `POST /api/v1/keys` | API-Schlüssel erstellen | Token des Kundenbereichs |
| `DELETE /api/v1/keys/:id` | Löschen — API-Schlüssel | Token des Kundenbereichs |
| `GET /api/v1/keys/:id` | Nach ID abrufen — API-Schlüssel | Token des Kundenbereichs |
| `PUT /api/v1/keys/:id` | API-Schlüssel ändern | Token des Kundenbereichs |

**GET /api/v1/keys** — Liste — API-Schlüssel

Zugriff: Token des Kundenbereichs

GET`/api/v1/keys`

Lesezugriff; die ID stammt aus Ihrer vorherigen Antwort

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

## Query-Parameter

| Das Feld | Typ | Erforderlich | Validierung / Beschreibung |
| --- | --- | --- | --- |
| `sort_by` | `string` | nein | ; standardmäßig: created\_at |
| `sort_order` | `string` | nein | ; standardmäßig: desc |
| `search` | `string` | nein |  |
| `status` | `string` | nein |  |
| `page` | `integer` | nein | ; standardmäßig: 1; positive; page\_size/limit \<=1000 |
| `page_size` | `integer` | nein | ; standardmäßig: 20; positive; page\_size/limit \<=1000 |
| `limit` | `integer` | nein | ; standardmäßig: 20; positive; page\_size/limit \<=1000 |

Ein Request-Body ist nicht erforderlich. Übergeben Sie die oben genannten Parameter in der URL.

## Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den nachfolgenden Schemata beschrieben.

Datenschemata der Antwort: `APIKey`. Felder und Typen finden Sie auf den Seiten „Datenschemata“.

Antwortschema mit beispielhaften Werten

```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)"
  }
}
```

Besonderheiten: Alle personenbezogenen Daten und Objekte sind auf das Subjekt des JWT beschränkt.

Besonderheiten: Die Antwort enthält den geheimen key; veröffentlichen Sie keine echten Werte.

**POST /api/v1/keys** — API-Schlüssel erstellen

Zugriff: Token des Kundenbereichs

POST`/api/v1/keys`

## JSON- / Formularfelder

| Das Feld | Typ | Erforderlich | Validierung / Beschreibung |
| --- | --- | --- | --- |
| `name` | `string` | ja | required |
| `custom_key` | `string` | nein | ; Optionaler eigener Schlüsselwert; kann null sein |
| `ip_whitelist` | `array` | nein | ; Liste erlaubter IP-Adressen |
| `ip_blacklist` | `array` | nein | ; Liste gesperrter IP-Adressen |
| `quota` | `number` | nein | ; Ausgabenlimit des Schlüssels in USD; kann null sein |
| `expires_in_days` | `integer` | nein | ; Gültigkeitsdauer in Tagen; kann null sein |
| `rate_limit_5h` | `number` | nein | ; kann null sein |
| `rate_limit_1d` | `number` | nein | ; kann null sein |
| `rate_limit_7d` | `number` | nein | ; kann null sein |

Vorlage für den Request-Body

```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 steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; String-Platzhalter dürfen nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet werden.

Request-Schema: `CreateAPIKeyRequest`

## Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den nachfolgenden Schemata beschrieben.

Datenschemata der Antwort: `APIKey`. Felder und Typen finden Sie auf den Seiten „Datenschemata“.

Antwortschema mit beispielhaften Werten

```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)"
  }
}
```

Besonderheiten: Alle personenbezogenen Daten und Objekte sind auf das Subjekt des JWT beschränkt.

Besonderheiten: Der Vorgang ändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

Besonderheiten: Idempotency-Key wird unterstützt; eine Wiederholung liefert die gespeicherte Antwort mit X-Idempotency-Replayed.

Besonderheiten: Die Antwort enthält den geheimen key; veröffentlichen Sie keine echten Werte.

Die Methode ändert Daten. Erneutes Senden ist nur sicher, wenn bei der Methode Idempotency-Key angegeben ist. Geht die Antwort verloren, prüfen Sie zuerst das Ergebnis (zum Beispiel die Schlüsselliste) und entscheiden Sie erst dann über eine Wiederholung.

**DELETE /api/v1/keys/:id** — Löschen — API-Schlüssel

Zugriff: Token des Kundenbereichs

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

## Pfadparameter

| Das Feld | Typ | Erforderlich | Validierung / Beschreibung |
| --- | --- | --- | --- |
| `id` | `integer` | ja |  |

Ein Request-Body ist nicht erforderlich.

## Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den nachfolgenden Schemata beschrieben.

Antwortschema mit beispielhaften Werten

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

Besonderheiten: Alle personenbezogenen Daten und Objekte sind auf das Subjekt des JWT beschränkt.

Besonderheiten: Der Vorgang ändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

Besonderheiten: Die Antwort enthält den geheimen key; veröffentlichen Sie keine echten Werte.

Die Methode ändert Daten. Erneutes Senden ist nur sicher, wenn bei der Methode Idempotency-Key angegeben ist. Geht die Antwort verloren, prüfen Sie zuerst das Ergebnis (zum Beispiel die Schlüsselliste) und entscheiden Sie erst dann über eine Wiederholung.

**GET /api/v1/keys/:id** — Nach ID abrufen — API-Schlüssel

Zugriff: Token des Kundenbereichs

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

Lesezugriff; die ID stammt aus Ihrer vorherigen Antwort

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

## Pfadparameter

| Das Feld | Typ | Erforderlich | Validierung / Beschreibung |
| --- | --- | --- | --- |
| `id` | `integer` | ja |  |

Ein Request-Body ist nicht erforderlich. Übergeben Sie die oben genannten Parameter in der URL.

## Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den nachfolgenden Schemata beschrieben.

Datenschemata der Antwort: `APIKey`. Felder und Typen finden Sie auf den Seiten „Datenschemata“.

Antwortschema mit beispielhaften Werten

```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)"
  }
}
```

Besonderheiten: Alle personenbezogenen Daten und Objekte sind auf das Subjekt des JWT beschränkt.

Besonderheiten: Die Antwort enthält den geheimen key; veröffentlichen Sie keine echten Werte.

**PUT /api/v1/keys/:id** — API-Schlüssel ändern

Zugriff: Token des Kundenbereichs

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

## Pfadparameter

| Das Feld | Typ | Erforderlich | Validierung / Beschreibung |
| --- | --- | --- | --- |
| `id` | `integer` | ja |  |

## JSON- / Formularfelder

| Das Feld | Typ | Erforderlich | Validierung / Beschreibung |
| --- | --- | --- | --- |
| `name` | `string` | nein |  |
| `status` | `string` | nein | omitempty,oneof=active inactive |
| `ip_whitelist` | `array` | nein | ; Erlaubte IP-Adressen: null lässt die Liste unverändert, ein leeres Array leert sie; kann null sein |
| `ip_blacklist` | `array` | nein | ; Gesperrte IP-Adressen: null lässt die Liste unverändert, ein leeres Array leert sie; kann null sein |
| `quota` | `number` | nein | ; Ausgabenlimit des Schlüssels in USD; 0 — ohne Limit; kann null sein |
| `expires_at` | `string` | nein | ; Ablaufzeitpunkt im Format ISO 8601; kann null sein |
| `reset_quota` | `boolean` | nein | ; Verbrauchten Anteil des Ausgabenlimits zurücksetzen; kann null sein |
| `rate_limit_5h` | `number` | nein | ; kann null sein |
| `rate_limit_1d` | `number` | nein | ; kann null sein |
| `rate_limit_7d` | `number` | nein | ; kann null sein |
| `reset_rate_limit_usage` | `boolean` | nein | ; Verbrauch der Zeitfensterlimits zurücksetzen; kann null sein |

Vorlage für den Request-Body

```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 steht für Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder; String-Platzhalter dürfen nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet werden.

Request-Schema: `UpdateAPIKeyRequest`

## Antwort

Die JSON-Antwort enthält code, message und data. Der Inhalt von data wird in den nachfolgenden Schemata beschrieben.

Datenschemata der Antwort: `APIKey`. Felder und Typen finden Sie auf den Seiten „Datenschemata“.

Antwortschema mit beispielhaften Werten

```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)"
  }
}
```

Besonderheiten: Alle personenbezogenen Daten und Objekte sind auf das Subjekt des JWT beschränkt.

Besonderheiten: Der Vorgang ändert den Zustand oder setzt eine einmalige Authentifizierung fort; das Beispiel beschreibt den Vertrag und wird nicht ausgeführt.

Besonderheiten: Die Antwort enthält den geheimen key; veröffentlichen Sie keine echten Werte.

Besonderheiten: Solange für den Schlüssel nicht abgeschlossene Requests mit Reservierungen bestehen, darf sein Ausgabenlimit weder gesenkt noch zurückgesetzt werden. Übergeben Sie nur die Felder, die Sie ändern.

Die Methode ändert Daten. Erneutes Senden ist nur sicher, wenn bei der Methode Idempotency-Key angegeben ist. Geht die Antwort verloren, prüfen Sie zuerst das Ergebnis (zum Beispiel die Schlüsselliste) und entscheiden Sie erst dann über eine Wiederholung.

Noch Fragen? Senden Sie uns die Request ID und eine Beschreibung — wir helfen Ihnen weiter.[Support kontaktieren](mailto:support@ailoot.ai)

## Ailoot · Das Unternehmen und sein Projektportfolio





Ailoot baut auf bewährte Betriebserfahrung, einen großen Kundenstamm, stabilen Service und kontinuierliche KPI-Kontrolle.





Das Unternehmen und sein Projektportfolio: Millionen von Kunden; monatliche Umsätze in Milliardenhöhe.





Ailoot nutzt diese Betriebserfahrung für den API-Zugang zu KI-Funktionen in Kundenprodukten, Agenten, Anwendungen und Automatisierungen.
