SkyStream API

Изменить график

PATCH/graphs/{id}

Меняет только переданные поля. Кривая заменяется целиком — новыми points или generate; без них остаётся прежней, и тогда новая duration_minutes не может быть короче её последней точки.

Правка сразу доходит до каналов из channel_ids: идущие на них запуски ведут онлайн по новой кривой со следующей минуты, отсчёт от старта графика не сбрасывается.

Право ключа: channels — каналы и их настройки.

Частота: класс «изменение» — 30 запросов в минуту на ключ, 60 на аккаунт.

Idempotency-Key: необязателен; с ним повтор запроса безопасен.

Авторизация

bearerAuth
АвторизацияBearer <ключ>

Ключ API из панели. Только в заголовке Authorization: ключ в строке запроса отклоняется.

Где: header

Параметры адреса

id*string

Идентификатор графика.

Заголовки

Idempotency-Key?string

Ключ идемпотентности: от 8 до 128 знаков из латинских букв, цифр и символов _ : . -. Повтор запроса с тем же ключом возвращает сохранённый ответ. Ключ хранится 24 часа.

Шаблон^[A-Za-z0-9_:.\-]+$
Длина8 <= length <= 128

Тело запроса

application/json

Типы TypeScript

Тип request body для TypeScript.

Изменения графика. Непереданные поля остаются прежними; кривая заменяется целиком — новыми points или generate.

Тело ответа

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

PATCH/graphs/gr_12
curl https://api.skystream.su/app/v1/graphs/gr_12 \  -X PATCH \  -H "Authorization: Bearer $API_KEY" \  -H "Idempotency-Key: 7c0a5f4e-2b1d-4c9e-9a51-3f6d8e2b1c40" \  -H "Content-Type: application/json" \  -d '{    "name": "Вечер пятницы"  }'
bash, zshКлюч — в переменной API_KEY
Ответ

Канал ch_12 ведёт онлайн по новой кривой со следующей минуты.

{  "id": "gr_3",  "name": "Вечерний эфир",  "duration_minutes": 180,  "points": [    {      "minute": 0,      "percent": 50    },    {      "minute": 60,      "percent": 100    },    {      "minute": 180,      "percent": 60    }  ],  "after_end": "decay",  "decay_minutes": 30,  "channel_ids": [    "ch_12"  ],  "updated_at": "2026-10-01T09:30:02.000Z"}