API-Schlüssel
MarkdownMethoden, 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 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
/api/v1/keyscurl --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“.
{
"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
/api/v1/keysJSON- / 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 |
{
"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“.
{
"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
/api/v1/keys/:idPfadparameter
| 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.
{
"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
/api/v1/keys/:idcurl --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“.
{
"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
/api/v1/keys/:idPfadparameter
| 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 |
{
"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“.
{
"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.