docs
Жеке кабинет API-і

API кілттері

Markdown

Әдістер, сұрау өрістері және жауаптар.

Толық нұсқаулық

Бөлімде 5 әдіс бар. Қол жеткізу шарттарын, сұрау өрістерін және жауапты көру үшін әдісті ашыңыз.

Әдіс және жолСипаттамасыҚол жеткізу
GET /api/v1/keysТізім — API кілттеріЖеке кабинет токені
POST /api/v1/keysAPI кілтін жасауЖеке кабинет токені
DELETE /api/v1/keys/:idЖою — API кілттеріЖеке кабинет токені
GET /api/v1/keys/:idИдентификатор бойынша алу — API кілттеріЖеке кабинет токені
PUT /api/v1/keys/:idAPI кілтін өзгертуЖеке кабинет токені
GET /api/v1/keys — Тізім — API кілттері

Қол жеткізу: жеке кабинет токені

GET/api/v1/keys
Оқу; ID алдыңғы жауабыңыздан алынады
curl --fail-with-body "https://ailoot.ai/api/v1/keys" \
  -H "Authorization: Bearer $TOKEN"

Query параметрлері

ӨрісТүріМіндеттіТексеру / сипаттама
sort_bystringжоқ; әдепкіде: created_at
sort_orderstringжоқ; әдепкіде: desc
searchstringжоқ
statusstringжоқ
pageintegerжоқ; әдепкіде: 1; positive; page_size/limit <=1000
page_sizeintegerжоқ; әдепкіде: 20; positive; page_size/limit <=1000
limitintegerжоқ; әдепкіде: 20; positive; page_size/limit <=1000

Сұрау денесі қажет емес. Жоғарыда көрсетілген параметрлерді URL ішінде жіберіңіз.

Жауап

JSON жауабында code, message және data бар. data мазмұны төмендегі схемаларда сипатталған.

Жауап деректерінің схемалары: APIKey. Өрістер мен түрлер «Деректер схемалары» беттерінде берілген.

Жауап схемасы, мәндері шартты
{
  "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)"
  }
}

Ерекшеліктер: барлық жеке дерек пен нысан JWT субъектісімен шектелген.

Ерекшеліктер: жауапта құпия key бар; нақты мәндерін жарияламаңыз.

POST /api/v1/keys — API кілтін жасау

Қол жеткізу: жеке кабинет токені

POST/api/v1/keys

JSON / форма өрістері

ӨрісТүріМіндеттіТексеру / сипаттама
namestringиәrequired
custom_keystringжоқ; Кілттің өз мәні, міндетті емес; null болуы мүмкін
ip_whitelistarrayжоқ; Рұқсат етілген IP тізімі
ip_blacklistarrayжоқ; Тыйым салынған IP тізімі
quotanumberжоқ; Кілттің USD түріндегі шығын лимиті; null болуы мүмкін
expires_in_daysintegerжоқ; Күнмен берілген жарамдылық мерзімі; null болуы мүмкін
rate_limit_5hnumberжоқ; null болуы мүмкін
rate_limit_1dnumberжоқ; null болуы мүмкін
rate_limit_7dnumberжоқ; null болуы мүмкін
Сұрау денесінің үлгісі
{
  "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 енгізетін мәніңіз бен оның түрін білдіреді. Мәндерді ауыстырып, тек қажетті міндетті емес өрістерді қалдырыңыз; жолдық маркерлер сандардың, boolean мәндерінің, нысандардың немесе массивтердің орнына жіберілмейді.

Сұрау схемасы: CreateAPIKeyRequest

Жауап

JSON жауабында code, message және data бар. data мазмұны төмендегі схемаларда сипатталған.

Жауап деректерінің схемалары: APIKey. Өрістер мен түрлер «Деректер схемалары» беттерінде берілген.

Жауап схемасы, мәндері шартты
{
  "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)"
  }
}

Ерекшеліктер: барлық жеке дерек пен нысан JWT субъектісімен шектелген.

Ерекшеліктер: операция күйді өзгертеді немесе бір реттік авторизацияны жалғастырады; мысал шартты сипаттайды және орындалмайды.

Ерекшеліктер: Idempotency-Key мүмкіндігіне қолдау көрсетіледі; қайталағанда X-Idempotency-Replayed бар сақталған жауап қайтарылады.

Ерекшеліктер: жауапта құпия key бар; нақты мәндерін жарияламаңыз.

DELETE /api/v1/keys/:id — Жою — API кілттері

Қол жеткізу: жеке кабинет токені

DELETE/api/v1/keys/:id

Жол параметрлері

ӨрісТүріМіндеттіТексеру / сипаттама
idintegerиә

