Вход

E-mail

Вы не указали E-mail

Пароль

Вы не указали пароль

ВОЙТИ

Зарегистрироваться или Напомнить пароль

Регистрация

На указанный E-mail мы вышлем пароль

E-mail

Вы не указали E-mail

ЗАРЕГИСТРИРОВАТЬСЯ

Войти или Напомнить пароль

Нажимая кнопку «Отправить», вы соглашаетесь с политикой обработки персональных данных

2ФА

Введите код который пришел в приложение

код

вы не ввели код

ВОЙТИ

Стало
Было
Получить консультацию

E-mail

Вы не указали E-mail

Сообщение

Сообщение не может быть менее 10 символов

Отправить

Нажимая кнопку «Отправить», вы соглашаетесь с политикой обработки персональных данных

Вход

Регистрация

Публичный API Маклауд

Общая информация

URL для подключения: https://userapi.macloud.ru.

Формат данных входящего запроса и возвращаемых данных: JSON.

Поддерживаемые методы запросов: GET, POST, PUT, DELETE.

Стандартное применение: GET – для получения, POST – для создания, PUT – для изменения и DELETE – для удаления объекта.

Авторизация: токен в HTTP-заголовке Authorization.

Все даты и метки времени возвращаются в зоне Europe/Moscow (часовом поясе, в котором располагается сервер API).

Существуют ограничения на количество запросов на аутентификацию с одного IP-адреса, при частых безуспешных попытках аутентификации IP-адрес блокируется на 4 часа. Также осуществляется проверка IP-адреса по черным спискам Spamhaus (SBL, SBL CSS, XBL, SBL DROP, TOR), аутентификация с таких адресов запрещена.

Получение и использование токена

Постоянный токен авторизации можно получить в личном кабинете в просмотре информации пользователя аккаунта:

Получение API в панели управления.

Токен меняется при изменении пароля пользователя.

Для получения токена авторизации с помощью API необходимо пройти аутентификацию, отправив POST-запрос в локацию /v1/auth с JSON-объектом, внутри которого будут указаны параметры email и password (данные пользователя, с которым вы входите в панель управления), например, так:

curl -X POST -H 'Content-Type: application/json' "https://userapi.macloud.ru/v1/auth" -d '{"email": "admin@domain.ru", "password": "Pas$W0rD"}'

Результатом вернется JSON-объект с новым токеном:

{
  "status": "ok",
  "status_msg": "Token info",
  "data": {
    "token": "024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad"
  }
}

После этого полученный токен можно использовать для любых запросов к API, например, чтобы получить баланс аккаунта:

curl -X GET -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' "https://userapi.macloud.ru/v1/account.balance"

Результатом вернется JSON-объект с данными о балансе:

{
  "status": "ok",
  "status_msg": "Balance information",
  "data": {
    "real": 2818,
    "bonus": 1240,
    "partner": 790
  }
}

Токен будет иметь те же права доступа, что и указанный пользователь, от чьего имени делался запрос на получение токена. Если вам нужно ограничить действия для запросов через API, необходимо создать отдельного пользователя в аккаунте с необходимым набором прав и выполнять запросы с токеном этого пользователя.

Описание параметров и возвращаемых ошибок

Предусмотрен возврат стандартных HTTP-статусов, как успешных, так и ошибочных, например:

В результате всегда должен возвращаться JSON-объект, некоторые его обязательные поля:

В качестве необязательных полей могут присутствовать:

Список доступных действий

Информация об аккаунте и прогнозе отключения, GET /v1/account

Возвращается ID и название аккаунта, дата создания и прогноз отключения (дата, до которой достаточно средств на оплату всех услуг):

curl -X GET -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' "https://userapi.macloud.ru/v1/account"

Например, в результате возвращается JSON-объект:

{
  "status": "ok",
  "status_msg": "Account information",
  "data": {
    "account": {
      "id": 7,
      "name": "a7"
    },
    "created": "2014-11-19 15:28:42",
    "forecast": "2020-08-12",
    "can": {
      "add_user": true,
      "add_service": true,
      "convert_to_cash": true
    }
  }
}

