API кілттері
MarkdownӘдістер, сұрау өрістері және жауаптар.
Толық нұсқаулық
Бөлімде 5 әдіс бар. Қол жеткізу шарттарын, сұрау өрістерін және жауапты көру үшін әдісті ашыңыз.
| Әдіс және жол | Сипаттамасы | Қол жеткізу |
|---|---|---|
GET /api/v1/keys | Тізім — API кілттері | Жеке кабинет токені |
POST /api/v1/keys | API кілтін жасау | Жеке кабинет токені |
DELETE /api/v1/keys/:id | Жою — API кілттері | Жеке кабинет токені |
GET /api/v1/keys/:id | Идентификатор бойынша алу — API кілттері | Жеке кабинет токені |
PUT /api/v1/keys/:id | API кілтін өзгерту | Жеке кабинет токені |
GET /api/v1/keys — Тізім — API кілттері
Қол жеткізу: жеке кабинет токені
/api/v1/keyscurl --fail-with-body "https://ailoot.ai/api/v1/keys" \
-H "Authorization: Bearer $TOKEN"Query параметрлері
| Өріс | Түрі | Міндетті | Тексеру / сипаттама |
|---|---|---|---|
sort_by | string | жоқ | ; әдепкіде: created_at |
sort_order | string | жоқ | ; әдепкіде: desc |
search | string | жоқ | |
status | string | жоқ | |
page | integer | жоқ | ; әдепкіде: 1; positive; page_size/limit <=1000 |
page_size | integer | жоқ | ; әдепкіде: 20; positive; page_size/limit <=1000 |
limit | integer | жоқ | ; әдепкіде: 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 кілтін жасау
Қол жеткізу: жеке кабинет токені
/api/v1/keysJSON / форма өрістері
| Өріс | Түрі | Міндетті | Тексеру / сипаттама |
|---|---|---|---|
name | string | иә | required |
custom_key | string | жоқ | ; Кілттің өз мәні, міндетті емес; null болуы мүмкін |
ip_whitelist | array | жоқ | ; Рұқсат етілген IP тізімі |
ip_blacklist | array | жоқ | ; Тыйым салынған IP тізімі |
quota | number | жоқ | ; Кілттің USD түріндегі шығын лимиті; null болуы мүмкін |
expires_in_days | integer | жоқ | ; Күнмен берілген жарамдылық мерзімі; null болуы мүмкін |
rate_limit_5h | number | жоқ | ; null болуы мүмкін |
rate_limit_1d | number | жоқ | ; null болуы мүмкін |
rate_limit_7d | number | жоқ | ; 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 кілттері
Қол жеткізу: жеке кабинет токені
/api/v1/keys/:idЖол параметрлері
| Өріс | Түрі | Міндетті | Тексеру / сипаттама |
|---|---|---|---|
id | integer | иә |
Сұрау денесі қажет емес.
Жауап
JSON жауабында code, message және data бар. data мазмұны төмендегі схемаларда сипатталған.
{
"code": 0,
"message": "success",
"data": {
"message": "VALUE_FROM_RESPONSE"
}
}Ерекшеліктер: барлық жеке дерек пен нысан JWT субъектісімен шектелген.
Ерекшеліктер: операция күйді өзгертеді немесе бір реттік авторизацияны жалғастырады; мысал шартты сипаттайды және орындалмайды.
Ерекшеліктер: жауапта құпия key бар; нақты мәндерін жарияламаңыз.
GET /api/v1/keys/:id — Идентификатор бойынша алу — API кілттері
Қол жеткізу: жеке кабинет токені
/api/v1/keys/:idcurl --fail-with-body "https://ailoot.ai/api/v1/keys/$ID" \
-H "Authorization: Bearer $TOKEN"Жол параметрлері
| Өріс | Түрі | Міндетті | Тексеру / сипаттама |
|---|---|---|---|
id | integer | иә |
Сұрау денесі қажет емес. Жоғарыда көрсетілген параметрлерді 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 кілтін өзгерту
Қол жеткізу: жеке кабинет токені
/api/v1/keys/:idЖол параметрлері
| Өріс | Түрі | Міндетті | Тексеру / сипаттама |
|---|---|---|---|
id | integer | иә |
JSON / форма өрістері
| Өріс | Түрі | Міндетті | Тексеру / сипаттама |
|---|---|---|---|
name | string | жоқ | |
status | string | жоқ | omitempty,oneof=active inactive |
ip_whitelist | array | жоқ | ; Рұқсат етілген IP: null тізімді өзгертпейді, бос массив оны тазартады; null болуы мүмкін |
ip_blacklist | array | жоқ | ; Тыйым салынған IP: null тізімді өзгертпейді, бос массив оны тазартады; null болуы мүмкін |
quota | number | жоқ | ; Кілттің USD түріндегі шығын лимиті; 0 — лимитсіз; null болуы мүмкін |
expires_at | string | жоқ | ; ISO 8601 форматындағы жарамдылық мерзімінің аяқталу уақыты; null болуы мүмкін |
reset_quota | boolean | жоқ | ; Шығын лимитінің жұмсалған бөлігін нөлдеу; null болуы мүмкін |
rate_limit_5h | number | жоқ | ; null болуы мүмкін |
rate_limit_1d | number | жоқ | ; null болуы мүмкін |
rate_limit_7d | number | жоқ | ; null болуы мүмкін |
reset_rate_limit_usage | boolean | жоқ | ; Уақыт аралықтарындағы лимит шығындарын нөлдеу; 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 бар; нақты мәндерін жарияламаңыз.
Ерекшеліктер: кілтте резерві бар аяқталмаған сұраулар тұрғанда оның шығын лимитін азайтуға немесе нөлдеуге болмайды. Тек өзгертетін өрістерді жіберіңіз.