BitStack
ДокументацияНачало работыСерверыОплатаБезопасностьAPI
Правовая информацияУсловияЛичные данныеПравила
BitStack

API позволяет управлять серверами и балансом из своих программ и инструментов, например из Terraform.

Ключи

  1. 1Откройте Аккаунт → API.
  2. 2Введите название ключа, чтобы потом понять, где он используется, и нажмите «Создать ключ».
  3. 3Сразу скопируйте ключ кнопкой рядом с ним в таблице. Кнопка доступна только сразу после создания, потом в таблице виден лишь начало ключа.

Авторизация

Ключи начинаются с bs_live_. Передавайте ключ в заголовке каждого запроса:

Authorization: Bearer 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 с любым уникальным значением.