Данные прогноза отключения и баланса кэшируются и изменяются только в случае реальных изменений по счетам или услугам. В объекте can будут перечислены некоторые возможности аккаунта: возможность создавать новых пользователей, заказывать новые услуги, выводить деньги со счетов.

Баланс аккаунта, GET /v1/account.balance

Возвращаются все доступные балансы, основной, бонусный и партнерский, если операций по счету не было, то баланс не возвращается:

curl -X GET -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' "https://userapi.macloud.ru/v1/account.balance"

Лимиты аккаунта, GET /v1/account.limit

Возвращаются все доступные лимиты по типам услуг:

curl -X GET -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' "https://userapi.macloud.ru/v1/account.limit"

Например, в результате возвращается JSON-объект:

{
  "status": "ok",
  "status_msg": "Account limits information",
  "data": {
    "server": {
      "max": 1,
      "now": 1
    },
    "server-ip4": {
      "max": 100,
      "child_max": 10,
      "now": 1
    },
    …
  }
}

Для каждого типа услуги будет возвращен объект, в котором указаны ограничения: max – максимум услуг такого типа в аккаунте, child_max – максимум услуг такого типа в родительской услуге (например, количество IPv4-адресов для одного сервера), now – количество заказанных услуг такого типа в аккаунте на данный момент.

Регистрация нового аккаунта, POST /v1/register

Создается новый клиентский аккаунт и пользователь с доступом в панель управления. Пример запроса:

curl -X POST -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' -H 'Content-Type: application/json' "https://userapi.macloud.ru/v1/register" -d '{"email": "admin@domain.ru", "code": "SuperPartner"}'

Для регистрации нового аккаунта необходимо передать токен авторизации существующего клиента. Для регистрации по партнерской программе необходимо передать свой партнерский код в поле code. Результатом запроса будет подобный объект с данными о новом аккаунте и пользователе:

{
  "status": "ok",
  "status_msg": "New account created",
  "data": {
    "account": {
      "id": 190
    },
    "user": {
      "id": 347,
      "name": "admin@domain.ru",
      "token": "024ccf95e8544260c0f1f78a6deadbeefd8636f6baa326c0da7b0a2c207693ad"
    }
  }
}

Список групп тарифных планов, GET /v1/server-group

Возвращается список групп тарифных планов с кратким описанием, например:

curl -X GET -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' "https://userapi.macloud.ru/v1/server-group"

Полученные ID групп должны использоваться в дальнейшем при запросе информации по дополнительным объектам.

Список дата-центров, GET /v1/datacenter

Возвращается список дата-центров, например:

curl -X GET -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' "https://userapi.macloud.ru/v1/datacenter"

Например, в результате возвращается JSON-объект:

{
  "status": "ok",
  "status_msg": "Datacenters list",
  "data": [
    {
      "id": 1,
      "name": "Дата-центр RU",
      "country": "ru",
      "active": true
    },
    {
      "id": 2,
      "name": "Дата-центр NL",
      "country": "nl",
      "active": false
    }
  ]
}

Данные представляют из себя массив объектов, флаг active указывает на возможность заказа сервера в конкретном дата-центре.

Список шаблонов ОС, GET /v1/template

Список шаблонов операционных систем, доступных для установки или переустановки сервера, например:

curl -X GET -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' "https://userapi.macloud.ru/v1/template"

Например, в результате возвращается JSON-объект:

{
  "status": "ok",
  "status_msg": "OS templates list",
  "data": [
    {
      "id": 1,
      "name": "CentOS 7 x64",
      "image": "http://api2.macloud.ru/uploads/template/43a7db318bd2ea21eacabe44abf62fff.png",
      "active": true,
      "has_instruction": false,
      "ssh-key": true,
      "server-plan": [
        1,
        2
      ],
"limits": {
        "cpu": {
          "min": 1
        },
        "ram": {
          "min": 1
        },
        "disk": {
          "min": 5
        }
      }
    },
    {
      "id": 2,
      "name": "Windows Server 2019",
      "image": "http://api2.macloud.ru/uploads/template/2c96181313b73d1ee22075fc41c05fef.png",
      "active": true,
      "has_instruction": false,
      "ssh-key": false,
      "server-plan": [
        2,
        3
      ],
"limits": {
        "cpu": {
          "min": 2
        },
        "ram": {
          "min": 4
        },
        "disk": {
          "min": 20
        }
      }
    }
  ]
}