Сұрау денесі қажет емес.

Жауап

JSON жауабында code, message және data бар. data мазмұны төмендегі схемаларда сипатталған.

Жауап схемасы, мәндері шартты
{
  "code": 0,
  "message": "success",
  "data": {
    "message": "VALUE_FROM_RESPONSE"
  }
}

Ерекшеліктер: барлық жеке дерек пен нысан JWT субъектісімен шектелген.

Ерекшеліктер: операция күйді өзгертеді немесе бір реттік авторизацияны жалғастырады; мысал шартты сипаттайды және орындалмайды.

Ерекшеліктер: жауапта құпия key бар; нақты мәндерін жарияламаңыз.

GET /api/v1/keys/:id — Идентификатор бойынша алу — API кілттері

Қол жеткізу: жеке кабинет токені

GET/api/v1/keys/:id
Оқу; ID алдыңғы жауабыңыздан алынады
curl --fail-with-body "https://ailoot.ai/api/v1/keys/$ID" \
  -H "Authorization: Bearer $TOKEN"

Жол параметрлері

ӨрісТүріМіндеттіТексеру / сипаттама
idintegerиә

Сұрау денесі қажет емес. Жоғарыда көрсетілген параметрлерді URL ішінде жіберіңіз.

Жауап

JSON жауабында code, message және data бар. data мазмұны төмендегі схемаларда сипатталған.

Жауап деректерінің схемалары: APIKey. Өрістер мен түрлер «Деректер схемалары» беттерінде берілген.

Жауап схемасы, мәндері шартты
{
  "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)"
  }
}

Ерекшеліктер: барлық жеке дерек пен нысан JWT субъектісімен шектелген.

Ерекшеліктер: жауапта құпия key бар; нақты мәндерін жарияламаңыз.

PUT /api/v1/keys/:id — API кілтін өзгерту

Қол жеткізу: жеке кабинет токені

PUT/api/v1/keys/:id

Жол параметрлері

ӨрісТүріМіндеттіТексеру / сипаттама
idintegerиә

JSON / форма өрістері

ӨрісТүріМіндеттіТексеру / сипаттама
namestringжоқ
statusstringжоқomitempty,oneof=active inactive
ip_whitelistarrayжоқ; Рұқсат етілген IP: null тізімді өзгертпейді, бос массив оны тазартады; null болуы мүмкін
ip_blacklistarrayжоқ; Тыйым салынған IP: null тізімді өзгертпейді, бос массив оны тазартады; null болуы мүмкін
quotanumberжоқ; Кілттің USD түріндегі шығын лимиті; 0 — лимитсіз; null болуы мүмкін
expires_atstringжоқ; ISO 8601 форматындағы жарамдылық мерзімінің аяқталу уақыты; null болуы мүмкін
reset_quotabooleanжоқ; Шығын лимитінің жұмсалған бөлігін нөлдеу; null болуы мүмкін
rate_limit_5hnumberжоқ; null болуы мүмкін
rate_limit_1dnumberжоқ; null болуы мүмкін
rate_limit_7dnumberжоқ; null болуы мүмкін
reset_rate_limit_usagebooleanжоқ; Уақыт аралықтарындағы лимит шығындарын нөлдеу; null болуы мүмкін
Сұрау денесінің үлгісі
{
  "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 енгізетін мәніңіз бен оның түрін білдіреді. Мәндерді ауыстырып, тек қажетті міндетті емес өрістерді қалдырыңыз; жолдық маркерлер сандардың, boolean мәндерінің, нысандардың немесе массивтердің орнына жіберілмейді.

Сұрау схемасы: UpdateAPIKeyRequest

Жауап

JSON жауабында code, message және data бар. data мазмұны төмендегі схемаларда сипатталған.

Жауап деректерінің схемалары: APIKey. Өрістер мен түрлер «Деректер схемалары» беттерінде берілген.

Жауап схемасы, мәндері шартты
{
  "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)"
  }
}

Ерекшеліктер: барлық жеке дерек пен нысан JWT субъектісімен шектелген.

Ерекшеліктер: операция күйді өзгертеді немесе бір реттік авторизацияны жалғастырады; мысал шартты сипаттайды және орындалмайды.

Ерекшеліктер: жауапта құпия key бар; нақты мәндерін жарияламаңыз.

Ерекшеліктер: кілтте резерві бар аяқталмаған сұраулар тұрғанда оның шығын лимитін азайтуға немесе нөлдеуге болмайды. Тек өзгертетін өрістерді жіберіңіз.

Сұрақтарыңыз қалды ма? Request ID мен сипаттаманы жіберіңіз — мәселені анықтауға көмектесеміз.Қолдау қызметіне жазу