Get stream info GET https://api.blaze.stream/v1/channels/stream-info
Checks whether the authorized channel is live, or the channelId query target when using an App Access Token. Live responses include title, preview image, start time, and category metadata.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Authorizations User Access Token App Access Token Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json GET /v1/channels/stream-info
GET /v1/channels/stream-info HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json200 OK
{
"success": true,
"message": "success",
"data": {
"isLive": true,
"title": "Building with Blaze",
"previewImgUrl": "https://cdn.blaze.stream/previews/channel.jpg",
"startedAt": "2026-05-04T12:00:00.000Z",
"category": {
"id": 12,
"title": "Just Chatting"
}
}
}Get channel stats GET https://api.blaze.stream/v1/channels/stats
Returns high-level counters for the authorized channel, or for the channelId query target when using an App Access Token.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Authorizations User Access Token App Access Token Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json GET /v1/channels/stats HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json200 OK
{
"success": true,
"message": "success",
"data": {
"followerCount": 1204,
"subscriberCount": 84,
"viewerCount": 312
}
}List followers GET https://api.blaze.stream/v1/channels/followers
Returns a cursor-paginated list of users following the authorized channel, including subscription context for each row.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Query parameters cursorstring optional
Pagination cursor returned from the previous response.
limitinteger optional
Maximum number of rows to return.
Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json GET /v1/channels/followers
GET /v1/channels/followers?limit=20 HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json200 OK
{
"success": true,
"message": "success",
"data": {
"rows": [
{
"id": "2f4c6d9a-8e2b-4d77-9f0d-3a1b2c4d5e6f",
"displayName": "Viewer",
"slug": "viewer",
"avatarUrl": "https://cdn.blaze.stream/avatar.png",
"isFollower": true,
"followedAt": "2026-05-04T12:00:00.000Z",
"subscriptionInfo": {
"isSubscriber": false,
"hadSubscriptionBefore": false,
"renewCount": null,
"streakCount": null,
"expiresAt": null,
"subscribedAt": null
}
}
],
"pagination": {
"cursor": "NEXT_CURSOR"
}
}
}List followed channels GET https://api.blaze.stream/v1/channels/followed
Returns channels followed by the authorized user, including notification state and subscription context.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Query parameters cursorstring optional
Pagination cursor returned from the previous response.
limitinteger optional
Maximum number of rows to return.
Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json GET /v1/channels/followed?limit=20 HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json200 OK
{
"success": true,
"message": "success",
"data": {
"rows": [
{
"id": "9b7f3c2a-2f41-4f5e-9f54-6c1d8a2b7e90",
"displayName": "Creator",
"slug": "creator",
"avatarUrl": "https://cdn.blaze.stream/channel.png",
"isFollower": true,
"followedAt": "2026-05-04T12:00:00.000Z",
"isNotificationEnabled": true,
"subscriptionInfo": {
"isSubscriber": true,
"hadSubscriptionBefore": true,
"renewCount": 3,
"streakCount": 2,
"expiresAt": true,
"subscribedAt": "2026-03-04T12:00:00.000Z"
}
}
],
"pagination": {
"cursor": "NEXT_CURSOR"
}
}
}List banned users GET https://api.blaze.stream/v1/channels/banned-users
Returns users banned from the authorized channel and the moderator account that applied each ban.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Query parameters cursorstring optional
Pagination cursor returned from the previous response.
limitinteger optional
Maximum number of rows to return.
Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json GET /v1/channels/banned-users
GET /v1/channels/banned-users?limit=20 HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json200 OK
{
"success": true,
"message": "success",
"data": {
"rows": [
{
"id": "2f4c6d9a-8e2b-4d77-9f0d-3a1b2c4d5e6f",
"displayName": "Viewer",
"slug": "viewer",
"bannedAt": "2026-05-04T12:00:00.000Z",
"bannedBy": {
"id": "0f3d8a67-4d25-48f1-a3c5-1f7a9b2c6d30",
"displayName": "Moderator",
"slug": "moderator"
}
}
],
"pagination": {
"cursor": "NEXT_CURSOR"
}
}
}List channel VIP users GET https://api.blaze.stream/v1/channels/roles/vips
Returns users assigned to the VIP role for the authorized channel, or for the channelId query target when using an App Access Token.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Authorizations User Access Token App Access Token Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json GET /v1/channels/roles/vips
GET /v1/channels/roles/vips HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json200 OK
{
"success": true,
"message": "success",
"data": [
{
"id": "2f4c6d9a-8e2b-4d77-9f0d-3a1b2c4d5e6f",
"displayName": "VIP Viewer",
"slug": "vip-viewer",
"avatarUrl": "https://cdn.blaze.stream/avatar.png"
}
]
}Add VIP user POST https://api.blaze.stream/v1/channels/vips
Adds userId to the channel VIP role. Only User Access Token is accepted. channelId and userId must both be UUID values, and the token user's UUID must match the body channelId.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Authorizations Only User Access Token is accepted. The token user's UUID must match channelId in the request body.
Scopes channel.moderate
The token user must be the channel owner: token user UUID and body channelId must be the same UUID.
Request body channelIdstring · UUID required
Target channel UUID. This must match the UUID of the user from the User Access Token.
userIdstring · UUID required
User UUID to add to the channel role.
Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json POST /v1/channels/vips HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json
content-type: application/json
{
"channelId": "9b7f3c2a-2f41-4f5e-9f54-6c1d8a2b7e90",
"userId": "2f4c6d9a-8e2b-4d77-9f0d-3a1b2c4d5e6f"
}200 OK
{
"success": true,
"message": "success",
"data": {
"channelId": "9b7f3c2a-2f41-4f5e-9f54-6c1d8a2b7e90",
"userId": "2f4c6d9a-8e2b-4d77-9f0d-3a1b2c4d5e6f",
"role": "vip"
}
}Remove VIP user DELETE https://api.blaze.stream/v1/channels/vips
Removes userId from the channel VIP role. Only User Access Token is accepted. channelId and userId must both be UUID values, and the token user's UUID must match the body channelId.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Authorizations Only User Access Token is accepted. The token user's UUID must match channelId in the request body.
Scopes channel.moderate
The token user must be the channel owner: token user UUID and body channelId must be the same UUID.
Request body channelIdstring · UUID required
Target channel UUID. This must match the UUID of the user from the User Access Token.
userIdstring · UUID required
User UUID to add to the channel role.
Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json DELETE /v1/channels/vips HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json
content-type: application/json
{
"channelId": "9b7f3c2a-2f41-4f5e-9f54-6c1d8a2b7e90",
"userId": "2f4c6d9a-8e2b-4d77-9f0d-3a1b2c4d5e6f"
}200 OK
{
"success": true,
"message": "success"
}List channel mod users GET https://api.blaze.stream/v1/channels/roles/mods
Returns users assigned to the moderator role for the authorized channel, or for the channelId query target when using an App Access Token.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Authorizations User Access Token App Access Token Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json GET /v1/channels/roles/mods
GET /v1/channels/roles/mods HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json200 OK
{
"success": true,
"message": "success",
"data": [
{
"id": "0f3d8a67-4d25-48f1-a3c5-1f7a9b2c6d30",
"displayName": "Moderator",
"slug": "moderator",
"avatarUrl": "https://cdn.blaze.stream/avatar.png"
}
]
}List channel OG users GET https://api.blaze.stream/v1/channels/roles/ogs
Returns users assigned to the OG role for the authorized channel, or for the channelId query target when using an App Access Token.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Authorizations User Access Token App Access Token Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json GET /v1/channels/roles/ogs
GET /v1/channels/roles/ogs HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json200 OK
{
"success": true,
"message": "success",
"data": [
{
"id": "6c7e0b4d-3a21-4a7f-8c91-25d4f9b8e0a1",
"displayName": "OG Viewer",
"slug": "og-viewer",
"avatarUrl": "https://cdn.blaze.stream/avatar.png"
}
]
}Add OG user POST https://api.blaze.stream/v1/channels/ogs
Adds userId to the channel OG role. Only User Access Token is accepted. channelId and userId must both be UUID values, and the token user's UUID must match the body channelId.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Authorizations Only User Access Token is accepted. The token user's UUID must match channelId in the request body.
Scopes channel.moderate
The token user must be the channel owner: token user UUID and body channelId must be the same UUID.
Request body channelIdstring · UUID required
Target channel UUID. This must match the UUID of the user from the User Access Token.
userIdstring · UUID required
User UUID to add to the channel role.
Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json POST /v1/channels/ogs HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json
content-type: application/json
{
"channelId": "9b7f3c2a-2f41-4f5e-9f54-6c1d8a2b7e90",
"userId": "2f4c6d9a-8e2b-4d77-9f0d-3a1b2c4d5e6f"
}200 OK
{
"success": true,
"message": "success",
"data": {
"channelId": "9b7f3c2a-2f41-4f5e-9f54-6c1d8a2b7e90",
"userId": "2f4c6d9a-8e2b-4d77-9f0d-3a1b2c4d5e6f",
"role": "og"
}
}Remove OG user DELETE https://api.blaze.stream/v1/channels/ogs
Removes userId from the channel OG role. Only User Access Token is accepted. channelId and userId must both be UUID values, and the token user's UUID must match the body channelId.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Authorizations Only User Access Token is accepted. The token user's UUID must match channelId in the request body.
Scopes channel.moderate
The token user must be the channel owner: token user UUID and body channelId must be the same UUID.
Request body channelIdstring · UUID required
Target channel UUID. This must match the UUID of the user from the User Access Token.
userIdstring · UUID required
User UUID to add to the channel role.
Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json DELETE /v1/channels/ogs HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json
content-type: application/json
{
"channelId": "9b7f3c2a-2f41-4f5e-9f54-6c1d8a2b7e90",
"userId": "2f4c6d9a-8e2b-4d77-9f0d-3a1b2c4d5e6f"
}200 OK
{
"success": true,
"message": "success"
}List subscribers GET https://api.blaze.stream/v1/channels/subscribers
Returns active subscribers for the authorized channel with follower and subscription details.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Query parameters cursorstring optional
Pagination cursor returned from the previous response.
limitinteger optional
Maximum number of rows to return.
Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json GET /v1/channels/subscribers
GET /v1/channels/subscribers?limit=20 HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json200 OK
{
"success": true,
"message": "success",
"data": {
"rows": [
{
"id": "2f4c6d9a-8e2b-4d77-9f0d-3a1b2c4d5e6f",
"displayName": "Subscriber",
"slug": "subscriber",
"avatarUrl": "https://cdn.blaze.stream/avatar.png",
"isFollower": true,
"followedAt": "2026-05-04T12:00:00.000Z",
"subscriptionInfo": {
"isSubscriber": true,
"hadSubscriptionBefore": true,
"renewCount": 3,
"streakCount": 2,
"expiresAt": "2026-06-04T12:00:00.000Z",
"subscribedAt": "2026-03-04T12:00:00.000Z"
}
}
],
"pagination": {
"cursor": "NEXT_CURSOR"
}
}
}List recent activities GET https://api.blaze.stream/v1/channels/activities
Returns recent activity notifications such as followers, subscribers, gifts, thanks, and votes.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Query parameters cursorstring optional
Pagination cursor returned from the previous response.
limitinteger optional
Maximum number of rows to return.
typestring optional
Filter the activity feed by a supported activity type.
Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json GET /v1/channels/activities
GET /v1/channels/activities?limit=20&type=follow HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json200 OK
{
"success": true,
"message": "success",
"data": {
"rows": [
{
"id": 12345,
"type": "new_follower",
"createdAt": "2026-05-04T12:00:00.000Z",
"info": {
"userId": "2f4c6d9a-8e2b-4d77-9f0d-3a1b2c4d5e6f",
"displayName": "Viewer",
"slug": "viewer"
},
"action": {}
}
],
"pagination": {
"cursor": "NEXT_CURSOR"
}
}
}Get live stats GET https://api.blaze.stream/v1/channels/live-stats
Returns live-session counters for the authorized channel, or for the channelId query target when using an App Access Token.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Authorizations User Access Token App Access Token Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json GET /v1/channels/live-stats
GET /v1/channels/live-stats HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json200 OK
{
"success": true,
"message": "success",
"data": {
"startedAt": "2026-05-04T12:00:00.000Z",
"isLive": true,
"newFollowerCount": 42,
"newSubscriberCount": 8,
"viewerCount": 312
}
}Update channel info POST https://api.blaze.stream/v1/channels/info
Updates channel title, language, and optional category. When a live stream is active, matching stream fields are updated too.
Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.
Request body titlestring required
Channel or live stream title.
langstring required
Channel language code.
categoryIdinteger optional
Category id to assign to the channel.
Responses 200 OK application/json 400 Bad Request application/json 401 Unauthorized application/json 403 Forbidden application/json 500 Internal Server Error application/json POST /v1/channels/info HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json
content-type: application/json
{
"title": "Building with Blaze",
"lang": "en",
"categoryId": 12
}200 OK
{
"success": true,
"message": "success",
"data": {
"title": "Building with Blaze",
"lang": "en",
"categoryId": 12,
"categoryTitle": "Just Chatting"
}
}