Данные представляют из себя массив объектов, флаг active указывает на возможность заказа сервера с конкретным шаблоном ОС. Флаг ssh-key указывает на возможность использовать авторизацию по пользовательскому ключу SSH в конкретном шаблоне. Массив server-plan содержит в себе ID тарифных планов, для которых доступна установка сервера с конкретным шаблоном ОС.

Также необходимо обратить внимание на минимальные системные требования шаблона ОС: в объекте limits указаны следующие параметры: минимальное количество процессоров/ядер – cpu, минимальное количество оперативной памяти в ГБ – ram, минимальное количество места для дискового раздела в ГБ – disk.

Список тарифных планов для серверов, GET /v1/server-plan/ID

Список тарифных планов для серверов возвращается по ID группы тарифных планов, например:

curl -X GET -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' "https://userapi.macloud.ru/v1/server-plan/1"

Например, в результате возвращается JSON-объект:

{
  "status": "ok",
  "status_msg": "Server plans list",
  "data": [
    {
      "id": 2,
      "name": "Plan-2",
      "cost": 20,
      "period": "day",
      "period_name": "день",
      "min_money": 100,
      "can_bonus": true,
      "description": "Test Plan",
      "data": {
        "cpu": {
          "type": "integer",
          "title": "vCPU",
          "value": 1,
          "for": "core"
        },
        "ram": {
          "type": "float",
          "title": "RAM",
          "value": 1,
          "bytes": 1073741824,
          "for": "ГБ"
        },
        "disk": {
          "type": "integer",
          "title": "NVMe",
          "value": 30,
          "bytes": 32212254720,
          "for": "ГБ"
        },
        "traff": {
          "type": "float",
          "title": "Трафик",
          "value": 32,
          "bytes": 35184372088832,
          "for": "ТБ"
        }
      },
      "server-group": 1,
      "selected": false,
      "active": true,
      "enable": true,
      "has_params": false,
      "backup": {
        "cost": 0.1,
        "full_cost": 0.1,
        "period": "day",
        "period_name": "день",
        "for": "ГБ"
      }
    },
    {
      "id": 4,
      "name": "Plan-4",
      "cost": 30,
      "period": "day",
      "period_name": "день",
      "min_money": 1000,
      "can_bonus": true,
      "description": "TEST",
      "data": {
        "cpu": {
          "type": "integer",
          "title": "vCPU",
          "value": 2,
          "for": "core"
        },
        "ram": {
          "type": "float",
          "title": "RAM",
          "value": 1,
          "bytes": 1073741824,
          "for": "ГБ"
        },
        "disk": {
          "type": "integer",
          "title": "NVMe",
          "value": 30,
          "bytes": 32212254720,
          "for": "ГБ"
        },
        "traff": {
          "type": "float",
          "title": "Трафик",
          "value": 32,
          "bytes": 35184372088832,
          "for": "ТБ"
        }
      },
      "server-group": 1,
      "selected": true,
      "active": false,
      "enable": false,
      "has_params": false,
      "backup": {
        "cost": 0.1,
        "full_cost": 0.1,
        "period": "day",
        "period_name": "день",
        "for": "ГБ"
      }
    }
  ]
}

Данные представляют из себя массив объектов, флаги active и enable указывают на возможность заказа сервера с конкретным тарифным планом. Объект data содержит в себе краткие характеристики тарифного плана. Поля cost и period содержат в себе цену тарифа за указанный период (обычно 1 день). Поле min_money указывает, сколько средств нужно иметь на основном балансе для заказа тарифа, флаг can_bonus указывает на возможность оплачивать тариф средствами с бонусного баланса.

