Общая информация о работе с API
Доступ к API предоставляется по запросу и требует верификации аккаунта: предоставления копии паспорта владельца аккаунта (для юр.лиц — свидетельства ИНН). После верификации вам будет выдан AppKey, необходимый для авторизации в сервисе.
Обращение к API выполняется GET- и POST-запросами к URL https://api.timeweb.ru
Синтаксис запросов для доступных действий — в инструкции ниже.
Обратите внимание! Для работы с API двухфакторная аутентификация в панель управления (опция "Отправлять код подтверждения при входе" в разделе "Безопасность") должна быть отключена.
Авторизация
Для авторизации в системе необходимы следующие данные:
- Логин аккаунта.
- Пароль аккаунта.
- AppKey — предоставляется по запросу в Службу поддержки.
В ответ на запрос авторизации будет предоставлен токен для последующей аутентификации при работе с API.
AppKey и токен действуют без ограничений до блокировки или удаления аккаунта.
Запрос на авторизацию
curl -qkSsv -X POST https://api.timeweb.ru/v1.2/access \ -H 'X-App-Key: <номер AppKey>' \ -u <логин аккаунта>:<пароль аккаунта>
Пример ответа на запрос
Токен доступен в поле "token".
{ "expires_in": 0, "password": "string", "registrationDate": "2020-04-21T12:56:57.125Z", "timestamp": 0, "token": "639Х89ee-259d-4dd5-9fХ0-8e7ХХ6d893ХХХ", "token_type": "bearer", "user": "string", "user_type": "vds" }
Пример запроса с использованием токена
curl -X GET "https://api.timeweb.ru/v1.1/vds/account/cc83217/server" -H "accept: application/json" -H "x-app-key: 9d999b163fdc572524028201a02c9999" -H "Authorization: Bearer 639Х89ee-259d-4dd5-9fХ0-8e7ХХ6d893ХХХ"
Доступные операции
Получение списка VDS аккаунта
Запрос
GET/v1.1/vds/account/{login}/server
- {login} - логин аккаунта
Пример запроса
curl -X GET "https://api.timeweb.ru/v1.1/vds/account/cn90632/server" -H "accept: application/json" -H "x-app-key: 9d999b163fdc572524028201a02c9999" -H "Authorization: Bearer 639Х89ee-259d-4dd5-9fХ0-8e7ХХ6d893ХХХ"
Пример ответа
В параметре "id" ("id": 293399
в этом примере) выведен идентификатор VDS, необходимый для управления сервером
[ { "comment": "", "configuration": { "backup_size": 0, "caption": "Mysterious Prospero", "ddos_guard": false, "disk_size": 10, "network_bandwidth": 200, "os": "ubuntu-18.04", "os_id": 47, "software": [], "vds_boot": "std", "xen_cpu": 1, "xen_ram": 1024 }, "create_date": "2020-03-06 16:58:03+03:00", "group_id": 562, "group_position": 0, "id": 293399, "install_ssh_key": "", "ip": "176.57.220.188", "ipv6": "2a03:6f00:4::b039:dcbc", "is_busy": false, "name": "vds-cn90632", "preset_id": 94, "progress": 100, "start_time": 1583504076, "status": "on", "trial": false, "uptime": 3976222, "virt_type": "kvm", "vnc_password": "wLXxg9t3" }, { "comment": "новый сервер", "configuration": { "backup_size": 5, "caption": "don`t delete vds", "ddos_guard": false, "disk_size": 5, "network_bandwidth": 100, "os": "centos-7", "os_id": 39, "software": [ 2 ], "vds_boot": "std", "xen_cpu": 2, "xen_ram": 512 }, "create_date": "2016-10-20 13:37:15+03:00", "group_id": 562, "group_position": 1, "id": 62784, "install_ssh_key": "", "ip": "188.225.79.202", "ipv6": "2a03:6f00:4::bce1:4fca", "is_busy": false, "name": "vds-cn90632", "preset_id": null, "progress": 100, "start_time": 1583462230, "status": "on", "trial": false, "uptime": 4018049, "virt_type": "kvm", "vnc_password": "j9XxwH2L" },
Вывод сервера по идентификатору (VDS ID)
Запрос
GET/v1.1/vds/account/{login}/server/{vds_id}
Параметры:
- {login} - логин аккаунта
- {vds_id} - идентификатор сервера
Пример запроса
curl -X GET "https://api.timeweb.ru/v1.1/vds/account/cn90632/server/293399" -H "accept: application/json" -H "x-app-key: 9d999b163fdc572524028201a02c9999" -H "Authorization: Bearer 639Х89ee-259d-4dd5-9fХ0-8e7ХХ6d893ХХХ"
Пример ответа
{ "comment": "", "configuration": { "backup_size": 0, "caption": "Mysterious Prospero", "ddos_guard": false, "disk_size": 10, "network_bandwidth": 200, "os": "ubuntu-18.04", "os_id": 47, "software": [], "vds_boot": "std", "xen_cpu": 1, "xen_ram": 1024 }, "create_date": "2020-03-06 16:58:03+03:00", "group_id": 562, "group_position": 0, "id": 293399, "install_ssh_key": "", "ip": "176.57.220.188", "ipv6": "2a03:6f00:4::b039:dcbc", "is_busy": false, "name": "vds-cn90632", "preset_id": 94, "progress": 100, "start_time": 1583504076, "status": "on", "trial": false, "uptime": 3976398, "virt_type": "kvm", "vnc_password": "wLXxg9t3" }
Команды управления сервером
Запрос
POST /v1.1/vds/account/{login}/server/{vds_id}/{action}
Параметры:
- {login} - логин аккаунта
- {vds_id} - идентификатор сервера
- {action} - команда серверу
Доступные команды:
- Установка сервера - install
- Запуск сервера - start
- Выключение - shutdown
- Принудительное выключение - hard_shutdown
- Удаление - remove
- Перезагрузка - reboot
- Клонирование - clone
- Принудительная перезагрузка - hard_reboot
- Сброс пароля - reset_password
Пример запроса
curl -X POST "https://api.timeweb.ru/v1.1/vds/account/cn90632/server/293399/reboot" -H "accept: */*" -H "x-app-key: 9d999b163fdc572524028201a02c9999" -H "Authorization: Bearer 639Х89ee-259d-4dd5-9fХ0-8e7ХХ6d893ХХХ"
Ответ на запрос
access-control-allow-headers: accept,authorization,content-type,origin,x-app-key,x-client-ip,x-customer-id,x-requested-with access-control-allow-methods: HEAD,GET,POST,PUT,DELETE,PATCH,OPTIONS access-control-allow-origin: https://api.timeweb.ru connection: keep-alive content-length: 0 content-type: application/json date: Tue, 21 Apr 2020 14:56:22 GMT server: nginx vary: accept
Действия с доменами
Для работы с доменами и ресурсными записями применяются те же методы, что для виртуального хостинга: