Public API (v1.0.0)

Serverspace Public API - публичный API для взаимодействия с услугами Serverspace. Действия, выполняемые в панели управления Serverspace, также могут быть выполнены с помощью публичного API. В этой документации описывается программный интерфейс (API) Serverspace - различные операции API, структуры запросов и ответов, коды ошибок и примеры.

Аутентификация

Для работы с публичным API необходимо создать API-ключ для проекта. Сгенерировать ключ может владелец проекта в панели управления в настройках проекта. Каждый ключ обладает атрибутами: имя, значение ключа, дата выпуска, дата истечения. Имя ключа может быть произвольным, но не превышать 50 символов. Значение ключа генерируется автоматически, оно имеет длину 64 символа. Дата истечения ключа может отсутствовать, т.е. ключ может быть бессрочным.

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

  -H "X-API-KEY: lmGwbvllpIqIrKROOCLgE5Z941MKP5EYfbkgwtqJZGigfXUTpuYRpNQkCqShmm6r"

Все запросы API должны выполняться через протокол HTTPS. Вызовы, сделанные через HTTP, завершатся ошибкой. Запросы API без аутентификации также завершатся ошибкой.

Endpoint:

  https://api.serverspace.ru/

Возможности

Ниже представлены объекты, которыми можно управлять с помощью публичного API, и как они соотносятся с услугами в панели управления.

Услуга Объект Действия
Облачные серверы Шаблон ОС Просмотр доступных ОС для создания серверов и сетей
Облачные серверы Конфигурация Просмотр доступных конфигураций для создания серверов и cетей
Облачные серверы Локация Просмотр доступных локаций для создания серверов и сетей
Облачные серверы Сервер Создание сервера
Просмотр деталей
Управление питанием
Изменение конфигурации
Удаление
Облачные серверы Диск Создание диска
Просмотр деталей
Изменение размера
Удаление
Облачные серверы Снимок Создание снимка
Просмотр деталей
Возвращение сервера к снимку
Удаление
Облачные серверы Изолированная сеть Создание изолированной сети
Просмотр деталей
Изменение конфигурации
Удаление
Облачные серверы Сетевой интерфейс Подключение сервера к сети (создание сетевого интерфейса)
Просмотр деталей
Отключение сервера от сети (удаление сетевого интерфейса)
Проект SSH-ключ Создание SSH-ключа
Просмотр деталей
Удаление
Проект Проект Просмотр деталей проекта
Проект Задача Просмотр деталей
DNS Доменное имя Создание доменного имени
Просмотр деталей
Удаление домена
DNS DNS-запись Создание DNS-записи
Просмотр деталей
Изменение DNS-записи
Удаление DNS-записи

Проекты

Получить информацию о проекте

Детализация

Возвращает ID проекта и текущий баланс проекта. Проекты позволяют владельцу аккаунта предоставлять полный или ограниченный доступ к своей инфраструктуре другим пользователям для совместной работы с ресурсами: серверами, сетями, балансом и др. Существует два типа проектов: личные и общие. Каждому пользователю в проекте, может быть присвоена роль с определенными правами доступа: владелец, администратор или бухгалтер

Responses

Response samples

Content type
application/json
{
  • "project":
    {
    }
}

SSH-ключи

Работа с SSH-ключами

Список

Возвращает список SSH-ключей. SSH-ключи используются при создании сервера с операционной системой семейства Linux. Использование SSH-ключей позволяет подключаться к серверу без пароля и повышает уровень безопасности сервера

Responses

Response samples

Content type
application/json
{
  • "ssh_key":
    [
    ]
}

Создать новый

Добавляет новый SSH-ключ. SSH-ключи используются при создании сервера с операционной системой семейства Linux. Использование SSH-ключей позволяет подключаться к серверу без пароля и повышает уровень безопасности сервера

Request Body schema: application/json

Поддерживаемые форматы OpenSSH и SSH2

name
string

Название ключа

public_key
string

Код ключа

Responses

Request samples

Content type
application/json
{
  • "name": "Test Ssh-Key 1",
  • "public_key": "---- BEGIN SSH2 PUBLIC KEY ----\r\nComment: \"rsa-key-20190927\"\r\nAAAAB3NzaC1yc2EAAAABJQAAAQEAkEWseYLYVW4wpdNwWNXtoz84r5sYZ2FBXJ5M\r\nsfibRpJ47o/2z6VcdYnbhhJ/J2dE9AlDCGgleXilnxc9UKRgWXi3NHMmDNFi1kR5\r\nJ6xcY3Tv0ly6w0if+QMJULnoixgPulg93JanVxCvAFy4sE8kwQqTQrYio3UJbiQ5\r\nlX0kEkaWMDM/p8Z97d5izVN+PoMjW0bZdK17VAS90cf+FKFL6cs5VKrY/d7OMfxi\r\nqNeEs+vzYPK2VT4aiLLzryTIiDgG9CjsPtRoMxSihw5tdIw3mhsFdZkKdaJDfank\r\noQ3Y6P4XFPbzwOfDLwIRkDd7Gbh7jRp+4SeVVsBP9AbBR/kv3w==\r\n---- END SSH2 PUBLIC KEY ----"
}

Response samples

Content type
application/json
{
  • "id": 1,
  • "name": "Test Ssh-Key 1",
  • "public_key": "---- BEGIN SSH2 PUBLIC KEY ----\r\nComment: \"rsa-key-20190927\"\r\nAAAAB3NzaC1yc2EAAAABJQAAAQEAkEWseYLYVW4wpdNwWNXtoz84r5sYZ2FBXJ5M\r\nsfibRpJ47o/2z6VcdYnbhhJ/J2dE9AlDCGgleXilnxc9UKRgWXi3NHMmDNFi1kR5\r\nJ6xcY3Tv0ly6w0if+QMJULnoixgPulg93JanVxCvAFy4sE8kwQqTQrYio3UJbiQ5\r\nlX0kEkaWMDM/p8Z97d5izVN+PoMjW0bZdK17VAS90cf+FKFL6cs5VKrY/d7OMfxi\r\nqNeEs+vzYPK2VT4aiLLzryTIiDgG9CjsPtRoMxSihw5tdIw3mhsFdZkKdaJDfank\r\noQ3Y6P4XFPbzwOfDLwIRkDd7Gbh7jRp+4SeVVsBP9AbBR/kv3w==\r\n---- END SSH2 PUBLIC KEY ----"
}

Получить по ID

Возвращает детализацию одного SSH-ключа. SSH-ключи используются при создании сервера с операционной системой семейства Linux. Использование SSH-ключей позволяет подключаться к серверу без пароля и повышает уровень безопасности сервера

path Parameters
ssh_key_id
required
integer <int32>

ID SSH-ключа, информацию о котором необходимо получить

Responses

Response samples

Content type
application/json
{
  • "ssh_key":
    {
    }
}

Удалить