В объекте data хранится полный состав тарифного плана: cpu – количество процессоров/ядер, ram – количество оперативной памяти в ГБ, disk – количество дискового пространства в ГБ, traff – количество включенного в тарифный план трафика на 1 календарный месяц в ГБ.

В параметре has_params хранится признак тарифа-конструктора, в таком случае дополнительно у тарифа может быть объект params с данными о возможном составе итогового тарифа и стоимости отдельных параметров тарифного плана. Общая стоимость такого тарифа складывается из стоимости самого тарифного плана и совокупной стоимости всех добавленных параметров тарифа.

SSH-ключи для серверов

Доступные методы:

Поле Признак Описание, тип
name обязательно Строка, название ключа
data обязательно Строка, текстовое представление ключа (base64-кодировка)

ISO для серверов

Доступные методы:

Поле Признак Описание, тип
url обязательно Строка, URL для скачивания файла образа, прямая ссылка на файл MIME-формата application/x-iso9660-image или application/x-iso-image, максимальный размер файла – 8 гигабайт, протоколы: http, https, ftp, ftps

Возможные статусы ISO:

Дополнительно к статусу ISO может быть дополнительный статус в поле status_text. В нем содержится описание действия, которое выполняется с ISO в данный момент.

Процесс загрузки нового файла и создания услуги ISO:

Серверы

Доступные методы:

Поле Признак Описание, тип
name необязательно Строка, текстовое название услуги для удобства клиента
autoprolong необязательно 0 или 1, признак автоматического продления услуги
datacenter обязательно Число, ID дата-центра, может быть недоступен для заказа при отсутствии ресурсов
server-plan обязательно Число, ID тарифного плана, должен быть из нужной группы
template необязательно Число, ID шаблона ОС для установки, взаимоисключающий параметр c backup, шаблон ОС может быть недоступен для конкретных тарифных планов
ssh-key необязательно Число, ID SSH-ключа для пользователя root в поддерживаемых ОС, игнорируется в случае восстановления из резервной копии
backup необязательно Число, ID услуги резервной копии, из которой нужно произвести восстановление после создания услуги сервера, взаимоисключающий параметр c template, резервная копия должна находиться в том же дата-центре, что и создаваемый сервер и быть не более размера диска выбранного тарифного плана
iso необязательно Число, ID услуги ISO, из которой нужно произвести установку после создания услуги сервера, взаимоисключающий параметр c template
host необязательно Строка, текстовое значение для hostname сервера, должно быть правильным доменным именем, игнорируется в случае восстановления из резервной копии
cpu необязательно Число, количество виртуальных процессоров для создаваемого сервера, если тарифный план поддерживает настройку параметров
ram необязательно Число, количество ГБ оперативной памяти для создаваемого сервера, если тарифный план поддерживает настройку параметров
disk необязательно Число, количество ГБ для дискового раздела для создаваемого сервера, если тарифный план поддерживает настройку параметров
ip4 необязательно 0 или 1, признак подключения IPv4-адреса при создании сервера, если тарифный план поддерживает настройку параметров

При создании сервера, необходимо учитывать минимальные системные требования шаблона ОС для установки на сервере, сравнивая параметры из состава тарифа с минимальными параметрами шаблона ОС.

Пример получения информации о сервере:

curl -X GET -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' "https://userapi.macloud.ru/v1/server/1345"

И пример возвращаемого ответа в формате JSON:

