API-Schlüssel
MarkdownMethoden, 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 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 ID 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 | Validierung / 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 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“.
{
"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
/api/v1/keysJSON- / 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 |
{
"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“.
{
"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
/api/v1/keys/:idPfadparameter
| Das Feld | Typ | Erforderlich | Validierung / Beschreibung |
|---|---|---|---|
id | integer | ja |
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.
{
"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
/api/v1/keys/:idcurl --fail-with-body "https://ailoot.ai/api/v1/keys/$ID" \
-H "Authorization: Bearer $TOKEN"Pfadparameter
| Das Feld | Typ | Erforderlich | Validierung / Beschreibung |
|---|---|---|---|
id | integer | ja |
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“.
{
"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
/api/v1/keys/:idPfadparameter
| 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 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 — ohne Limit; 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 |
{
"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“.
{
"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.