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

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

# API-Schlüssel

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

Methoden, Anfragefelder und Antworten.

Dieser Bereich enthält 5 Methoden. Öffnen Sie eine Methode, um Zugriffsbedingungen, Anfragefelder 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` | Abruf anhand der ID — 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 | ; Standard: created\_at |
| `sort_order` | `string` | nein | ; Standard: desc |
| `search` | `string` | nein |  |
| `status` | `string` | nein |  |
| `page` | `integer` | nein | ; Standard: 1; positive; page\_size/limit \<=1000 |
| `page_size` | `integer` | nein | ; Standard: 20; positive; page\_size/limit \<=1000 |
| `limit` | `integer` | nein | ; Standard: 20; positive; page\_size/limit \<=1000 |

Kein Anfragekörper erforderlich. Übermitteln 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 folgenden Schemata beschrieben.

Datenschemata der Antwort: `APIKey`. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten

```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 Anfragekörper

```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; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: `CreateAPIKeyRequest`

## Antwort

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

Datenschemata der Antwort: `APIKey`. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten

```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 Operation verä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 gibt die gespeicherte Antwort mit X-Idempotency-Replayed zurück.

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

Die Methode verändert Daten. Ein 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), bevor Sie über eine Wiederholung entscheiden.

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

Kein Anfragekörper erforderlich.

## Antwort

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

Antwortschema mit Beispielwerten

```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: Die Operation verä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 verändert Daten. Ein 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), bevor Sie über eine Wiederholung entscheiden.

**GET /api/v1/keys/:id** — Abruf anhand der ID — 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 |  |

Kein Anfragekörper erforderlich. Übermitteln 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 folgenden Schemata beschrieben.

Datenschemata der Antwort: `APIKey`. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten

```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 ändert die Liste nicht, ein leeres Array leert sie; kann null sein |
| `ip_blacklist` | `array` | nein | ; Gesperrte IP-Adressen: null ändert die Liste nicht, ein leeres Array leert sie; kann null sein |
| `quota` | `number` | nein | ; Ausgabenlimit des Schlüssels in USD; 0 — unbegrenzt; 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 Anfragekörper

```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; Zeichenfolgenmarker werden nicht anstelle von Zahlen, boolean, Objekten oder Arrays gesendet.

Anfrageschema: `UpdateAPIKeyRequest`

## Antwort

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

Datenschemata der Antwort: `APIKey`. Felder und Typen stehen auf den Seiten «Datenschemata».

Antwortschema mit Beispielwerten

```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 Operation verä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 laufende Anfragen mit Reservierung bestehen, darf sein Ausgabenlimit weder reduziert noch zurückgesetzt werden. Übermitteln Sie nur die Felder, die Sie ändern.

Die Methode verändert Daten. Ein 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), bevor Sie über eine Wiederholung entscheiden.

Noch Fragen? Schicken 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.
