Ključi API
MarkdownMetode, polja zahtev in odgovori.
Celoten vodnik
V razdelku je 5 metod. Odprite metodo, da si ogledate pogoje dostopa, polja zahteve in odgovor.
| Metoda in pot | Opis | Dostop |
|---|---|---|
GET /api/v1/keys | Seznam – ključi API | Žeton nadzorne plošče |
POST /api/v1/keys | Ustvarjanje ključa API | Žeton nadzorne plošče |
DELETE /api/v1/keys/:id | Brisanje – ključi API | Žeton nadzorne plošče |
GET /api/v1/keys/:id | Pridobitev po identifikatorju – ključi API | Žeton nadzorne plošče |
PUT /api/v1/keys/:id | Sprememba ključa API | Žeton nadzorne plošče |
GET /api/v1/keys – Seznam – ključi API
Dostop: Žeton nadzorne plošče
/api/v1/keyscurl --fail-with-body "https://ailoot.ai/api/v1/keys" \
-H "Authorization: Bearer $TOKEN"Parametri poizvedbe
| Polje | Vrsta | Obvezno | Preverjanje / opis |
|---|---|---|---|
sort_by | string | ne | ; privzeto: created_at |
sort_order | string | ne | ; privzeto: desc |
search | string | ne | |
status | string | ne | |
page | integer | ne | ; privzeto: 1; pozitivno; page_size/limit <=1000 |
page_size | integer | ne | ; privzeto: 20; pozitivno; page_size/limit <=1000 |
limit | integer | ne | ; privzeto: 20; pozitivno; page_size/limit <=1000 |
Telo zahteve ni potrebno. Zgoraj navedene parametre pošljite v URL.
Odgovor
Odgovor JSON vsebuje code, message in data. Vsebina data je opisana v spodnjih shemah.
Podatkovne sheme odgovora: APIKey. Polja in vrste so na straneh »Podatkovne sheme«.
{
"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)"
}
}Posebnosti: Vsi osebni podatki in objekti so omejeni na subjekt žetona JWT.
Posebnosti: Odgovor vsebuje skrivni key; pravih vrednosti ne objavljajte.
POST /api/v1/keys – Ustvarjanje ključa API
Dostop: Žeton nadzorne plošče
/api/v1/keysPolja JSON / obrazca
| Polje | Vrsta | Obvezno | Preverjanje / opis |
|---|---|---|---|
name | string | da | required |
custom_key | string | ne | ; Neobvezna lastna vrednost ključa; lahko je null |
ip_whitelist | array | ne | ; Seznam dovoljenih IP |
ip_blacklist | array | ne | ; Seznam blokiranih IP |
quota | number | ne | ; Omejitev porabe ključa v USD; lahko je null |
expires_in_days | integer | ne | ; Veljavnost v dnevih; lahko je null |
rate_limit_5h | number | ne | ; lahko je null |
rate_limit_1d | number | ne | ; lahko je null |
rate_limit_7d | number | ne | ; lahko je 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 označuje vaš vnos in njegovo vrsto. Vrednosti zamenjajte in pustite le potrebna neobvezna polja; nizovnih oznak ne pošiljajte namesto števil, boolean, objektov ali polj.
Shema zahteve: CreateAPIKeyRequest
Odgovor
Odgovor JSON vsebuje code, message in data. Vsebina data je opisana v spodnjih shemah.
Podatkovne sheme odgovora: APIKey. Polja in vrste so na straneh »Podatkovne sheme«.
{
"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)"
}
}Posebnosti: Vsi osebni podatki in objekti so omejeni na subjekt žetona JWT.
Posebnosti: Operacija spremeni stanje ali nadaljuje enkratno avtentikacijo; primer opisuje pogodbo API-ja in se ne izvede.
Posebnosti: Idempotency-Key je podprt; ponovitev vrne shranjeni odgovor z X-Idempotency-Replayed.
Posebnosti: Odgovor vsebuje skrivni key; pravih vrednosti ne objavljajte.
DELETE /api/v1/keys/:id – Brisanje – ključi API
Dostop: Žeton nadzorne plošče
/api/v1/keys/:idParametri poti
| Polje | Vrsta | Obvezno | Preverjanje / opis |
|---|---|---|---|
id | integer | da |
Telo zahteve ni potrebno.
Odgovor
Odgovor JSON vsebuje code, message in data. Vsebina data je opisana v spodnjih shemah.
{
"code": 0,
"message": "success",
"data": {
"message": "VALUE_FROM_RESPONSE"
}
}Posebnosti: Vsi osebni podatki in objekti so omejeni na subjekt žetona JWT.
Posebnosti: Operacija spremeni stanje ali nadaljuje enkratno avtentikacijo; primer opisuje pogodbo API-ja in se ne izvede.
Posebnosti: Odgovor vsebuje skrivni key; pravih vrednosti ne objavljajte.
GET /api/v1/keys/:id – Pridobitev po identifikatorju – ključi API
Dostop: Žeton nadzorne plošče
/api/v1/keys/:idcurl --fail-with-body "https://ailoot.ai/api/v1/keys/$ID" \
-H "Authorization: Bearer $TOKEN"Parametri poti
| Polje | Vrsta | Obvezno | Preverjanje / opis |
|---|---|---|---|
id | integer | da |
Telo zahteve ni potrebno. Zgoraj navedene parametre pošljite v URL.
Odgovor
Odgovor JSON vsebuje code, message in data. Vsebina data je opisana v spodnjih shemah.
Podatkovne sheme odgovora: APIKey. Polja in vrste so na straneh »Podatkovne sheme«.
{
"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)"
}
}Posebnosti: Vsi osebni podatki in objekti so omejeni na subjekt žetona JWT.
Posebnosti: Odgovor vsebuje skrivni key; pravih vrednosti ne objavljajte.
PUT /api/v1/keys/:id – Sprememba ključa API
Dostop: Žeton nadzorne plošče
/api/v1/keys/:idParametri poti
| Polje | Vrsta | Obvezno | Preverjanje / opis |
|---|---|---|---|
id | integer | da |
Polja JSON / obrazca
| Polje | Vrsta | Obvezno | Preverjanje / opis |
|---|---|---|---|
name | string | ne | |
status | string | ne | omitempty,oneof=active inactive |
ip_whitelist | array | ne | ; Dovoljeni IP: null ne spremeni seznama, prazno polje ga izprazni; lahko je null |
ip_blacklist | array | ne | ; Blokirani IP: null ne spremeni seznama, prazno polje ga izprazni; lahko je null |
quota | number | ne | ; Omejitev porabe ključa v USD; 0 – brez omejitve; lahko je null |
expires_at | string | ne | ; Čas izteka veljavnosti v formatu ISO 8601; lahko je null |
reset_quota | boolean | ne | ; Ponastavi porabljeni del omejitve porabe; lahko je null |
rate_limit_5h | number | ne | ; lahko je null |
rate_limit_1d | number | ne | ; lahko je null |
rate_limit_7d | number | ne | ; lahko je null |
reset_rate_limit_usage | boolean | ne | ; Ponastavi porabljeni del omejitev v časovnih oknih; lahko je 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 označuje vaš vnos in njegovo vrsto. Vrednosti zamenjajte in pustite le potrebna neobvezna polja; nizovnih oznak ne pošiljajte namesto števil, boolean, objektov ali polj.
Shema zahteve: UpdateAPIKeyRequest
Odgovor
Odgovor JSON vsebuje code, message in data. Vsebina data je opisana v spodnjih shemah.
Podatkovne sheme odgovora: APIKey. Polja in vrste so na straneh »Podatkovne sheme«.
{
"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)"
}
}Posebnosti: Vsi osebni podatki in objekti so omejeni na subjekt žetona JWT.
Posebnosti: Operacija spremeni stanje ali nadaljuje enkratno avtentikacijo; primer opisuje pogodbo API-ja in se ne izvede.
Posebnosti: Odgovor vsebuje skrivni key; pravih vrednosti ne objavljajte.
Posebnosti: Dokler ima ključ nedokončane zahteve z rezervacijo, njegove omejitve porabe ni mogoče znižati ali ponastaviti. Pošljite le polja, ki jih spreminjate.