Doku
API des Kundenbereichs

API-Schlüssel

Markdown

Methoden, Request-Felder und Antworten.

Vollständiger Leitfaden

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

Methode und PfadBeschreibungZugriff
GET /api/v1/keysListe — API-SchlüsselToken des Kundenbereichs
POST /api/v1/keysAPI-Schlüssel erstellenToken des Kundenbereichs
DELETE /api/v1/keys/:idLöschen — API-SchlüsselToken des Kundenbereichs
GET /api/v1/keys/:idNach ID abrufen — API-SchlüsselToken des Kundenbereichs
PUT /api/v1/keys/:idAPI-Schlüssel ändernToken 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
curl --fail-with-body "https://ailoot.ai/api/v1/keys" \
  -H "Authorization: Bearer $TOKEN"

Query-Parameter

Das FeldTypErforderlichValidierung / Beschreibung
sort_bystringnein; standardmäßig: created_at
sort_orderstringnein; standardmäßig: desc
searchstringnein
statusstringnein
pageintegernein; standardmäßig: 1; positive; page_size/limit <=1000
page_sizeintegernein; standardmäßig: 20; positive; page_size/limit <=1000
limitintegernein; 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
{
  "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 FeldTypErforderlichValidierung / Beschreibung
namestringjarequired
custom_keystringnein; Optionaler eigener Schlüsselwert; kann null sein
ip_whitelistarraynein; Liste erlaubter IP-Adressen
ip_blacklistarraynein; Liste gesperrter IP-Adressen
quotanumbernein; Ausgabenlimit des Schlüssels in USD; kann null sein
expires_in_daysintegernein; Gültigkeitsdauer in Tagen; kann null sein
rate_limit_5hnumbernein; kann null sein
rate_limit_1dnumbernein; kann null sein
rate_limit_7dnumbernein; kann null sein
Vorlage für den Request-Body
{
  "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
{
  "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.

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

Zugriff: Token des Kundenbereichs

DELETE/api/v1/keys/:id

Pfadparameter

Das FeldTypErforderlichValidierung / Beschreibung
idintegerja

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
{
  "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.

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
curl --fail-with-body "https://ailoot.ai/api/v1/keys/$ID" \
  -H "Authorization: Bearer $TOKEN"

Pfadparameter

Das FeldTypErforderlichValidierung / Beschreibung
idintegerja

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
{
  "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 FeldTypErforderlichValidierung / Beschreibung
idintegerja

JSON- / Formularfelder

Das FeldTypErforderlichValidierung / Beschreibung
namestringnein
statusstringneinomitempty,oneof=active inactive
ip_whitelistarraynein; Erlaubte IP-Adressen: null lässt die Liste unverändert, ein leeres Array leert sie; kann null sein
ip_blacklistarraynein; Gesperrte IP-Adressen: null lässt die Liste unverändert, ein leeres Array leert sie; kann null sein
quotanumbernein; Ausgabenlimit des Schlüssels in USD; 0 — ohne Limit; kann null sein
expires_atstringnein; Ablaufzeitpunkt im Format ISO 8601; kann null sein
reset_quotabooleannein; Verbrauchten Anteil des Ausgabenlimits zurücksetzen; kann null sein
rate_limit_5hnumbernein; kann null sein
rate_limit_1dnumbernein; kann null sein
rate_limit_7dnumbernein; kann null sein
reset_rate_limit_usagebooleannein; Verbrauch der Zeitfensterlimits zurücksetzen; kann null sein
Vorlage für den Request-Body
{
  "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
{
  "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.

Noch Fragen? Senden Sie uns die Request ID und eine Beschreibung — wir helfen Ihnen weiter.Support kontaktieren