API Key Управління

View as Markdown

API Key кінцеві точки управління приймають лише JWT автентифікацію.

Створіть API Key

POST /v1/private/user/api-key/create
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

Параметри запиту:

ПараметрТипОбов’язковеОпис
labelstringТакAPI Key етикетка, довжина 1 - 64
permissionsintНіБітова маска дозволу, стандартний 1, діапазон 1 - 7
ipWhitelistString[]НіIP білий список, до 20 записів. Якщо його опускати, IP джерела є необмеженим

Приклад запиту:

curl -X POST https://api.6mm.com/v1/private/user/api-key/create \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{
"label": "external-service-prod",
"permissions": 3,
"ipWhitelist": ["203.0.113.10"]
}'

Приклад відповіді:

{
"code": 0,
"message": "success",
"data": {
"apiKey": "fx_xxxxxxxxxxxxxxxxxxxxxxxx",
"apiSecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"requestId": "req-api-key"
}

apiSecret повертається лише один раз після створення API Key . Зберігайте його одразу в секретній системі управління. Не записуйте це у репозиторії чи логи вихідного коду.

Кожен користувач може створити до 30 API Keys.

Список API ключів

GET /v1/private/user/api-key/list
Authorization: Bearer YOUR_ACCESS_TOKEN

Поля відповіді:

ПолеТипОпис
list[].idstringAPI Key ID
list[].labelstringЛейбл
list[].apiKeystringПублічний ідентифікатор API Key
list[].permissionsintБітмаска дозволу
list[].ipWhitelistString[]IP білий список
list[].statusintСтатус: 1 увімкнено, 0 вимкнено
list[].lastUsedAtint64Останній час використання
list[].createdAtint64Час створення

Оновлення API Key

PUT /v1/private/user/api-key/update
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

Параметри запиту:

ПараметрТипОбов’язковеОпис
idstringТакAPI Key ID
labelstringНіНовий лейбл
permissionsintНіНова бітова маска дозволу
ipWhitelistString[]НіНовий білий список IP
statusintНі1 увімкнено, 0 вимкнено

Видалити API Key

POST /v1/private/user/api-key/delete
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

Тіло запиту:

{ "id": "1001" }

Видалити всі API ключі

POST /v1/private/user/api-key/delete-all
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json

Поля відповіді:

ПолеТипОпис
deletedint64Кількість видалених API ключів