Allmine API
Live Streams

Get upcoming streams for a specific user with reminder status of requester (v2)

Returns upcoming stream list of target user (creator/guest/broadcaster membership rules are same as v1). Bearer token is optional. If the caller is anonymous, `isReminderActive` is `null` for every item. If a JWT is supplied, it must be valid; invalid or expired JWT returns 401. Scheduled streams are filtered by `minutesBefore` / `minutesAfter` around request time.

GET
/api/v2/live-stream/user/{userId}/upcoming-live-streams

Returns upcoming stream list of target user (creator/guest/broadcaster membership rules are same as v1).

Bearer token is optional. If the caller is anonymous, isReminderActive is null for every item. If a JWT is supplied, it must be valid; invalid or expired JWT returns 401. Scheduled streams are filtered by minutesBefore / minutesAfter around request time.

Authorization

JWT-auth
AuthorizationBearer <token>

Paste the JWT access token without the Bearer prefix.

In: header

Path Parameters

userId*string

Target user id

Query Parameters

limit?number

Max stream count. Default: 10

Default10
Range1 <= value
minutesBefore?number

How many minutes before now should be included for scheduled streams. Default: 1440

Default1440
Range0 <= value
minutesAfter?number

How many minutes after now should be included for scheduled streams. Default: 1440

Default1440
Range0 <= value

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/api/v2/live-stream/user/507f1f77bcf86cd799439011/upcoming-live-streams"
{
  "isSuccess": true,
  "statusCode": 200,
  "data": [
    {
      "id": "64d15f9e2e6c8f4d5a123456",
      "title": "Yeni ürün tanıtımı",
      "liveStreamType": "solo",
      "channelName": "yeni-urun-tanitimi-1a2b",
      "broadcasters": [],
      "guests": [],
      "creator": {
        "_id": "64d15f9e2e6c8f4d5a123456",
        "username": "johndoe",
        "name": "John",
        "surname": "Doe",
        "profilePhoto": {
          "_id": "507f1f77bcf86cd799439012",
          "url": "https://example.com/uploads/images/profile.jpg",
          "type": "image",
          "variants": {
            "40": "https://cdn.example.com/profiles/user/40.webp",
            "76": "https://cdn.example.com/profiles/user/76.webp"
          },
          "createdAt": "2024-01-15T10:30:00.000Z",
          "updatedAt": "2024-01-15T12:30:00.000Z"
        },
        "availabilityStatus": "available"
      },
      "thumbnailUrl": "https://cdn.example.com/stream/thumbnail.png",
      "recording": false,
      "recordingUrl": "https://cdn.example.com/stream/archive.mp4",
      "replayAccess": {
        "status": "owner",
        "canRent": true,
        "canViewRecording": true,
        "price": 50,
        "rentedAt": "2026-01-15T10:30:00.000Z",
        "expiresAt": "2026-01-15T10:30:00.000Z",
        "remainingSeconds": 3600
      },
      "status": "active",
      "accessType": "free",
      "price": 9.99,
      "interest": "music",
      "durationGoal": 60,
      "motivation": "Bu yayında müzik hakkında konuşacağım ve sizlerle deneyimlerimi paylaşacağım.",
      "isActiveReplayOnCreatorProfile": null,
      "replayCreditPrice": null,
      "startedAt": "2026-01-15T10:30:00.000Z",
      "plannedStartDate": "2026-01-15T10:30:00.000Z",
      "endedAt": "2026-01-15T10:30:00.000Z",
      "plannedEndDate": "2026-01-15T10:30:00.000Z",
      "createdAt": "2026-01-15T10:30:00.000Z",
      "updatedAt": "2026-01-15T10:30:00.000Z",
      "fundingGoal": 1000,
      "collectedFunding": 500,
      "fundingPercentage": 50,
      "role": "host",
      "miniCrowdFundings": [],
      "isReminderActive": true
    }
  ],
  "errors": [],
  "timestamp": "2026-05-22T16:11:27.030Z"
}
{
  "isSuccess": false,
  "statusCode": 400,
  "data": null,
  "errors": [
    "Validation failed"
  ],
  "timestamp": "2026-01-15T10:30:00.000Z"
}
{
  "isSuccess": false,
  "statusCode": 401,
  "data": null,
  "errors": [
    "Authentication required"
  ],
  "timestamp": "2026-01-15T10:30:00.000Z"
}
{
  "isSuccess": false,
  "statusCode": 403,
  "data": null,
  "errors": [
    "Insufficient permissions"
  ],
  "timestamp": "2026-01-15T10:30:00.000Z"
}
{
  "isSuccess": false,
  "statusCode": 404,
  "data": null,
  "errors": [
    "Resource not found"
  ],
  "timestamp": "2026-01-15T10:30:00.000Z"
}
{
  "isSuccess": false,
  "statusCode": 500,
  "data": null,
  "errors": [
    "Internal server error"
  ],
  "timestamp": "2026-05-22T16:11:27.030Z"
}