dokumentacja
API panelu użytkownika

Klucze API

Markdown

Metody, pola żądań i odpowiedzi.

Pełny przewodnik

W tej sekcji jest 5 metod. Otwórz metodę, aby zobaczyć warunki dostępu, pola żądania i odpowiedź.

Metoda i ścieżkaOpisDostęp
GET /api/v1/keysLista — klucze APIToken panelu użytkownika
POST /api/v1/keysUtworzenie klucza APIToken panelu użytkownika
DELETE /api/v1/keys/:idUsunięcie — klucze APIToken panelu użytkownika
GET /api/v1/keys/:idPobranie według identyfikatora — klucze APIToken panelu użytkownika
PUT /api/v1/keys/:idZmiana klucza APIToken panelu użytkownika
GET /api/v1/keys — Lista — klucze API

Dostęp: Token panelu użytkownika

GET/api/v1/keys
Odczyt; ID pochodzi z Twojej poprzedniej odpowiedzi
curl --fail-with-body "https://ailoot.ai/api/v1/keys" \
  -H "Authorization: Bearer $TOKEN"

Parametry zapytania

PoleTypWymaganeWalidacja / opis
sort_bystringnie; domyślnie: created_at
sort_orderstringnie; domyślnie: desc
searchstringnie
statusstringnie
pageintegernie; domyślnie: 1; positive; page_size/limit <=1000
page_sizeintegernie; domyślnie: 20; positive; page_size/limit <=1000
limitintegernie; domyślnie: 20; positive; page_size/limit <=1000

Treść żądania nie jest wymagana. Przekaż wskazane powyżej parametry w URL.

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: APIKey. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "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)"
  }
}

Cechy szczególne: Wszystkie dane osobowe i obiekty są ograniczone do podmiotu JWT.

Uwagi: odpowiedź zawiera poufną wartość key; nie publikuj rzeczywistych wartości.

POST /api/v1/keys — Utworzenie klucza API

Dostęp: Token panelu użytkownika

POST/api/v1/keys

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
namestringtakrequired
custom_keystringnie; Opcjonalna własna wartość klucza; może być null
ip_whitelistarraynie; Lista dozwolonych IP
ip_blacklistarraynie; Lista zabronionych IP
quotanumbernie; Limit wydatków klucza w USD; może być null
expires_in_daysintegernie; Okres ważności w dniach; może być null
rate_limit_5hnumbernie; może być null
rate_limit_1dnumbernie; może być null
rate_limit_7dnumbernie; może być null
Szablon treści żądania
{
  "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 oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: CreateAPIKeyRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: APIKey. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "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)"
  }
}

Cechy szczególne: Wszystkie dane osobowe i obiekty są ograniczone do podmiotu JWT.

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

Uwagi: obsługiwany jest Idempotency-Key; ponowienie zwraca zapisaną odpowiedź z X-Idempotency-Replayed.

Uwagi: odpowiedź zawiera poufną wartość key; nie publikuj rzeczywistych wartości.

DELETE /api/v1/keys/:id — Usunięcie — klucze API

Dostęp: Token panelu użytkownika

DELETE/api/v1/keys/:id

Parametry ścieżki

PoleTypWymaganeWalidacja / opis
idintegertak

Treść żądania nie jest wymagana.

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schemat odpowiedzi, wartości przykładowe
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "VALUE_FROM_RESPONSE"
  }
}

Cechy szczególne: Wszystkie dane osobowe i obiekty są ograniczone do podmiotu JWT.

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

Uwagi: odpowiedź zawiera poufną wartość key; nie publikuj rzeczywistych wartości.

GET /api/v1/keys/:id — Pobranie według identyfikatora — klucze API

Dostęp: Token panelu użytkownika

GET/api/v1/keys/:id
Odczyt; ID pochodzi z Twojej poprzedniej odpowiedzi
curl --fail-with-body "https://ailoot.ai/api/v1/keys/$ID" \
  -H "Authorization: Bearer $TOKEN"

Parametry ścieżki

PoleTypWymaganeWalidacja / opis
idintegertak

Treść żądania nie jest wymagana. Przekaż wskazane powyżej parametry w URL.

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: APIKey. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "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)"
  }
}

Cechy szczególne: Wszystkie dane osobowe i obiekty są ograniczone do podmiotu JWT.

Uwagi: odpowiedź zawiera poufną wartość key; nie publikuj rzeczywistych wartości.

PUT /api/v1/keys/:id — Zmiana klucza API

Dostęp: Token panelu użytkownika

PUT/api/v1/keys/:id

Parametry ścieżki

PoleTypWymaganeWalidacja / opis
idintegertak

Pola JSON / formularza

PoleTypWymaganeWalidacja / opis
namestringnie
statusstringnieomitempty,oneof=active inactive
ip_whitelistarraynie; Dozwolone IP: null nie zmienia listy, pusta tablica ją czyści; może być null
ip_blacklistarraynie; Zabronione IP: null nie zmienia listy, pusta tablica ją czyści; może być null
quotanumbernie; Limit wydatków klucza w USD; 0 — bez limitu; może być null
expires_atstringnie; Czas wygaśnięcia w formacie ISO 8601; może być null
reset_quotabooleannie; Zresetować wykorzystaną część limitu wydatków; może być null
rate_limit_5hnumbernie; może być null
rate_limit_1dnumbernie; może być null
rate_limit_7dnumbernie; może być null
reset_rate_limit_usagebooleannie; Zresetować wykorzystanie limitów w oknach czasowych; może być null
Szablon treści żądania
{
  "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 oznacza Twoje dane wejściowe i ich typ. Zastąp wartości i pozostaw tylko potrzebne pola opcjonalne; znaczników tekstowych nie wysyła się zamiast liczb, wartości boolean, obiektów lub tablic.

Schemat żądania: UpdateAPIKeyRequest

Odpowiedź

Odpowiedź JSON zawiera code, message i data. Zawartość data opisano w schematach poniżej.

Schematy danych odpowiedzi: APIKey. Pola i typy — na stronach „Schematy danych”.

Schemat odpowiedzi, wartości przykładowe
{
  "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)"
  }
}

Cechy szczególne: Wszystkie dane osobowe i obiekty są ograniczone do podmiotu JWT.

Uwagi: operacja zmienia stan lub kontynuuje jednorazową autoryzację; przykład opisuje kontrakt i nie jest wykonywany.

Uwagi: odpowiedź zawiera poufną wartość key; nie publikuj rzeczywistych wartości.

Uwagi: dopóki klucz ma niezakończone żądania z rezerwacją, nie można zmniejszyć ani zresetować jego limitu wydatków. Przekazuj tylko pola, które zmieniasz.

Dodatkowe pytania? Prześlij Request ID i opis — pomożemy wyjaśnić sprawę.Napisz do wsparcia