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

[Kontrollpanelens API](https://ailoot.ai/docs/sv/) 

# API-nycklar

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

Metoder, anropsfält och svar.

Avsnittet innehåller 5 metoder. Öppna en metod för att se åtkomstvillkor, anropsfält och svar.

| Metod och sökväg | Beskrivning | Åtkomst |
| --- | --- | --- |
| `GET /api/v1/keys` | Lista — API-nycklar | Kontrollpaneltoken |
| `POST /api/v1/keys` | Skapa API-nyckel | Kontrollpaneltoken |
| `DELETE /api/v1/keys/:id` | Ta bort — API-nycklar | Kontrollpaneltoken |
| `GET /api/v1/keys/:id` | Hämta efter identifierare — API-nycklar | Kontrollpaneltoken |
| `PUT /api/v1/keys/:id` | Ändra API-nyckel | Kontrollpaneltoken |

**GET /api/v1/keys** — Lista — API-nycklar

Åtkomst: kontrollpaneltoken

GET`/api/v1/keys`

Läsning; ID hämtas från ditt föregående svar

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

## Query-parametrar

| Fältet | Typ | Obligatoriskt | Validering / beskrivning |
| --- | --- | --- | --- |
| `sort_by` | `string` | nej | ; standard: created\_at |
| `sort_order` | `string` | nej | ; standard: desc |
| `search` | `string` | nej |  |
| `status` | `string` | nej |  |
| `page` | `integer` | nej | ; standard: 1; positivt värde; page\_size/limit \<=1000 |
| `page_size` | `integer` | nej | ; standard: 20; positivt värde; page\_size/limit \<=1000 |
| `limit` | `integer` | nej | ; standard: 20; positivt värde; page\_size/limit \<=1000 |

Ingen anropskropp krävs. Skicka parametrarna ovan i URL:en.

## Svar

JSON-svaret innehåller code, message och data. Innehållet i data beskrivs i schemana nedan.

Datascheman för svaret: `APIKey`. Fält och typer finns på sidorna ”Datascheman”.

Svarsschema med exempelvärden

```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)"
  }
}
```

Observera: Alla personuppgifter och objekt är begränsade till JWT-subjektet.

Observera: Svaret innehåller den hemliga nyckeln key; publicera inte faktiska värden.

**POST /api/v1/keys** — Skapa API-nyckel

Åtkomst: kontrollpaneltoken

POST`/api/v1/keys`

## JSON-/formulärfält

| Fältet | Typ | Obligatoriskt | Validering / beskrivning |
| --- | --- | --- | --- |
| `name` | `string` | ja | required |
| `custom_key` | `string` | nej | ; Valfritt eget nyckelvärde; kan vara null |
| `ip_whitelist` | `array` | nej | ; Lista över tillåtna IP-adresser |
| `ip_blacklist` | `array` | nej | ; Lista över blockerade IP-adresser |
| `quota` | `number` | nej | ; Nyckelns utgiftsgräns i USD; kan vara null |
| `expires_in_days` | `integer` | nej | ; Giltighetstid i dagar; kan vara null |
| `rate_limit_5h` | `number` | nej | ; kan vara null |
| `rate_limit_1d` | `number` | nej | ; kan vara null |
| `rate_limit_7d` | `number` | nej | ; kan vara null |

Mall för anropskropp

```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 anger dina indata och deras typ. Ersätt värdena och behåll endast de valfria fält du behöver; strängmarkörer ska inte skickas i stället för tal, boolean, objekt eller arrayer.

Anropsschema: `CreateAPIKeyRequest`

## Svar

JSON-svaret innehåller code, message och data. Innehållet i data beskrivs i schemana nedan.

Datascheman för svaret: `APIKey`. Fält och typer finns på sidorna ”Datascheman”.

Svarsschema med exempelvärden

```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)"
  }
}
```

Observera: Alla personuppgifter och objekt är begränsade till JWT-subjektet.

Observera: Operationen ändrar tillstånd eller fortsätter en engångsautentisering; exemplet beskriver kontraktet och körs inte.

Observera: Idempotency-Key stöds; upprepning returnerar det sparade svaret med X-Idempotency-Replayed.

Observera: Svaret innehåller den hemliga nyckeln key; publicera inte faktiska värden.

Metoden ändrar data. Det är bara säkert att skicka på nytt där metoden anger Idempotency-Key. Om svaret går förlorat kontrollerar du först resultatet (till exempel nyckellistan) och avgör sedan om anropet ska upprepas.

**DELETE /api/v1/keys/:id** — Ta bort — API-nycklar

Åtkomst: kontrollpaneltoken

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

## Parametrar i URL-sökvägen

| Fältet | Typ | Obligatoriskt | Validering / beskrivning |
| --- | --- | --- | --- |
| `id` | `integer` | ja |  |

Ingen anropskropp krävs.

## Svar

JSON-svaret innehåller code, message och data. Innehållet i data beskrivs i schemana nedan.

Svarsschema med exempelvärden

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "VALUE_FROM_RESPONSE"
  }
}
```

