SkyStream API

Получить список событий

GET/events

Возвращает события аккаунта от новых к старым — в порядке появления в списке, — постранично. События хранятся 30 суток.

Чтобы не пропустить события, запомните id последнего обработанного события и читайте страницы, пока не дойдёте до него: событие, появившееся позже, всегда стоит в списке раньше.

Право ключа: не требуется, запрос доступен любому ключу.

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

Авторизация

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

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

Где: header

Параметры строки запроса

limit?integer

Сколько объектов вернуть: от 1 до 100, по умолчанию 20.

Диапазон1 <= value <= 100
По умолчанию20
starting_after?string

Id последнего объекта предыдущей страницы: ответ начнётся со следующего за ним.

type?string

Только события этого типа.

Одно из значений

  • "run.live"
  • "run.waiting"
  • "run.stopped"
  • "order.started"
  • "order.completed"
  • "order.failed"
  • "order.cancelled"
  • "limit.expiring"
  • "api_key.expiring"

Тело ответа

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

GET/events?limit=20
curl "https://api.skystream.su/app/v1/events?limit=20" \  -H "Authorization: Bearer $API_KEY"
bash, zshКлюч — в переменной API_KEY
Ответ

От новых к старым. Объект в data.object — таким, каким он был в момент события.

{  "data": [    {      "id": "evt_1031",      "type": "run.live",      "object_type": "run",      "created_at": "2026-10-05T17:42:01.000Z",      "data": {        "object": {          "id": "run_346",          "channel_id": "ch_12",          "channel_name": "example_channel",          "platform": "twitch",          "status": "running",          "stop_reason": null,          "viewers": 150,          "started_at": "2026-10-05T17:41:05.000Z",          "stopped_at": null,          "duration_seconds": null        }      }    },    {      "id": "evt_1030",      "type": "order.completed",      "object_type": "order",      "created_at": "2026-10-05T17:00:00.000Z",      "data": {        "object": {          "id": "cp_7",          "status": "completed",          "channel": "example_channel",          "price": {            "amount": 3600,            "currency": "RUB"          },          "created_at": "2026-10-05T14:00:00.000Z",          "completed_at": "2026-10-05T17:00:00.000Z",          "type": "chat_panel",          "platform": "twitch",          "chat_panel": {            "accounts": 3,            "duration_minutes": 180,            "ends_at": "2026-10-05T17:00:00.000Z",            "extend_unit_amount_decimal": null          }        }      }    },    {      "id": "evt_1027",      "type": "order.started",      "object_type": "order",      "created_at": "2026-10-05T12:21:02.000Z",      "data": {        "object": {          "id": "fo_8b2e4c6a9d1f3057",          "status": "active",          "channel": "example_channel",          "price": {            "amount": 9000,            "currency": "RUB"          },          "created_at": "2026-10-05T12:20:15.000Z",          "completed_at": null,          "type": "followers",          "platform": "twitch",          "followers": {            "count": 200,            "delivered": 0,            "only_when_online": true          }        }      }    }  ],  "has_more": true}