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.

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,
    "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."
  }
}