# Audience / Streams API Base URL: `{{baseUrl}}` --- ## Authentication All protected endpoints require a Bearer token passed in the `Authorization` header: ``` Authorization: Bearer {{token}} ``` --- ## 1. Create Audience (Stream) **`POST`** `/audience` Records a stream or audience entry for a track by a specific user. ### Headers | Key | Value | |-----|-------| | Content-Type | `application/json` | ### Request Body ```json { "track_id": "365b278c258a7bdbb7a1b95be41a37b9", "user_id": "6a833be7-c434-4fc0-9144-01899eeac486" } ``` ### Body Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `track_id` | string | Yes | The unique identifier of the track being streamed | | `user_id` | string (UUID) | Yes | The unique identifier of the user streaming the track | ### Example Request ``` POST {{baseUrl}}/audience ``` --- ## 2. View Track Audience **`GET`** `/audience-track/{track_id}` Retrieves the audience/stream data for a specific track. ### Headers | Key | Value | Type | |-----|-------|------| | Authorization | `Bearer {{token}}` | text | ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `track_id` | string | Yes | The unique identifier of the track | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `main_user_id` | string (UUID) | No | The ID of the currently authenticated user for personalization | ### Example Request ``` GET {{baseUrl}}/audience-track/edc658bd0e768ca81f2ddc0438abca79?main_user_id=8bf0c9da-2f28-4628-91ed-8a6c11f6ae31 ``` --- ## 3. Top Audience **`GET`** `/top-audience/{track_id}` Retrieves the top audience members for a specific track. ### Headers | Key | Value | Type | |-----|-------|------| | Authorization | `Bearer {{token}}` | text | ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `track_id` | string | Yes | The unique identifier of the track | ### Query Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `main_user_id` | string (UUID) | No | The ID of the currently authenticated user | ### Example Request ``` GET {{baseUrl}}/top-audience/edc658bd0e768ca81f2ddc0438abca79?main_user_id={{main_user_id}} ``` --- ## 4. Get Total Audience **`GET`** `/artist-audience/{artist_id}` Retrieves the total audience/stream count across all tracks for a specific artist. ### Headers | Key | Value | Type | |-----|-------|------| | Authorization | `Bearer {{token}}` | text | ### Path Parameters | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `artist_id` | string (UUID) | Yes | The unique identifier of the artist | ### Example Request ``` GET {{baseUrl}}/artist-audience/f3b8a31b-8af5-431e-8ed5-fa5dae80e868 ```