Observera: Alla personuppgifter och objekt är begränsade till JWT-subjektet.

Observera: Operationen ändrar tillstånd eller fortsätter en engångsautentisering; exemplet beskriver kontraktet och körs inte.

Observera: Svaret innehåller den hemliga nyckeln key; publicera inte faktiska värden.

Metoden ändrar data. Det är bara säkert att skicka på nytt där metoden anger Idempotency-Key. Om svaret går förlorat kontrollerar du först resultatet (till exempel nyckellistan) och avgör sedan om anropet ska upprepas.

**GET /api/v1/keys/:id** — Hämta efter identifierare — API-nycklar

Åtkomst: kontrollpaneltoken

GET`/api/v1/keys/:id`

Läsning; ID hämtas från ditt föregående svar

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

## Parametrar i URL-sökvägen

| Fältet | Typ | Obligatoriskt | Validering / beskrivning |
| --- | --- | --- | --- |
| `id` | `integer` | ja |  |

Ingen anropskropp krävs. Skicka parametrarna ovan i URL:en.

## Svar

JSON-svaret innehåller code, message och data. Innehållet i data beskrivs i schemana nedan.

Datascheman för svaret: `APIKey`. Fält och typer finns på sidorna ”Datascheman”.

Svarsschema med exempelvärden

```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)"
  }
}
```

Observera: Alla personuppgifter och objekt är begränsade till JWT-subjektet.

Observera: Svaret innehåller den hemliga nyckeln key; publicera inte faktiska värden.

**PUT /api/v1/keys/:id** — Ändra API-nyckel

Åtkomst: kontrollpaneltoken

PUT`/api/v1/keys/:id`

## Parametrar i URL-sökvägen

| Fältet | Typ | Obligatoriskt | Validering / beskrivning |
| --- | --- | --- | --- |
| `id` | `integer` | ja |  |

## JSON-/formulärfält

| Fältet | Typ | Obligatoriskt | Validering / beskrivning |
| --- | --- | --- | --- |
| `name` | `string` | nej |  |
| `status` | `string` | nej | omitempty,oneof=active inactive |
| `ip_whitelist` | `array` | nej | ; Tillåtna IP-adresser: null lämnar listan oförändrad, en tom array tömmer den; kan vara null |
| `ip_blacklist` | `array` | nej | ; Blockerade IP-adresser: null lämnar listan oförändrad, en tom array tömmer den; kan vara null |
| `quota` | `number` | nej | ; Nyckelns utgiftsgräns i USD; 0 — ingen gräns; kan vara null |
| `expires_at` | `string` | nej | ; Utgångstid i ISO 8601-format; kan vara null |
| `reset_quota` | `boolean` | nej | ; Nollställ den förbrukade delen av utgiftsgränsen; kan vara null |
| `rate_limit_5h` | `number` | nej | ; kan vara null |
| `rate_limit_1d` | `number` | nej | ; kan vara null |
| `rate_limit_7d` | `number` | nej | ; kan vara null |
| `reset_rate_limit_usage` | `boolean` | nej | ; Nollställ förbrukningen för tidsfönstrens gränser; kan vara null |

Mall för anropskropp

```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 anger dina indata och deras typ. Ersätt värdena och behåll endast de valfria fält du behöver; strängmarkörer ska inte skickas i stället för tal, boolean, objekt eller arrayer.

Anropsschema: `UpdateAPIKeyRequest`

## Svar

JSON-svaret innehåller code, message och data. Innehållet i data beskrivs i schemana nedan.

Datascheman för svaret: `APIKey`. Fält och typer finns på sidorna ”Datascheman”.

Svarsschema med exempelvärden

```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)"
  }
}
```

Observera: Alla personuppgifter och objekt är begränsade till JWT-subjektet.

Observera: Operationen ändrar tillstånd eller fortsätter en engångsautentisering; exemplet beskriver kontraktet och körs inte.

Observera: Svaret innehåller den hemliga nyckeln key; publicera inte faktiska värden.

Observera: Så länge nyckeln har oavslutade anrop med reservering kan dess utgiftsgräns inte sänkas eller nollställas. Skicka endast de fält du ändrar.

Metoden ändrar data. Det är bara säkert att skicka på nytt där metoden anger Idempotency-Key. Om svaret går förlorat kontrollerar du först resultatet (till exempel nyckellistan) och avgör sedan om anropet ska upprepas.

Har du fler frågor? Skicka Request ID och en beskrivning, så hjälper vi dig.[Kontakta supporten](mailto:support@ailoot.ai)

## Ailoot · Företaget och dess projektportfölj





Ailoot bygger på etablerad driftserfarenhet, en stor kundbas, stabil service och löpande KPI-kontroll.





Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.





Ailoot använder denna driftserfarenhet för API-åtkomst till AI-funktioner i kundernas produkter, agenter, applikationer och automatiseringar.
