У XServer Cloud появился открытый API. Через него можно делать то же, что и в личном кабинете: заказывать и продлевать серверы, управлять ими, оплачивать счета. Только теперь это делает ваш код, а не вы руками. Встройте заказ серверов в свою панель, автоматизируйте рутину или стройте на наших серверах собственный бизнес.

Кому это пригодится

Реселлерам и веб-студиям. Продавайте серверы XServer Cloud своим клиентам под своим брендом и по своим ценам. Ваш сайт или биллинг заказывает сервер через API, оплата списывается с вашего баланса, клиент получает готовую машину. Чем больше серверов, тем ниже ваша закупочная цена: от 5 активных серверов действует скидка 5%, от 10 — 10%, от 15 — 15%. Если у вас уже есть персональная скидка, она действует независимо от количества серверов. Скидки не суммируются: когда скидка за объём больше персональной, применяется она.

DevOps-инженерам. Перезагрузка, переустановка ОС, снапшоты перед обновлением, бэкапы, SSH-ключи, дополнительные IP-адреса — всё это теперь можно вызывать из скриптов, CI/CD и систем оркестрации.

Тем, кто ведёт учёт. Список серверов, сроки оплаты, баланс и счета можно забирать в свою систему мониторинга или бухгалтерию.

Что умеет API

  • Серверы: список и статус, включение, выключение и перезагрузка, консоль, переустановка ОС, IP-адреса, снапшоты и бэкапы.
  • Заказ: предварительный расчёт стоимости и заказ виртуального или физического сервера, с дополнительными услугами и промокодом.
  • Продление: расчёт и продление с баланса.
  • Оплата: оплата счёта с баланса.
  • Справочники: локации, тарифы, шаблоны ОС, дополнительные услуги.
  • Финансы: баланс, счета, история операций.

Как начать

Создание API-токена в личном кабинете XServer Cloud
  1. Откройте Настройки → Аутентификация и в разделе «API-токены» нажмите «Создать токен».
  2. Дайте токену имя и выберите права. Для мониторинга хватит чтения. Чтобы заказывать и продлевать серверы, нужно право billing:write — «Заказывать и продлевать серверы, оплачивать счета с баланса».
  3. Скопируйте токен: он показывается один раз.
  4. Откройте документацию API (кнопка там же) — все методы можно попробовать прямо в браузере.

Безопасность

API работает с вашими деньгами и серверами, поэтому мы сделали защиту строгой по умолчанию:

  • Только нужные права. Токен получает лишь те права, которые вы выбрали. Сотрудник вашей команды не может выдать токену больше, чем разрешено ему самому.
  • Привязка к IP. Токен можно ограничить адресами ваших серверов, запросы с любого другого адреса будут отклонены. Для токена, который может тратить баланс, мы настоятельно советуем это сделать.
  • Отзыв в один клик. В списке токенов видно, когда каждый использовался последний раз. Ненужный или подозрительный токен отзывается мгновенно.
  • Лимит на операции с деньгами. Один токен может выполнить до 20 заказов, продлений и оплат в час — это защищает баланс, если токен попадёт в чужие руки. Если вашему бизнесу нужно больше, напишите в поддержку, и мы увеличим лимит для вашего аккаунта.
  • Деньги только с баланса. API не может списать деньги с карты. Если на балансе не хватает средств, заказ не теряется: вы получаете счёт, который можно оплатить позже.

Пример: заказ сервера в два запроса

Сначала узнаём точную цену. Расчёт учитывает вашу скидку и совпадает со списанием до цента:

curl -X POST https://app.xserver.cloud/api/v1/orders/preview \
  -H "Authorization: Bearer $XSC_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"cpu": 2, "ram": 4, "ssd": 40, "location_code": "DE",
       "os_template_code": "ubuntu2404", "period_months": 1}'

Цена устраивает – заказываем тем же телом запроса:

curl -X POST https://app.xserver.cloud/api/v1/orders \
  -H "Authorization: Bearer $XSC_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"cpu": 2, "ram": 4, "ssd": 40, "location_code": "DE",
       "os_template_code": "ubuntu2404", "period_months": 1}'

В ответе заказ и оплаченный счёт. Сервер появится в списке, как только будет готов.

Документация

Полное описание всех методов с примерами в документации API. Там же можно отправить запрос прямо из браузера. Описание в формате OpenAPI (openapi.json) подходит, чтобы сгенерировать клиентскую библиотеку для вашего языка программирования.

Попробуйте

Создайте первый токен в Настройках → Аутентификация. Не хватает какого-то метода или есть идея, как сделать API удобнее? Напишите нам в поддержку — мы развиваем API вместе с теми, кто им пользуется.