Klucze API
Autor: Zespół Aether365 Odbiorcy: Deweloperzy Zakres: Endpointy zarządzania kluczami API
Klucze API służą do uwierzytelniania żądań do REST API bez sesji użytkownika.
Każdy klucz API jest powiązany z kontem tenanta, które go utworzyło. Klucze API mają taki sam dostęp jak członek zespołu - mogą odczytywać i zapisywać wszystkie dane tenanta, ale nie mogą zmieniać planu rozliczeniowego.
Lista kluczy API
Zwraca wszystkie aktywne klucze API tenanta.
GET /tenants/me/api-keysINFO
Ze względów bezpieczeństwa pełna wartość klucza jest zwracana tylko raz - w momencie utworzenia. Późniejsze żądania listy pokazują jedynie prefiks klucza i metadane.
Przykładowe żądanie
bash
curl https://api.aether365.io/tenants/me/api-keys \
-H "Authorization: Bearer <token>"Przykładowa odpowiedź
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"
}
]
}Pola odpowiedzi
| Pole | Typ | Opis |
|---|---|---|
id | string | Identyfikator klucza |
name | string | Nazwa wyświetlana |
prefix | string | Pierwsze 12 znaków klucza (do identyfikacji) |
createdAt | string | Znacznik czasu ISO 8601 |
lastUsedAt | string lub null | Znacznik czasu ISO 8601 ostatniego uwierzytelnionego żądania |
Tworzenie klucza API
Tworzy nowy klucz API. Pełna wartość klucza jest zwracana jednokrotnie i nie może być ponownie pobrana.
POST /tenants/me/api-keysTreść żądania
json
{
"name": "CI pipeline"
}| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
name | string | Tak | Nazwa wyświetlana klucza |
Przykładowe żądanie
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"}'Przykładowa odpowiedź
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
}
}Natychmiast zapisz klucz
Pole key jest zwracane tylko w tej odpowiedzi. Nie może być później ponownie pobrane. Zapisz klucz natychmiast w menedżerze sekretów (GitHub Actions secrets, HashiCorp Vault itp.).
Usuwanie klucza API
Trwale unieważnia klucz API. Wszelkie żądania korzystające z tego klucza natychmiast zwrócą 401.
DELETE /tenants/me/api-keys/{keyId}Przykładowe żądanie
bash
curl -X DELETE https://api.aether365.io/tenants/me/api-keys/key_abc123 \
-H "Authorization: Bearer <token>"Przykładowa odpowiedź
json
{
"success": true,
"data": null
}Używanie klucza API
Przekaż klucz API jako token Bearer w nagłówku Authorization:
bash
curl https://api.aether365.io/tenants/me/scans \
-H "Authorization: Bearer ae_live_abc123xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"Klucze API działają tak samo jak tokeny sesji dla wszystkich endpointów. Nie wygasają, ale możesz je rotować, tworząc nowy klucz i usuwając stary.
Limity żądań
API jest ograniczone do 120 żądań na minutę na klucz API. Żądania przekraczające limit otrzymują odpowiedź 429 Too Many Requests. Odpowiedź zawiera nagłówek Retry-After wskazujący, kiedy można ponowić próbę.