Source: https://ailoot.ai/docs/pl/cabinet/keys/
Canonical: https://ailoot.ai/docs/pl/cabinet/keys/
Language: pl

[API panelu użytkownika](https://ailoot.ai/docs/pl/) 

# Klucze API

[Markdown](https://ailoot.ai/docs/pl/cabinet/keys/index.md)

Metody, pola żądań i odpowiedzi.

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

| Metoda i ścieżka | Opis | Dostęp |
| --- | --- | --- |
| `GET /api/v1/keys` | Lista — klucze API | Token panelu użytkownika |
| `POST /api/v1/keys` | Utworzenie klucza API | Token panelu użytkownika |
| `DELETE /api/v1/keys/:id` | Usunięcie — klucze API | Token panelu użytkownika |
| `GET /api/v1/keys/:id` | Pobranie według identyfikatora — klucze API | Token panelu użytkownika |
| `PUT /api/v1/keys/:id` | Zmiana klucza API | Token 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

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/keys" \
  -H "Authorization: Bearer $TOKEN"
```

## Parametry zapytania

| Pole | Typ | Wymagane | Walidacja / opis |
| --- | --- | --- | --- |
| `sort_by` | `string` | nie | ; domyślnie: created\_at |
| `sort_order` | `string` | nie | ; domyślnie: desc |
| `search` | `string` | nie |  |
| `status` | `string` | nie |  |
| `page` | `integer` | nie | ; domyślnie: 1; positive; page\_size/limit \<=1000 |
| `page_size` | `integer` | nie | ; domyślnie: 20; positive; page\_size/limit \<=1000 |
| `limit` | `integer` | nie | ; 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

```json
{
  "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

| Pole | Typ | Wymagane | Walidacja / opis |
| --- | --- | --- | --- |
| `name` | `string` | tak | required |
| `custom_key` | `string` | nie | ; Opcjonalna własna wartość klucza; może być null |
| `ip_whitelist` | `array` | nie | ; Lista dozwolonych IP |
| `ip_blacklist` | `array` | nie | ; Lista zabronionych IP |
| `quota` | `number` | nie | ; Limit wydatków klucza w USD; może być null |
| `expires_in_days` | `integer` | nie | ; Okres ważności w dniach; może być null |
| `rate_limit_5h` | `number` | nie | ; może być null |
| `rate_limit_1d` | `number` | nie | ; może być null |
| `rate_limit_7d` | `number` | nie | ; może być null |

Szablon treści żądania

```json
{
  "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

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

Metoda zmienia dane. Ponowne wysłanie jest bezpieczne tylko tam, gdzie przy metodzie podano Idempotency-Key. Jeśli odpowiedź została utracona, najpierw sprawdź wynik (na przykład listę kluczy), a potem zdecyduj, czy ponowić żądanie.

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

Dostęp: Token panelu użytkownika

DELETE`/api/v1/keys/:id`

## Parametry ścieżki

| Pole | Typ | Wymagane | Walidacja / opis |
| --- | --- | --- | --- |
| `id` | `integer` | tak |  |

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

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

Metoda zmienia dane. Ponowne wysłanie jest bezpieczne tylko tam, gdzie przy metodzie podano Idempotency-Key. Jeśli odpowiedź została utracona, najpierw sprawdź wynik (na przykład listę kluczy), a potem zdecyduj, czy ponowić żądanie.

**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

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/keys/$ID" \
  -H "Authorization: Bearer $TOKEN"
```

## Parametry ścieżki

| Pole | Typ | Wymagane | Walidacja / opis |
| --- | --- | --- | --- |
| `id` | `integer` | tak |  |

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

```json
{
  "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

| Pole | Typ | Wymagane | Walidacja / opis |
| --- | --- | --- | --- |
| `id` | `integer` | tak |  |

## Pola JSON / formularza

| Pole | Typ | Wymagane | Walidacja / opis |
| --- | --- | --- | --- |
| `name` | `string` | nie |  |
| `status` | `string` | nie | omitempty,oneof=active inactive |
| `ip_whitelist` | `array` | nie | ; Dozwolone IP: null nie zmienia listy, pusta tablica ją czyści; może być null |
| `ip_blacklist` | `array` | nie | ; Zabronione IP: null nie zmienia listy, pusta tablica ją czyści; może być null |
| `quota` | `number` | nie | ; Limit wydatków klucza w USD; 0 — bez limitu; może być null |
| `expires_at` | `string` | nie | ; Czas wygaśnięcia w formacie ISO 8601; może być null |
| `reset_quota` | `boolean` | nie | ; Zresetować wykorzystaną część limitu wydatków; może być null |
| `rate_limit_5h` | `number` | nie | ; może być null |
| `rate_limit_1d` | `number` | nie | ; może być null |
| `rate_limit_7d` | `number` | nie | ; może być null |
| `reset_rate_limit_usage` | `boolean` | nie | ; Zresetować wykorzystanie limitów w oknach czasowych; może być null |

Szablon treści żądania

```json
{
  "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

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

Metoda zmienia dane. Ponowne wysłanie jest bezpieczne tylko tam, gdzie przy metodzie podano Idempotency-Key. Jeśli odpowiedź została utracona, najpierw sprawdź wynik (na przykład listę kluczy), a potem zdecyduj, czy ponowić żądanie.

Dodatkowe pytania? Prześlij Request ID i opis — pomożemy wyjaśnić sprawę.[Napisz do wsparcia](mailto:support@ailoot.ai)

## Ailoot · Firma i jej portfel projektów





Ailoot opiera się na zgromadzonym doświadczeniu operacyjnym, szerokiej bazie klientów, stabilnej usłudze i stałej kontroli KPI.





Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.





Ailoot wykorzystuje to doświadczenie operacyjne, zapewniając dostęp przez API do funkcji AI w produktach klientów, agentach, aplikacjach i automatyzacjach.
