API-ключi
API-ключi використовуються для автентифiкацiї запитiв до REST API без сесiї користувача.
Кожен API-ключ прив'язаний до облiкового запису tenant'у, який його створив. API-ключi мають такий самий рiвень доступу, як i член команди - вони можуть читати та записувати всi данi tenant'у, але не можуть змiнювати налаштування бiлiнгу або плану.
Список API-ключiв
Повертає всi активнi API-ключi для tenant'у.
GET /tenants/me/api-keysINFO
З мiркувань безпеки повне значення ключа повертається лише один раз - при створеннi. Подальшi запити на отримання списку показують лише префiкс ключа та метаданi.
Приклад запиту
bash
curl https://api.aether365.io/tenants/me/api-keys \
-H "Authorization: Bearer <token>"Приклад вiдповiдi
json
{
"success": true,
"data": [
{
"id": "key_abc123",
"name": "CI pipeline",
"prefix": "ae_live_abc1",
"createdAt": "2026-03-01T09:00:00Z",
"lastUsedAt": "2026-04-10T14:23:00Z"
}
]
}Поля вiдповiдi
| Поле | Тип | Опис |
|---|---|---|
id | string | Iдентифiкатор ключа |
name | string | Назва для вiдображення |
prefix | string | Першi 12 символiв ключа (для iдентифiкацiї) |
createdAt | string | Часова мiтка ISO 8601 |
lastUsedAt | string або null | Часова мiтка ISO 8601 останнього використання |
Створення API-ключа
Створює новий API-ключ. Повне значення ключа повертається один раз i не може бути отримане повторно.
POST /tenants/me/api-keysТiло запиту
json
{
"name": "CI pipeline"
}| Поле | Тип | Обов'язкове | Опис |
|---|---|---|---|
name | string | Так | Назва для вiдображення |
Приклад запиту
bash
curl -X POST https://api.aether365.io/tenants/me/api-keys \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"name": "CI pipeline"}'Приклад вiдповiдi
json
{
"success": true,
"data": {
"id": "key_abc123",
"name": "CI pipeline",
"key": "ae_live_abc123xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"prefix": "ae_live_abc1",
"createdAt": "2026-04-12T10:00:00Z",
"lastUsedAt": null
}
}Збережiть ключ негайно
Поле key повертається лише в цiй вiдповiдi. Його неможливо отримати пiзнiше. Збережiть його у менеджерi секретiв (GitHub Actions secrets, HashiCorp Vault тощо) одразу.
Видалення API-ключа
Остаточно вiдкликає API-ключ. Будь-якi запити з цим ключем одразу повертатимуть 401.
DELETE /tenants/me/api-keys/{keyId}Приклад запиту
bash
curl -X DELETE https://api.aether365.io/tenants/me/api-keys/key_abc123 \
-H "Authorization: Bearer <token>"Приклад вiдповiдi
json
{
"success": true,
"data": null
}Використання API-ключа
Передайте API-ключ як Bearer-токен у заголовку Authorization:
bash
curl https://api.aether365.io/tenants/me/scans \
-H "Authorization: Bearer ae_live_abc123xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"API-ключi працюють так само, як сесiйнi токени для всiх endpoint'iв. Вони не мають термiну дiї, але ви можете ротувати їх, створивши новий ключ i видаливши старий.
Обмеження частоти запитiв
API обмежено до 120 запитiв на хвилину на кожен API-ключ. Запити, що перевищують лiмiт, отримують вiдповiдь 429 Too Many Requests. Вiдповiдь мiстить заголовок Retry-After, який вказує, коли можна повторити запит.