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

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

# API-Schlüssel

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

Methoden, Anfragefelder und Antworten.

Dieser Abschnitt enthält 5 Methoden. Öffnen Sie eine Methode, um Zugriffsbedingungen, Anfragefelder und Antwort zu sehen.

| 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 Kennung 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 | Prüfung / 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 Anfrageinhalt ist nicht 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)"
  }
}
```

Besonderheit: Alle personenbezogenen Daten und Objekte sind auf das JWT-Subjekt beschränkt.

Besonderheit: 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 | Prüfung / 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 Anfrageinhalt

```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 kennzeichnet Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder bei. 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)"
  }
}
```

Besonderheit: Alle personenbezogenen Daten und Objekte sind auf das JWT-Subjekt beschränkt.

Besonderheit: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort. Das Beispiel beschreibt den API-Kontrakt und wird nicht ausgeführt.

Besonderheit: Idempotency-Key wird unterstützt. Eine Wiederholung liefert die gespeicherte Antwort mit X-Idempotency-Replayed.

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

Die Methode verändert Daten. Ein erneuter Versand ist nur dort sicher, wo bei der Methode Idempotency-Key angegeben ist. Geht die Antwort verloren, prüfen Sie zuerst das Ergebnis, etwa die Schlüsselliste, und entscheiden Sie erst danach, ob Sie die Anfrage wiederholen.

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

Zugriff: Token des Kundenbereichs

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

## Pfadparameter

| Das Feld | Typ | Erforderlich | Prüfung / Beschreibung |
| --- | --- | --- | --- |
| `id` | `integer` | ja |  |

Ein Anfrageinhalt ist nicht 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"
  }
}
```

Besonderheit: Alle personenbezogenen Daten und Objekte sind auf das JWT-Subjekt beschränkt.

Besonderheit: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort. Das Beispiel beschreibt den API-Kontrakt und wird nicht ausgeführt.

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

Die Methode verändert Daten. Ein erneuter Versand ist nur dort sicher, wo bei der Methode Idempotency-Key angegeben ist. Geht die Antwort verloren, prüfen Sie zuerst das Ergebnis, etwa die Schlüsselliste, und entscheiden Sie erst danach, ob Sie die Anfrage wiederholen.

**GET /api/v1/keys/:id** — Nach Kennung 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 | Prüfung / Beschreibung |
| --- | --- | --- | --- |
| `id` | `integer` | ja |  |

Ein Anfrageinhalt ist nicht 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)"
  }
}
```

Besonderheit: Alle personenbezogenen Daten und Objekte sind auf das JWT-Subjekt beschränkt.

Besonderheit: 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 | Prüfung / Beschreibung |
| --- | --- | --- | --- |
| `id` | `integer` | ja |  |

## JSON- / Formularfelder

| Das Feld | Typ | Erforderlich | Prüfung / 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 bedeutet kein Limit; kann null sein |
| `expires_at` | `string` | nein | ; Gültigkeitsende im Format ISO 8601; kann null sein |
| `reset_quota` | `boolean` | nein | ; Bereits 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 | ; Bereits verbrauchte Beträge der Zeitfensterlimits zurücksetzen; kann null sein |

Vorlage für den Anfrageinhalt

```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 kennzeichnet Ihre Eingabe und deren Typ. Ersetzen Sie die Werte und behalten Sie nur die benötigten optionalen Felder bei. 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)"
  }
}
```

Besonderheit: Alle personenbezogenen Daten und Objekte sind auf das JWT-Subjekt beschränkt.

Besonderheit: Die Operation verändert den Zustand oder setzt eine einmalige Authentifizierung fort. Das Beispiel beschreibt den API-Kontrakt und wird nicht ausgeführt.

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

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

Die Methode verändert Daten. Ein erneuter Versand ist nur dort sicher, wo bei der Methode Idempotency-Key angegeben ist. Geht die Antwort verloren, prüfen Sie zuerst das Ergebnis, etwa die Schlüsselliste, und entscheiden Sie erst danach, ob Sie die Anfrage wiederholen.

Noch Fragen? Senden Sie uns die Request ID und eine Beschreibung, damit wir Ihnen weiterhelfen können.[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.
