dokumentation
Kontrollpanelens API

API-nycklar

Markdown

Metoder, anropsfält och svar.

Fullständig guide

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

Metod och sökvägBeskrivningÅtkomst
GET /api/v1/keysLista — API-nycklarKontrollpaneltoken
POST /api/v1/keysSkapa API-nyckelKontrollpaneltoken
DELETE /api/v1/keys/:idTa bort — API-nycklarKontrollpaneltoken
GET /api/v1/keys/:idHämta efter identifierare — API-nycklarKontrollpaneltoken
PUT /api/v1/keys/:idÄndra API-nyckelKontrollpaneltoken
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
curl --fail-with-body "https://ailoot.ai/api/v1/keys" \
  -H "Authorization: Bearer $TOKEN"

Query-parametrar

FältetTypObligatorisktValidering / beskrivning
sort_bystringnej; standard: created_at
sort_orderstringnej; standard: desc
searchstringnej
statusstringnej
pageintegernej; standard: 1; positivt värde; page_size/limit <=1000
page_sizeintegernej; standard: 20; positivt värde; page_size/limit <=1000
limitintegernej; 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
{
  "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ältetTypObligatorisktValidering / beskrivning
namestringjarequired
custom_keystringnej; Valfritt eget nyckelvärde; kan vara null
ip_whitelistarraynej; Lista över tillåtna IP-adresser
ip_blacklistarraynej; Lista över blockerade IP-adresser
quotanumbernej; Nyckelns utgiftsgräns i USD; kan vara null
expires_in_daysintegernej; Giltighetstid i dagar; kan vara null
rate_limit_5hnumbernej; kan vara null
rate_limit_1dnumbernej; kan vara null
rate_limit_7dnumbernej; kan vara null
Mall för anropskropp
{
  "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
{
  "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.

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

Åtkomst: kontrollpaneltoken

DELETE/api/v1/keys/:id

Parametrar i URL-sökvägen

FältetTypObligatorisktValidering / beskrivning
idintegerja

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

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
curl --fail-with-body "https://ailoot.ai/api/v1/keys/$ID" \
  -H "Authorization: Bearer $TOKEN"

Parametrar i URL-sökvägen

FältetTypObligatorisktValidering / beskrivning
idintegerja

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
{
  "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ältetTypObligatorisktValidering / beskrivning
idintegerja

JSON-/formulärfält

FältetTypObligatorisktValidering / beskrivning
namestringnej
statusstringnejomitempty,oneof=active inactive
ip_whitelistarraynej; Tillåtna IP-adresser: null lämnar listan oförändrad, en tom array tömmer den; kan vara null
ip_blacklistarraynej; Blockerade IP-adresser: null lämnar listan oförändrad, en tom array tömmer den; kan vara null
quotanumbernej; Nyckelns utgiftsgräns i USD; 0 — ingen gräns; kan vara null
expires_atstringnej; Utgångstid i ISO 8601-format; kan vara null
reset_quotabooleannej; Nollställ den förbrukade delen av utgiftsgränsen; kan vara null
rate_limit_5hnumbernej; kan vara null
rate_limit_1dnumbernej; kan vara null
rate_limit_7dnumbernej; kan vara null
reset_rate_limit_usagebooleannej; Nollställ förbrukningen för tidsfönstrens gränser; kan vara null
Mall för anropskropp
{
  "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
{
  "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.

Har du fler frågor? Skicka Request ID och en beskrivning, så hjälper vi dig.Kontakta supporten