API / Довідник методів / Файли сервера
Файли сервера
Список, читання, запис, видалення й перейменування файлів.
Адреса:
https://sourhost.net/api/v1·Авторизація: Authorization: Bearer sh_live_…GET
/projects/:id/services/:serviceId/files— Список файлівGET/projects/:id/services/:serviceId/files/content— Прочитати файлPUT/projects/:id/services/:serviceId/files/content— Записати файлPOST/projects/:id/services/:serviceId/files/delete— Видалити файлиPOST/projects/:id/services/:serviceId/files/rename— Перейменувати файлPOST/projects/:id/services/:serviceId/files/folder— Створити папкуGET
/projects/:id/services/:serviceId/filesСписок файлів
Право:
servers:filesПараметри
idобовʼязковий | path · string | Номер проєкту (з GET /projects) або тікета |
serviceIdобовʼязковий | path · string | Номер послуги (з GET /projects/:id/services) |
dir | query · string | Папка, за замовчуванням / |
Приклад запиту
curl "https://sourhost.net/api/v1/projects/12/services/34/files?dir=%2Fgame%2Fcsgo%2Fcfg" \
-H "Authorization: Bearer $SOURHOST_TOKEN"Відповідь
HTTP
HTTP/2 200 OK
{
"dir": "/game/csgo/cfg",
"items": [
{
"name": "server.cfg",
"path": "/game/csgo/cfg/server.cfg",
"directory": false,
"size": 1834,
"mimetype": "text/plain",
"modifiedAt": "2026-11-10T21:14:00Z"
}
]
}Помилки методу
| 404 | file_not_found | Немає такого файлу чи папки |
| 400 | path_invalid | Невірний шлях |
GET
/projects/:id/services/:serviceId/files/contentПрочитати файл
Право:
servers:filesПараметри
idобовʼязковий | path · string | Номер проєкту (з GET /projects) або тікета |
serviceIdобовʼязковий | path · string | Номер послуги (з GET /projects/:id/services) |
pathобовʼязковий | query · string | Шлях до текстового файлу до 1 МБ |
Приклад запиту
curl "https://sourhost.net/api/v1/projects/12/services/34/files/content?path=%2Fgame%2Fcsgo%2Fcfg%2Fserver.cfg" \
-H "Authorization: Bearer $SOURHOST_TOKEN"Відповідь
HTTP
HTTP/2 200 OK
{
"path": "/game/csgo/cfg/server.cfg",
"size": 1834,
"content": "hostname \"Retake #1\"\nsv_cheats 0\n"
}Помилки методу
| 404 | file_not_found | Немає такого файлу чи папки |
| 413 | file_too_large | Більше 1 МБ або не текст |
| 400 | path_invalid | Невірний шлях |
PUT
/projects/:id/services/:serviceId/files/contentЗаписати файл
Замінює файл повністю (створює, якщо його немає).
Право:
servers:filesПараметри
idобовʼязковий | path · string | Номер проєкту (з GET /projects) або тікета |
serviceIdобовʼязковий | path · string | Номер послуги (з GET /projects/:id/services) |
pathобовʼязковий | body · string | Шлях до файлу |
contentобовʼязковий | body · string | Новий вміст, текст до 1 МБ |
Приклад запиту
curl -X PUT "https://sourhost.net/api/v1/projects/12/services/34/files/content" \
-H "Authorization: Bearer $SOURHOST_TOKEN" \
-H "Content-Type: application/json" \
-d '{"path":"/game/csgo/cfg/server.cfg","content":"hostname \"Retake #1\"\nsv_cheats 0\n"}'Відповідь
204 Порожня відповідь
Помилки методу
| 413 | file_too_large | Більше 1 МБ або не текст |
| 400 | path_invalid | Невірний шлях |
POST
/projects/:id/services/:serviceId/files/deleteВидалити файли
Право:
servers:filesПараметри
idобовʼязковий | path · string | Номер проєкту (з GET /projects) або тікета |
serviceIdобовʼязковий | path · string | Номер послуги (з GET /projects/:id/services) |
rootобовʼязковий | body · string | Папка, наприклад /game/csgo/cfg |
filesобовʼязковий | body · string[] | Імена файлів і папок у root |
Приклад запиту
curl -X POST "https://sourhost.net/api/v1/projects/12/services/34/files/delete" \
-H "Authorization: Bearer $SOURHOST_TOKEN" \
-H "Content-Type: application/json" \
-d '{"root":"/game/csgo/maps","files":["old_map.bsp"]}'Відповідь
204 Порожня відповідь
POST
/projects/:id/services/:serviceId/files/renameПерейменувати файл
Право:
servers:filesПараметри
idобовʼязковий | path · string | Номер проєкту (з GET /projects) або тікета |
serviceIdобовʼязковий | path · string | Номер послуги (з GET /projects/:id/services) |
Приклад запиту
curl -X POST "https://sourhost.net/api/v1/projects/12/services/34/files/rename" \
-H "Authorization: Bearer $SOURHOST_TOKEN" \
-H "Content-Type: application/json" \
-d '{"root":"/game/csgo/cfg","from":"server.cfg","to":"server.cfg.bak"}'Відповідь
204 Порожня відповідь
POST
/projects/:id/services/:serviceId/files/folderСтворити папку
Право:
servers:filesПараметри
idобовʼязковий | path · string | Номер проєкту (з GET /projects) або тікета |
serviceIdобовʼязковий | path · string | Номер послуги (з GET /projects/:id/services) |
Приклад запиту
curl -X POST "https://sourhost.net/api/v1/projects/12/services/34/files/folder" \
-H "Authorization: Bearer $SOURHOST_TOKEN" \
-H "Content-Type: application/json" \
-d '{"root":"/game/csgo/cfg","name":"tournament"}'Відповідь
204 Порожня відповідь
Загальні помилки
Будь-який метод може відповісти так. Докладніше про помилки
| 400 | bad_request | Невірне тіло чи параметри |
| 401 | token_invalid | Токен невірний, відкликаний або прострочений |
| 403 | token_scope_missing | У токена немає потрібного права |
| 403 | token_project_forbidden | Проєкт чи послуга поза обмеженнями токена |
| 404 | not_found | Немає такого проєкту, послуги чи об’єкта |
| 429 | token_rate_limited | Забагато запитів, див. Retry-After |
| 503 | upstream_unavailable | Панель або нода не відповіли — повторіть пізніше |