APIs

Users

User endpoints expose the authorized user's profile, achievement stats, subscription state, and editable public bio. Every https://api.blaze.stream/v1 request on this page must include client-id: YOUR_CLIENT_ID.

Get profile

GEThttps://api.blaze.stream/v1/users/profile

Returns public identity fields for the authorized user, or for the userId or username query target when using an App Access Token.

Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.

Authorizations

Scopes

users.read

Responses

  • 200OKapplication/json
  • 400Bad Requestapplication/json
  • 401Unauthorizedapplication/json
  • 403Forbiddenapplication/json
  • 500Internal Server Errorapplication/json
GET/v1/users/profile
GET /v1/users/profile HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json
200OK
{
  "success": true,
  "message": "success",
  "data": {
    "userId": "2f4c6d9a-8e2b-4d77-9f0d-3a1b2c4d5e6f",
    "username": "creator",
    "displayName": "Creator",
    "avatarUrl": "https://cdn.blaze.stream/avatar.png"
  }
}

Get achievement stats

GEThttps://api.blaze.stream/v1/users/achievement-stats

Returns creator stats for the authorized user, or for the userId query target when using an App Access Token. subscriptionCount is the number of distinct other channels with an active normal subscription paid by this user, using the same stored stats as the tier page; it is 0 when no stats exist. subscriberCount counts incoming subscribers. subscriptionRequirementApplies is a boolean: false before the user's first stream or during the first calendar month after it, and true once that month has elapsed. Use subscriptionCount for tier progress instead of subtracting gifted subscriptions from active subscriptions.

Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.

Authorizations

Scopes

users.read

Responses

  • 200OKapplication/json
  • 400Bad Requestapplication/json
  • 401Unauthorizedapplication/json
  • 403Forbiddenapplication/json
  • 500Internal Server Errorapplication/json
GET/v1/users/achievement-stats
GET /v1/users/achievement-stats HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json
200OK
{
  "success": true,
  "message": "success",
  "data": {
    "tier": 2,
    "followerCount": 1204,
    "subscriberCount": 84,
    "subscriptionCount": 12,
    "subscriptionRequirementApplies": true,
    "streamHours": 64,
    "uniqueChatters": 438
  }
}

List subscriptions

GEThttps://api.blaze.stream/v1/users/subscriptions

Groups the authorized user's channel subscriptions by active, gifted, and expired states.

Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.

Authorizations

Scopes

users.read

Responses

  • 200OKapplication/json
  • 400Bad Requestapplication/json
  • 401Unauthorizedapplication/json
  • 403Forbiddenapplication/json
  • 500Internal Server Errorapplication/json
GET/v1/users/subscriptions
GET /v1/users/subscriptions HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json
200OK
{
  "success": true,
  "message": "success",
  "data": {
    "active": [
      {
        "channelId": "9b7f3c2a-2f41-4f5e-9f54-6c1d8a2b7e90",
        "displayName": "Creator",
        "avatarUrl": "https://cdn.blaze.stream/avatar.png",
        "expiresAt": "2026-06-04T12:00:00.000Z",
        "renewCount": 3,
        "streakCount": 2
      }
    ],
    "gifted": [
      {
        "channelId": "0f3d8a67-4d25-48f1-a3c5-1f7a9b2c6d30",
        "displayName": "Gifted Creator",
        "avatarUrl": "https://cdn.blaze.stream/gifted-avatar.png",
        "expiresAt": "2026-06-04T12:00:00.000Z",
        "renewCount": 1,
        "streakCount": 1,
        "giftBy": {
          "displayName": "Gifter",
          "slug": "gifter"
        }
      }
    ],
    "expired": []
  }
}

Update bio

POSThttps://api.blaze.stream/v1/users/profile/bio

Updates the authorized user's public bio and emits a user update hook when the value changes.

Required header for every https://api.blaze.stream/v1 request: client-id: YOUR_CLIENT_ID.

Authorizations

Scopes

channel.moderate

Request body

biostringrequired

Public bio text up to 300 characters.

Responses

  • 200OKapplication/json
  • 400Bad Requestapplication/json
  • 401Unauthorizedapplication/json
  • 403Forbiddenapplication/json
  • 500Internal Server Errorapplication/json
POST/v1/users/profile/bio
POST /v1/users/profile/bio HTTP/1.1
Host: api.blaze.stream
Authorization: Bearer YOUR_ACCESS_TOKEN
client-id: YOUR_CLIENT_ID
Accept: application/json
content-type: application/json

{
  "bio": "Streaming, building, and hanging out on Blaze."
}
200OK
{
  "success": true,
  "message": "success",
  "data": {
    "bio": "Streaming, building, and hanging out on Blaze."
  }
}