{
  "status": "ok",
  "status_msg": "Server information",
  "data": {
    "id": 1345,
    "name": "v1301.hosted-by-macloud.ru",
    "status": "active",
    "created": "2019-07-11 20:05:49",
    "updated": "2019-07-12 17:50:02",
    "end": "2019-07-12 20:08:27",
    "autoprolong": true,
    "ip": [
      {
        "id": 1574,
        "ip": "185.251.37.62",
        "type": "4",
        "host": "host-185-251-37-62.hosted-by-macloud.ru",
        "gateway": "185.251.37.1",
        "netmask": "255.255.255.0",
        "mac": "52:54:00:00:05:41"
      }
    ],
    "ip_local": null,
    "host": "v1301.hosted-by-macloud.ru",
    "data": {
      "cpu": {
        "type": "integer",
        "title": "vCPU",
        "value": 1,
        "for": "core",
        "total": 4
      },
      "ram": {
        "type": "float",
        "title": "RAM",
        "value": 1,
        "bytes": 1073741824,
        "for": "ГБ",
        "total": 8,
        "total_bytes": 8589934592
      },
      "disk": {
        "type": "integer",
        "title": "NVMe",
        "value": 1,
        "bytes": 1073741824,
        "for": "ГБ",
        "total": 10,
        "total_bytes": 10737418240
      },
      "traff": {
        "type": "float",
        "title": "Трафик",
        "value": 32,
        "bytes": 35184372088832,
        "for": "ТБ"
      }
    },
    "server-plan": {
      "id": 44,
      "name": "Минималь+"
    },
    "server-group": {
      "id": 5,
      "name": "VDS"
    },
    "template": {
      "id": 22,
      "name": "Ubuntu 16.04"
    },
    "datacenter": {
      "id": 29,
      "name": "Serverius",
      "country": "nl"
    },
    "ssh-key": null,
    "can": {
      "reboot": true,
      "update": true,
      "delete": true,
      "prolong": false,
      "backup": true,
      "ip_local": true
    },
    "bandwidth": {
      "current_month": "20987612334",
      "past_month": "0"
    }
  }
}

Возможные статусы сервера:

Дополнительно к статусу сервера может быть дополнительный статус в поле status_text. В нем содержится описание действия, которое выполняется с сервером в данный момент.

В объекте data для сервера показывается его полная конфигурация согласно тарифу и содержимому тарифа: cpu – количество процессоров/ядер, ram – количество оперативной памяти в ГБ, disk – количество дискового пространства в ГБ, traff – количество включенного в тарифный план трафика на 1 календарный месяц в ГБ. В параметрах value и total указаны значения из базового тарифного плана и общие значения, соответственно, если тарифный план был настроен с дополнительными параметрами.

Перезагрузка сервера, PUT /v1/server.reboot/ID

Перезагрузка сервера по ID услуги сервера. Дополнительно можно передать поле type, который может принимать значения soft или hard. При установке type=soft (по умолчанию), серверу будет отправлен сигнал на перезагрузку. При установке type=hard, операционной системе будет отправлен сигнал завершения работы, через некоторое время будет произведена проверка статуса сервера, если он выключен, то он снова будет запущен, в противном случае сервер будет выключен принудительно (с возможной потерей данных в работающей системе), а после этого снова запущен.

Поле Признак Описание, тип
type необязательно Строка, soft или hard

Переустановка сервера, PUT /v1/server.reinstall/ID

Переустановка сервера с новым шаблоном ОС по ID услуги сервера. Передаваемые поля: template, ssh-key, host.

Поле Признак Описание, тип
template необязательно Число, ID шаблона ОС для установки, шаблон ОС может быть недоступен для конкретных тарифных планов
ssh-key необязательно Число, ID SSH-ключа для пользователя root в поддерживаемых ОС
host необязательно Строка, текстовое значение для hostname сервера, должно быть правильным доменным именем

Установка пароля сервера, PUT /v1/server.password/ID

Установка пароля сервера по ID услуги сервера. Дополнительно нужно передать поле password с новым паролем. Сервер будет перезапущен, устанавливается пароль VNC и пароль пользователя root в поддерживаемых Linux-дистрибутивах. Внимание, если вы используете ОС, установленную из своего ISO или на сервере установлена ОС Windows или FreeBSD, пароль администратора ОС изменен не будет, в таком случае меняется только пароль VNC.

Поле Признак Описание, тип
password обязательно Строка, новый пароль

Изменение тарифного плана сервера, PUT /v1/server.plan/ID

