API позволяет управлять серверами и балансом из своих программ и инструментов, например из Terraform.
Ключи
- 1Откройте Аккаунт → API.
- 2Введите название ключа, чтобы потом понять, где он используется, и нажмите «Создать ключ».
- 3Сразу скопируйте ключ кнопкой рядом с ним в таблице. Кнопка доступна только сразу после создания, потом в таблице виден лишь начало ключа.
Авторизация
Ключи начинаются с bs_live_. Передавайте ключ в заголовке каждого запроса:
Тело запросов и ответы передаются в формате JSON.
Адрес API: https://api.bitstack.nexus. При ошибке ответ содержит HTTP-код и JSON вида {"error": "код_ошибки"}.
Хранение
Ключ даёт доступ к серверам, SSH-ключам и балансу, храните его в секрете. API-ключи, сеансы, удаление аккаунта, терминал и аварийная консоль доступны только в панели. Если ключ мог утечь, удалите его двойным нажатием на корзину и создайте новый. Дата последнего использования каждого ключа видна в таблице.
Запросы
GET /me— почта, номер аккаунта и баланс.GET /catalog— провайдеры, регионы, тарифы и системы.GET /servers— список серверов,GET /servers/:id— один сервер.POST /servers— создать сервер:providerId,regionId,planId,imageId,sshKeyId(илиnull), по желаниюddosProtectionиbackups.PATCH /servers/:id— переименовать:{"name": "web-1"}.POST /servers/:id/power—{"action": "on"},"off"или"reboot".POST /servers/:id/plan— повысить тариф:{"planId": "…"}.POST /servers/:id/options— опции:{"ddosProtection": true, "backups": false}.GET /servers/:id/backups— резервные копии сервера. Восстановление из копии доступно только в панели.GET /servers/:id/metrics— данные графиков за 24 часа.DELETE /servers/:id— удалить сервер.GET /ssh-keys,POST /ssh-keysс{"publicKey": "…"},DELETE /ssh-keys/:id— SSH-ключи.GET /billing/coins— монеты,GET /billing/transactions— история операций.POST /billing/payments— счёт на пополнение:{"amountUsd": 10, "coin": "btc"},GET /billing/payments/:id— его состояние.
Чтобы повтор запроса POST /servers не создал второй сервер, передайте в нём заголовок Idempotency-Key с любым уникальным значением.