Doku
API des Kundenbereichs

API-Schlüssel

Markdown

Methoden, Anfragefelder und Antworten.

Vollständiger Leitfaden

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

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 Kennung 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 FeldTypErforderlichPrüfung / 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 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
{
  "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 FeldTypErforderlichPrüfung / 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 Anfrageinhalt
{
  "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
{
  "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.

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

Zugriff: Token des Kundenbereichs

DELETE/api/v1/keys/:id

Pfadparameter

Das FeldTypErforderlichPrüfung / Beschreibung
idintegerja

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

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

Pfadparameter

Das FeldTypErforderlichPrüfung / Beschreibung
idintegerja

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
{
  "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 FeldTypErforderlichPrüfung / Beschreibung
idintegerja

JSON- / Formularfelder

Das FeldTypErforderlichPrüfung / 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 bedeutet kein Limit; kann null sein
expires_atstringnein; Gültigkeitsende im Format ISO 8601; kann null sein
reset_quotabooleannein; Bereits 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; Bereits verbrauchte Beträge der Zeitfensterlimits zurücksetzen; kann null sein
Vorlage für den Anfrageinhalt
{
  "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
{
  "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.

Noch Fragen? Senden Sie uns die Request ID und eine Beschreibung, damit wir Ihnen weiterhelfen können.Support kontaktieren