REST API QoCloud
Всё, что можно сделать в панели, можно сделать и через API: создать сервер, перезагрузить, переустановить ОС, продлить. API в разработке — формат может измениться до запуска.
https://api.qocloud.tech/v1Токен из раздела «Настройки → API-ключи» в заголовке Authorization: Bearer …. Храните его как пароль.
Первый запрос
Сохраните токен в переменную окружения и запросите список серверов.
$ export QOCLOUD_TOKEN="qc_live_…"$ curl https://api.qocloud.tech/v1/servers -H "Authorization: Bearer $QOCLOUD_TOKEN"/catalogКонфигурации и цены
Страны, конфигурации с ценами в рублях за месяц, доступные ОС и сроки оплаты.
$ curl -X GET https://api.qocloud.tech/v1/catalog \ -H "Authorization: Bearer $QOCLOUD_TOKEN"{ "locations": [ { "code": "nl", "name": "Нидерланды", "available": true } ], "plans": [ { "id": "2c-4g-60", "line": "start", "cpu": 2, "ram": 4, "disk": 60, "monthly": { "nl": 945 } } ], "os": [ "ubuntu2404", "debian12" ], "periods": [ "1m", "3m", "6m", "1y" ]}/serversСписок серверов
Все серверы аккаунта со статусом и сроком оплаты.
$ curl -X GET https://api.qocloud.tech/v1/servers \ -H "Authorization: Bearer $QOCLOUD_TOKEN"{ "servers": [ { "id": "srv-1042", "name": "web-01", "status": "running", "plan": "2c-4g-60", "location": "nl", "ip": "203.0.113.10", "paid_until": "2026-12-02" } ]}/serversСоздать сервер
Создаёт сервер и списывает стоимость срока с баланса. Пароль root придёт на почту, если не передать ssh_keys.
| Параметр | Описание |
|---|---|
planstring · обязательный | id конфигурации из /catalog |
locationstring · обязательный | код страны: nl, de, pl, ee |
osstring · обязательный | образ из /catalog |
periodstring · обязательный | 1m, 3m, 6m или 1y |
namestring · обязательный | латиница, цифры и дефис, до 60 символов |
ssh_keysstring[] | имена SSH-ключей из настроек |
$ curl -X POST https://api.qocloud.tech/v1/servers \ -H "Authorization: Bearer $QOCLOUD_TOKEN" \ -H "Content-Type: application/json" \ -d '{"plan":"2c-4g-60","location":"nl","os":"ubuntu2404","period":"1m","name":"web-02","ssh_keys":["macbook"]}'{ "id": "srv-1077", "status": "installing", "charged": 945}/servers/{id}Сервер
Подробности о сервере, включая текущий статус питания.
| Параметр | Описание |
|---|---|
idstring · обязательный | id сервера |
$ curl -X GET https://api.qocloud.tech/v1/servers/srv-1042 \ -H "Authorization: Bearer $QOCLOUD_TOKEN"{ "id": "srv-1042", "name": "web-01", "status": "running", "plan": "2c-4g-60", "location": "nl", "os": "ubuntu2404", "ip": "203.0.113.10", "paid_until": "2026-12-02"}/servers/{id}/actions/{action}Действие с сервером
Запуск, остановка, перезагрузка, переустановка ОС, смена IP или продление. Операции асинхронные — статус меняется через несколько секунд.
| Параметр | Описание |
|---|---|
actionstring · обязательный | start, stop, reboot, reinstall, change-ip, renew |
osstring | только для reinstall |
periodstring | только для renew |
$ curl -X POST https://api.qocloud.tech/v1/servers/srv-1042/actions/reinstall \ -H "Authorization: Bearer $QOCLOUD_TOKEN" \ -H "Content-Type: application/json" \ -d '{"os":"debian12"}'{ "id": "srv-1042", "status": "installing"}/servers/{id}Удалить сервер
Удаляет сервер и все данные на нём. Действие необратимо.
$ curl -X DELETE https://api.qocloud.tech/v1/servers/srv-1042 \ -H "Authorization: Bearer $QOCLOUD_TOKEN"{ "id": "srv-1042", "status": "deleted"}/balanceБаланс
Текущий баланс и расходы в месяц.
$ curl -X GET https://api.qocloud.tech/v1/balance \ -H "Authorization: Bearer $QOCLOUD_TOKEN"{ "balance": 4820, "currency": "RUB", "monthly_spend": 6241}