Изменение (расширение) тарифного плана сервера по ID услуги сервера. Изменение тарифного плана на младший технически невозможно. Дополнительно нужно передать поле server-plan с числовым ID нового тарифного плана. Сервер будет перезапущен. После смены тарифного плана ресурсы будут добавлены автоматически, расширить файловую систему на весь новый раздел диска необходимо вручную средствами ОС.

Поле Признак Описание, тип
server-plan обязательно Число, ID тарифного плана, должен быть из нужной группы
cpu необязательно Число, количество виртуальных процессоров для сервера, если тарифный план поддерживает настройку параметров
ram необязательно Число, количество ГБ оперативной памяти для сервера, если тарифный план поддерживает настройку параметров
disk необязательно Число, количество ГБ для дискового раздела для сервера, если тарифный план поддерживает настройку параметров

Продление сервера, PUT /v1/server.prolong/ID

Продление сервера по ID услуги сервера в случае, если сервер не был запущен после оплаты, например, из-за отключенного автоматического продления. Дополнительные поля не передаются.

VNC-подключение, GET /v1/server.vnc/ID

Получение данных VNC-подключения для сервера по ID услуги.

Пример получения информации:

curl -X GET -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' "https://userapi.macloud.ru/v1/server.vnc/1345"

И пример возвращаемого ответа в формате JSON:

{
  "status": "ok",
  "status_msg": "Server VNC information",
  "data": {
    "host": "kvm9249.macloud.ru",
    "port": 5907,
    "password": "XAqc18T8sv7J1keZ"
  }
}

Резервная копия сервера

Доступные методы:

Поле Признак Описание, тип
name необязательно Строка, текстовое название услуги для удобства клиента
autoprolong необязательно 0 или 1, признак автоматического продления услуги
backup обязательно Число, ID услуги резервной копии, из которой нужно произвести восстановление услуги сервера, резервная копия должна находиться в том же дата-центре, что и сервер и быть не более размера диска выбранного тарифного плана
datacenter обязательно Число, ID дата-центра, в который нужно произвести копирование услуги резервной копии

Возможные статусы резервной копии:

Дополнительно к статусу резервной копии может быть дополнительный статус в поле status_text. В нем содержится описание действия, которое выполняется с резервной копией в данный момент.

Настройка резервных копий сервера по расписанию

Доступные методы:

Поле Признак Описание, тип
type обязательно Строка, тип расписания, варианты: day, week, month, для одного сервера может быть создано не более одного расписания каждого типа
day необязательно Число, день создания резервной копии (число месяца (1-30), в случае месячной копии или номер дня недели (1-7) в случае недельной копии), поле неприменимо к ежедневной резервной копии
hour необязательно Число, час создания резервной копии (только ночные часы: 1-6)
left необязательно Число, количество сохраняемых копий (1-4)

Подключение и отключение ISO для сервера

Доступные методы:

Поле Признак Описание, тип
iso обязательно Число, ID услуги с ISO для подключения

Дополнительные IP-адреса для сервера

Доступные методы:

Поле Признак Описание, тип
type необязательно Число, 4 или 6, тип IP-адреса, по умолчанию 4
count обязательно Число, количество создаваемых IP-адресов, учитываются лимиты аккаунта (account.limit), больше нуля
delete обязательно Список чисел, список ID IP-адресов для удаления
host обязательно Строка, текстовое значение для hostname сервера, должно быть правильным доменным именем

Возможные статусы услуги с дополнительными IP:

Дополнительно к статусу услуги с дополнительными IP может быть дополнительный статус в поле status_text. В нем содержится описание действия, которое выполняется с услугой в данный момент.

Локальный IP-адрес для сервера

Доступные методы:

Статистика сервера, GET /v1/server.stat/ID

Получение данных статистики для сервера по ID услуги. По умолчанию выводится информация за последние 30 дней. При указании параметров from и to можно получить вывод статистики за указанный период, в параметрах допустимо указывать дату/время в стандартных форматах. Пример получения информации:

curl -X GET -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' "https://userapi.macloud.ru/v1/server.stat/1345"

И пример возвращаемого ответа в формате JSON:

{
  "status": "ok",
  "status_msg": "Server stat information",
  "data": [
    {
      "dt": "2019-07-12 00:00:00",
      "stat": {
        "cpu": 2.0839426931666667,
        "disk_reads": 1,
        "disk_writes": 11,
        "lnet_rx": 0,
        "lnet_tx": 0,
        "vnet_rx": 9948,
        "vnet_tx": 103054
      }
    },
    ...
  ]
}

Статистика выводится блоками через каждый час. Значения можно расшифровать: cpu – средняя загрузка процессора в процентах за сегмент времени, disk_reads/disk_writes – количество операций чтения/записи за указанный сегмент времени, lnet_rx/lnet_tx – принятый и переданный трафик по локальной сети в байтах за сегмент времени, vnet_rx/vnet_tx – принятый и переданный трафик во внешней сети (интернет) в байтах.

Операции по балансам аккаунта

Доступные методы:

Поле Признак Описание, тип
from необязательно Строка, дата, с которой получать список операций
to необязательно Строка, дата по которую получать список операций
summ необязательно Число, сумма пополнения

Пример получения информации:

curl -X GET -H 'Authorization: 024ccf95e8544260c0f1f78a6da38d376d8636f6baa326c0da7b0a2c207693ad' "https://userapi.macloud.ru/v1/operation?from=2019-07-17&to=2019-07-19"

И пример возвращаемого ответа в формате JSON:

{
  "status": "ok",
  "status_msg": "Operation list",
  "data": [
    {
      "id": 2177311,
      "purse": "real",
      "type": 1,
      "status": 0,
      "summ": "1000",
      "created": "2019-07-18 14:39:29",
      "updated": "2019-07-18 14:48:28",
      "comment": "Пополнение баланса",
      "payment": {
        "type": "webmoney",
        "name": "WebMoney R"
      },
      "service": null,
      "paylink": "https://cp.macloud.ru/operation/select/41cd63800a8beb1961527ddeebf530a521391f"
    },
    {
      "id": 2170929,
      "purse": "real",
      "type": -1,
      "status": 1,
      "summ": "8.3",
      "created": "2019-07-17 14:24:25",
      "updated": "2019-07-17 14:24:25",
      "comment": "Списание за услугу Сервер 1 ГБ #137841 – api test server",
      "payment": null,
      "service": {
        "id": 137841
      },
      "paylink": null
    },
    ...
  ]
}

Краткое описание некоторых возвращаемых полей:

purse – тип баланса (real – основной баланс, bonus – бонусный баланс, partner – партнерский баланс), type – тип операции (1 – зачисление, -1 – списание), status – статус операции (0 – не оплачено, 1 – оплачено), summ – сумма операции (приведено к строковому типу). Если это операция пополнения и ее можно оплатить, у такой операции есть поле paylink, в нем содержится ссылка на процесс оплаты, процесс не требует аутентификации в панели управления и ссылка может быть передана кому угодно, ссылка уникальная и одноразовая, если операция оплачена, повторно оплатить по такой ссылке нельзя.

Управление DNS

Доступные методы:

Поле Признак Описание, тип
name обязательно Строка, имя домена для размещения в DNS
ip необязательно Строка, адрес IPv4, на основе которого нужно создать DNS-записи по умолчанию
host обязательно Строка, имя DNS-записи, либо с постфиксом домена, либо только префикс, доступны также @ и * в имени, должно быть правильным именем домена в итоге
type обязательно Строка, тип записи, один из списка: A, AAAA, CNAME, MX, NS, SRV, CAA, TXT
value обязательно Строка, значение DNS-записи, в зависимости от типа разные проверки, например для записи типа A значение должно быть правильным IPv4-адресом
tag необязательно Строка, необходимый параметр для записей типа CAA, может быть одним из списка: issue, issuewild, iodef, unknown
priority необязательно Положительное число, приоритет/флаг DNS-записи для поддерживаемых типов (MX, SRV, CAA)

Возможные статусы DNS-доменов:

Дополнительно к статусу DNS-домена может быть дополнительный статус в поле status_text. В нем содержится описание действия, которое выполняется с DNS-доменом в данный момент.