SkyStream API

Создать график

POST/graphs

Создаёт график онлайна. Кривая задаётся одним из двух способов:

  • points — точками: минута от старта графика и доля от числа зрителей запуска, %. Первая точка — на минуте 0, минуты по возрастанию, последняя — не позже duration_minutes. Между точками кривая плавная.
  • generate — генерацией по среднему уровню, набору и сглаживанию, как кнопка «Сгенерировать» в панели. С тем же seed получается та же кривая.

Значения за границами отклоняются, а не поджимаются: сохраняется ровно то, что передано. Созданный график ни одному каналу не назначен; назначает его PATCH /channels/{id}/settings с graph_id.

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

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

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

Авторизация

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

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

Где: header

Заголовки

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

POST/graphs

Набор за полчаса, пик с полутора до трёх часов, к четырём часам — 70%, потом спад за 30 минут.

curl https://api.skystream.su/app/v1/graphs \  -X POST \  -H "Authorization: Bearer $API_KEY" \  -H "Idempotency-Key: 7c0a5f4e-2b1d-4c9e-9a51-3f6d8e2b1c40" \  -H "Content-Type: application/json" \  -d '{    "name": "Вечерний эфир",    "duration_minutes": 240,    "points": [      {        "minute": 0,        "percent": 40      },      {        "minute": 30,        "percent": 80      },      {        "minute": 90,        "percent": 100      },      {        "minute": 180,        "percent": 100      },      {        "minute": 240,        "percent": 70      }    ],    "after_end": "decay",    "decay_minutes": 30  }'
bash, zshКлюч — в переменной API_KEY
Ответ

Ответ на генерацию: кривую можно поправить точками в PATCH /graphs/{id}.

{  "id": "gr_7",  "name": "Сгенерированный",  "duration_minutes": 180,  "points": [    {      "minute": 0,      "percent": 1    },    {      "minute": 8,      "percent": 30    },    {      "minute": 15,      "percent": 55    },    {      "minute": 20,      "percent": 57    },    {      "minute": 40,      "percent": 62    },    {      "minute": 60,      "percent": 73    },    {      "minute": 80,      "percent": 75    },    {      "minute": 100,      "percent": 75    },    {      "minute": 105,      "percent": 73    },    {      "minute": 120,      "percent": 67    },    {      "minute": 140,      "percent": 59    },    {      "minute": 160,      "percent": 50    },    {      "minute": 180,      "percent": 38    }  ],  "after_end": "decay",  "decay_minutes": 20,  "channel_ids": [],  "updated_at": "2026-10-01T09:12:40.000Z"}