From a91f9af5db172c01f9f22f6119ac8040592b0388 Mon Sep 17 00:00:00 2001 From: Dylan Jeffers Date: Thu, 19 Feb 2026 13:26:38 -0800 Subject: [PATCH] Drop v1/full swagger --- api/server.go | 15 +- api/swagger/swagger-v1-full.yaml | 11573 ----------------------------- 2 files changed, 1 insertion(+), 11587 deletions(-) delete mode 100644 api/swagger/swagger-v1-full.yaml diff --git a/api/server.go b/api/server.go index b2e9f2cb..3ac78d24 100644 --- a/api/server.go +++ b/api/server.go @@ -51,9 +51,6 @@ import ( //go:embed swagger/swagger-v1.yaml var swaggerV1 []byte -//go:embed swagger/swagger-v1-full.yaml -var swaggerV1Full []byte - func RequestTimer() fiber.Handler { return func(c *fiber.Ctx) error { c.Locals("start", time.Now()) @@ -699,6 +696,7 @@ func NewApiServer(config config.Config) *ApiServer { // Create Swagger middleware for v1 // // Swagger will be available at: /v1 + // Note: v1/full endpoints exist for backwards compatibility but are not documented or exposed via SDK. app.Use(swagger.New(swagger.Config{ BasePath: "/", Path: "v1", @@ -706,17 +704,6 @@ func NewApiServer(config config.Config) *ApiServer { FilePath: "v1/swagger.yaml", FileContent: swaggerV1, })) - - // Create Swagger middleware for v1/full - // - // Swagger will be available at: /v1/full - app.Use(swagger.New(swagger.Config{ - BasePath: "/", - Path: "v1/full", - // Only controls where the swagger.json is server from - FilePath: "v1/full/swagger.yaml", - FileContent: swaggerV1Full, - })) } // gracefully handle 404 diff --git a/api/swagger/swagger-v1-full.yaml b/api/swagger/swagger-v1-full.yaml deleted file mode 100644 index 7b70db72..00000000 --- a/api/swagger/swagger-v1-full.yaml +++ /dev/null @@ -1,11573 +0,0 @@ -openapi: 3.0.1 -info: - title: API - version: "1.0" -servers: -- url: /v1/full -tags: -- name: tracks - description: Full track operations -- name: playlists - description: Full playlist related operations -- name: users - description: Full user operations -- name: coins - description: Coin related operations -- name: search - description: Full search operations -- name: tips - description: Full tip related operations -- name: reactions - description: Reaction related operations -- name: transactions - description: Full transaction history related operations -- name: cid_data - description: Metadata related operations -- name: notifications - description: Notifications related operations -- name: challenges - description: Challenge related operations -- name: comments - description: Full comment operations -- name: explore - description: Full explore operations -paths: - /challenges/{challenge_id}/attest: - get: - tags: - - challenges - description: "Produces an attestation that a given user has completed a challenge,\ - \ or errors." - operationId: Get Challenge Attestation - parameters: - - name: challenge_id - in: path - description: The challenge ID of the user challenge requiring the attestation - required: true - schema: - type: string - - name: oracle - in: query - description: "The address of a valid, registered Anti-Abuse Oracle" - required: true - schema: - type: string - - name: specifier - in: query - description: The specifier of the user challenge requiring the attestation - required: true - schema: - type: string - - name: user_id - in: query - description: The user ID of the user challenge requiring the attestation - required: true - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/attestation_reponse' - "400": - description: The attestation request was invalid (eg. The user didn't complete - that challenge yet) - content: {} - "500": - description: Server error - content: {} - /coins: - get: - tags: - - coins - operationId: Get Coins - description: 'Gets a list of coins with optional filtering' - parameters: - - name: ticker - in: query - description: Filter by coin ticker(s) - schema: - type: array - items: - type: string - style: form - explode: true - - name: mint - in: query - description: Filter by coin mint address(es) - schema: - type: array - items: - type: string - style: form - explode: true - - name: owner_id - in: query - description: Filter by owner user ID(s) - schema: - type: array - items: - type: string - style: form - explode: true - - name: limit - in: query - description: Maximum number of results to return - schema: - type: integer - minimum: 1 - maximum: 100 - default: 50 - - name: offset - in: query - description: Number of results to skip - schema: - type: integer - minimum: 0 - default: 0 - - name: query - in: query - description: Search query for ticker, name, or handle - schema: - type: string - - name: sort_method - in: query - description: Sort method - schema: - type: string - enum: [market_cap, price, volume, created_at, holder] - default: market_cap - - name: sort_direction - in: query - description: Sort direction - schema: - type: string - enum: [asc, desc] - default: desc - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/coins_response' - post: - tags: - - coins - operationId: Create Coin - description: 'Creates a new artist coin' - parameters: - - name: user_id - in: query - description: The user ID to create a coin - required: true - schema: - type: string - example: "7eP5n" - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/create_coin_request' - responses: - '201': - description: Success - Coin created - content: - application/json: - schema: - $ref: '#/components/schemas/create_coin_response' - '400': - description: Bad request - Invalid parameters - content: {} - '500': - description: Server error - content: {} - /coins/{mint}: - get: - tags: - - coins - operationId: Get Coin - description: 'Gets information about a specific coin by its mint address' - parameters: - - name: mint - in: path - description: The mint address of the coin - required: true - schema: - type: string - example: 9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/coin_response' - post: - tags: - - coins - operationId: Update Coin - description: 'Updates information about a specific coin by its mint address' - parameters: - - name: mint - in: path - description: The mint address of the coin - required: true - schema: - type: string - example: bearR26zyyB3fNQm5wWv1ZfN8MPQDUMwaAuoG79b1Yj - - name: user_id - in: query - description: The user ID making the update (must be the coin owner) - required: true - schema: - type: string - example: "7eP5n" - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/update_coin_request' - responses: - '200': - description: Success - Coin updated - content: - application/json: - schema: - $ref: '#/components/schemas/update_coin_response' - '400': - description: Bad request - Invalid parameters or no fields provided - content: {} - '403': - description: Forbidden - User does not own the coin - content: {} - '404': - description: Not found - Coin does not exist - content: {} - '500': - description: Server error - content: {} - /coins/ticker/{ticker}: - get: - tags: - - coins - operationId: Get Coin By Ticker - description: 'Gets information about a specific coin by its ticker' - parameters: - - name: ticker - in: path - description: The ticker symbol of the coin - required: true - schema: - type: string - example: "$AUDIO" - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/coin_response' - /coins/{mint}/members/count: - get: - tags: - - coins - operationId: Get Coin Members Count - description: 'Gets the total number of Audius users with a non-zero balance of a specific coin' - parameters: - - name: mint - in: path - description: The mint address of the coin - required: true - schema: - type: string - example: 9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/coin_members_count_response' - /coins/volume-leaders: - get: - tags: - - coins - operationId: Get Volume Leaders - description: 'Gets top coin<>AUDIO trading addresses by volume' - parameters: - - name: from - in: query - description: Beginning of time range to query over (RFC3339 format) - schema: - type: string - example: '2006-01-02T15:04:05Z' - default: '(most recent midnight UTC)' - - name: to - in: query - description: End of time range to query over (RFC3339 format) - schema: - type: string - example: '2006-01-02T15:04:05Z' - default: '(most recent midnight UTC + 24hrs)' - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - default: 0 - minimum: 0 - maximum: 500 - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - default: 20 - minimum: 1 - maximum: 100 - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/coins_volume_leaders_response' - '400': - description: Bad Request - /coins/{mint}/redeem: - get: - tags: - - coins - operationId: Get Coin Redeem Amount - description: 'Gets the availability indicator for reward codes for a specific coin' - parameters: - - name: mint - in: path - description: The mint address of the coin - required: true - schema: - type: string - example: 9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/redeem_amount_response' - post: - tags: - - coins - operationId: Claim Coin Reward - description: 'Claims a coin reward for a given mint' - parameters: - - name: mint - in: path - description: The mint address of the coin - required: true - schema: - type: string - example: 9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM - - name: user_id - in: query - description: The user ID of the user making the request - required: true - schema: - type: string - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/claim_rewards_response' - '400': - description: Bad request - No coin reward available or already claimed - content: - application/json: - schema: - $ref: '#/components/schemas/reward_code_error_response' - '500': - description: Server error - content: {} - /coins/{mint}/redeem/{code}: - get: - tags: - - coins - operationId: Get Reward Code - description: 'Gets information about a specific reward code for a coin' - parameters: - - name: mint - in: path - description: The mint address of the coin - required: true - schema: - type: string - example: 9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM - - name: code - in: path - description: The reward code to retrieve - required: true - schema: - type: string - example: XYZ123 - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/reward_code_response' - '400': - description: Bad request - Code is invalid or already used - content: - application/json: - schema: - $ref: '#/components/schemas/reward_code_error_response' - post: - tags: - - coins - operationId: Claim Coin Reward Code - description: 'Claims a coin reward using a given code' - parameters: - - name: mint - in: path - description: The mint address of the coin - required: true - schema: - type: string - example: 9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM - - name: code - in: path - description: The reward code to claim - required: true - schema: - type: string - example: XYZ123 - - name: user_id - in: query - description: The user ID of the user making the request - required: true - schema: - type: string - responses: - '200': - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/claim_rewards_response' - '400': - description: Bad request - Code is invalid or already used - content: - application/json: - schema: - $ref: '#/components/schemas/reward_code_error_response' - '500': - description: Server error - content: {} - /rewards/code: - post: - tags: - - rewards - description: Creates a new reward code with Solana signature verification - operationId: Create Reward Code - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/create_reward_code_request' - responses: - "201": - description: Created - Reward code successfully created - content: - application/json: - schema: - $ref: '#/components/schemas/create_reward_code_response' - "400": - description: Bad request - Invalid signature format or missing required fields - content: {} - "403": - description: Forbidden - Signature verification failed - content: {} - "500": - description: Server error - content: {} - /cid_data/{metadata_id}: - get: - tags: - - cid_data - description: Get a metadata by CID - operationId: Get Metadata - parameters: - - name: metadata_id - in: path - description: A Metdata CID - required: true - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/cid_data_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /comments/{comment_id}: - get: - tags: - - comments - description: Gets a comment by ID - operationId: Get Comment - parameters: - - name: comment_id - in: path - description: A Comment ID - required: true - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/comment_response' - "500": - description: Server error - content: {} - /comments/{comment_id}/replies: - get: - tags: - - comments - description: Gets replies to a parent comment - operationId: Get Comment Replies - parameters: - - name: comment_id - in: path - description: A Comment ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/comment_replies_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /explore/best-selling: - get: - tags: - - explore - summary: Get best selling tracks and playlists with related entities - description: Get best selling tracks and/or albums with related entities - operationId: Get Full Best Selling - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: type - in: query - description: The type of content to filter by - schema: - type: string - default: all - enum: - - all - - track - - album - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/best_selling_full_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /notifications/{user_id}: - get: - tags: - - notifications - description: Get notifications for user ID - operationId: Get Notifications - parameters: - - name: user_id - in: path - description: A User ID - required: true - schema: - type: string - - name: timestamp - in: query - description: The timestamp from which to paginate - schema: - type: integer - - name: group_id - in: query - description: The group_id form which to paginate - schema: - type: string - - name: limit - in: query - description: The number of notifications to return - schema: - type: integer - - name: types - in: query - description: Additional valid notification types to return - style: form - explode: true - schema: - type: array - items: - type: string - enum: - - announcement - - follow - - repost - - save - - remix - - cosign - - create - - tip_receive - - tip_send - - challenge_reward - - repost_of_repost - - save_of_repost - - tastemaker - - reaction - - supporter_dethroned - - supporter_rank_up - - supporting_rank_up - - milestone - - track_milestone - - track_added_to_playlist - - playlist_milestone - - tier_change - - trending - - trending_playlist - - trending_underground - - usdc_purchase_buyer - - usdc_purchase_seller - - track_added_to_purchased_album - - request_manager - - approve_manager_request - - claimable_reward - - comment - - comment_thread - - comment_mention - - comment_reaction - - listen_streak_reminder - - fan_remix_contest_started - - fan_remix_contest_ended - - fan_remix_contest_ending_soon - - fan_remix_contest_winners_selected - - artist_remix_contest_ended - - artist_remix_contest_ending_soon - - artist_remix_contest_submissions - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/notifications_response' - /notifications/{user_id}/playlist_updates: - get: - tags: - - notifications - description: Get playlists the user has saved that have been updated for user - ID - operationId: Get Playlist Updates - parameters: - - name: user_id - in: path - description: A User ID - required: true - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/playlist_updates_response' - /playlists: - get: - tags: - - playlists - description: Gets a list of playlists by ID - operationId: Get Bulk Playlists - parameters: - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: id - in: query - description: The ID of the playlist(s) - style: form - explode: true - schema: - type: array - items: - type: string - - name: upc - in: query - description: The UPC of the playlist(s) - style: form - explode: true - schema: - type: array - items: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_playlist_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /playlists/by_permalink/{handle}/{slug}: - get: - tags: - - playlists - description: Get a playlist by handle and slug - operationId: Get Playlist By Handle and Slug - parameters: - - name: handle - in: path - description: playlist owner handle - required: true - schema: - type: string - - name: slug - in: path - description: playlist slug - required: true - schema: - type: string - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_playlist_response' - /playlists/trending: - get: - tags: - - playlists - description: Returns trending playlists for a time period - operationId: Get Trending Playlists - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: time - in: query - description: Calculate trending over a specified time range - schema: - type: string - enum: - - week - - month - - year - - allTime - - name: type - in: query - description: The type of content to filter by - schema: - type: string - default: playlist - enum: - - playlist - - album - - name: omit_tracks - in: query - description: Whether to omit tracks from the response - schema: - type: boolean - default: false - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_trending_playlists_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /playlists/trending/{version}: - get: - tags: - - playlists - description: Returns trending playlists for a time period based on the given - trending version - operationId: Get Trending Playlists With Version - parameters: - - name: version - in: path - description: The strategy version of trending to use - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: time - in: query - description: Calculate trending over a specified time range - schema: - type: string - enum: - - week - - month - - year - - allTime - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_trending_playlists_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /playlists/{playlist_id}: - get: - tags: - - playlists - description: Get a playlist by ID - operationId: Get Playlist - parameters: - - name: playlist_id - in: path - description: A Playlist ID - required: true - schema: - type: string - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_playlist_response' - /playlists/{playlist_id}/favorites: - get: - tags: - - playlists - description: Get users that favorited a playlist - operationId: Get Users From Playlist Favorites - parameters: - - name: playlist_id - in: path - description: A Playlist ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/following_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /playlists/{playlist_id}/reposts: - get: - tags: - - playlists - description: Get users that reposted a playlist - operationId: Get Users From Playlist Reposts - parameters: - - name: playlist_id - in: path - description: A Playlist ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/following_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /playlists/{playlist_id}/tracks: - get: - tags: - - playlists - description: Fetch tracks within a playlist. - operationId: Get Playlist Tracks - parameters: - - name: playlist_id - in: path - description: A Playlist ID - required: true - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_playlist_tracks_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /reactions: - get: - tags: - - reactions - description: Gets reactions by reacted_to_id and type - operationId: Bulk get Reactions - parameters: - - name: type - in: query - description: The type of reactions for which to query. - schema: - type: string - - name: reacted_to_ids - in: query - description: The `reacted_to` transaction id(s) of the reactions in question. - required: true - style: form - explode: false - schema: - type: array - items: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/reactions' - "400": - description: Bad request - content: {} - "404": - description: No such reaction - content: {} - "500": - description: Server error - content: {} - /search/autocomplete: - get: - tags: - - search - summary: Get Users/Tracks/Playlists/Albums that best match the search query - description: Same as search but optimized for quicker response at the cost of - some entity information. - operationId: Search Autocomplete - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: query - in: query - description: The search query - schema: - type: string - - name: kind - in: query - description: "The type of response, one of: all, users, tracks, playlists,\ - \ or albums" - schema: - type: string - default: all - enum: - - all - - users - - tracks - - playlists - - albums - - name: includePurchaseable - in: query - description: Whether or not to include purchaseable content - schema: - type: boolean - - name: genre - in: query - description: The genres to filter by - style: form - explode: true - schema: - type: array - items: - type: string - - name: mood - in: query - description: The moods to filter by - style: form - explode: true - schema: - type: array - items: - type: string - - name: is_verified - in: query - description: Only include verified users in the user results - schema: - type: boolean - - name: has_downloads - in: query - description: Only include tracks that have downloads in the track results - schema: - type: boolean - - name: is_purchaseable - in: query - description: Only include purchaseable tracks and albums in the track and - album results - schema: - type: boolean - - name: key - in: query - description: Only include tracks that match the musical key - style: form - explode: true - schema: - type: array - items: - type: string - - name: bpm_min - in: query - description: Only include tracks that have a bpm greater than or equal to - schema: - type: number - - name: bpm_max - in: query - description: Only include tracks that have a bpm less than or equal to - schema: - type: number - - name: sort_method - in: query - description: The sort method - schema: - type: string - enum: - - relevant - - popular - - recent - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/search_autocomplete_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /search/full: - get: - tags: - - search - description: Get Users/Tracks/Playlists/Albums that best match the search query - operationId: Search - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: query - in: query - description: The search query - schema: - type: string - - name: kind - in: query - description: "The type of response, one of: all, users, tracks, playlists,\ - \ or albums" - schema: - type: string - default: all - enum: - - all - - users - - tracks - - playlists - - albums - - name: includePurchaseable - in: query - description: Whether or not to include purchaseable content - schema: - type: boolean - - name: genre - in: query - description: The genres to filter by - style: form - explode: true - schema: - type: array - items: - type: string - - name: mood - in: query - description: The moods to filter by - style: form - explode: true - schema: - type: array - items: - type: string - - name: is_verified - in: query - description: Only include verified users in the user results - schema: - type: boolean - - name: has_downloads - in: query - description: Only include tracks that have downloads in the track results - schema: - type: boolean - - name: is_purchaseable - in: query - description: Only include purchaseable tracks and albums in the track and - album results - schema: - type: boolean - - name: key - in: query - description: Only include tracks that match the musical key - style: form - explode: true - schema: - type: array - items: - type: string - - name: bpm_min - in: query - description: Only include tracks that have a bpm greater than or equal to - schema: - type: number - - name: bpm_max - in: query - description: Only include tracks that have a bpm less than or equal to - schema: - type: number - - name: sort_method - in: query - description: The sort method - schema: - type: string - enum: - - relevant - - popular - - recent - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/search_full_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /search/tags: - get: - tags: - - search - description: Get Users/Tracks/Playlists/Albums that best match the provided - tag - operationId: SearchTags - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: query - in: query - description: The search query - schema: - type: string - - name: kind - in: query - description: "The type of response, one of: all, users, tracks, playlists,\ - \ or albums" - schema: - type: string - default: all - enum: - - all - - users - - tracks - - playlists - - albums - - name: includePurchaseable - in: query - description: Whether or not to include purchaseable content - schema: - type: boolean - - name: genre - in: query - description: The genres to filter by - style: form - explode: true - schema: - type: array - items: - type: string - - name: mood - in: query - description: The moods to filter by - style: form - explode: true - schema: - type: array - items: - type: string - - name: is_verified - in: query - description: Only include verified users in the user results - schema: - type: boolean - - name: has_downloads - in: query - description: Only include tracks that have downloads in the track results - schema: - type: boolean - - name: is_purchaseable - in: query - description: Only include purchaseable tracks and albums in the track and - album results - schema: - type: boolean - - name: key - in: query - description: Only include tracks that match the musical key - style: form - explode: true - schema: - type: array - items: - type: string - - name: bpm_min - in: query - description: Only include tracks that have a bpm greater than or equal to - schema: - type: number - - name: bpm_max - in: query - description: Only include tracks that have a bpm less than or equal to - schema: - type: number - - name: sort_method - in: query - description: The sort method - schema: - type: string - enum: - - relevant - - popular - - recent - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/search_full_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /tips: - get: - tags: - - tips - description: Gets the most recent tips on the network - operationId: Get Tips - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: receiver_min_followers - in: query - description: Only include tips to recipients that have this many followers - schema: - type: integer - default: 0 - - name: receiver_is_verified - in: query - description: Only include tips to recipients that are verified - schema: - type: boolean - default: false - - name: current_user_follows - in: query - description: Only include tips involving the user's followers in the given - capacity. Requires user_id to be set. - schema: - type: string - enum: - - sender - - receiver - - sender_or_receiver - - name: unique_by - in: query - description: "Only include the most recent tip for a user was involved in\ - \ the given capacity.\n\nEg. 'sender' will ensure that each tip returned\ - \ has a unique sender, using the most recent tip sent by a user if that\ - \ user has sent multiple tips.\n " - schema: - type: string - enum: - - sender - - receiver - - name: min_slot - in: query - description: The minimum Solana slot to pull tips from - schema: - type: integer - default: 0 - - name: max_slot - in: query - description: The maximum Solana slot to pull tips from - schema: - type: integer - default: 0 - - name: tx_signatures - in: query - description: A list of transaction signatures of tips to fetch - style: form - explode: false - schema: - type: array - items: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/get_tips_response' - /tracks: - get: - tags: - - tracks - description: Gets a list of tracks using their IDs or permalinks - operationId: Get Bulk Tracks - parameters: - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: permalink - in: query - description: The permalink of the track(s) - style: form - explode: true - schema: - type: array - items: - type: string - - name: id - in: query - description: The ID of the track(s) - style: form - explode: true - schema: - type: array - items: - type: string - - name: isrc - in: query - description: The ISRC code of the track(s) - style: form - explode: true - schema: - type: array - items: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - /tracks/best_new_releases: - get: - tags: - - tracks - description: Gets the tracks found on the "Best New Releases" smart playlist - operationId: Get Best New Releases - parameters: - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: window - in: query - description: The window from now() to look back over - required: true - schema: - type: string - enum: - - week - - month - - year - - name: limit - in: query - description: The number of tracks to get - schema: - type: integer - default: 25 - - name: with_users - in: query - description: Boolean to include user info with tracks - schema: - type: boolean - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - /tracks/feeling-lucky: - get: - tags: - - tracks - description: Gets random tracks found on the "Feeling Lucky" smart playlist - operationId: Get Feeling Lucky Tracks - parameters: - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: limit - in: query - description: Number of tracks to fetch - schema: - type: integer - default: 10 - minimum: 1 - maximum: 100 - - name: with_users - deprecated: true - in: query - description: Boolean to include user info with tracks - schema: - type: boolean - default: false - - name: min_followers - in: query - description: Fetch tracks from users with at least this number of followers - schema: - type: integer - minimum: 1 - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - "400": - description: Bad request - content: {} - /tracks/recent-comments: - get: - tags: - - tracks - description: Gets the most recent tracks with active discussion - operationId: Get Tracks With Recent Comments - parameters: - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: limit - in: query - description: Number of tracks to fetch - schema: - type: integer - default: 10 - minimum: 1 - maximum: 100 - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - default: 0 - minimum: 0 - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - "400": - description: Bad request - content: {} - /tracks/most-shared: - get: - tags: - - tracks - description: Gets the most shared tracks for a given time range - operationId: Get Most Shared Tracks - parameters: - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: limit - in: query - description: Number of tracks to fetch - schema: - type: integer - default: 10 - minimum: 1 - maximum: 100 - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - default: 0 - minimum: 0 - - name: time_range - in: query - description: The time range to consider - schema: - type: string - default: week - enum: - - week - - month - - allTime - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /tracks/most_loved: - get: - tags: - - tracks - description: Gets the tracks found on the "Most Loved" smart playlist - operationId: Get Most Loved Tracks - parameters: - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: limit - in: query - description: Number of tracks to fetch - schema: - type: integer - default: 25 - - name: with_users - in: query - description: Boolean to include user info with tracks - schema: - type: boolean - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - /tracks/recent-premium: - get: - tags: - - tracks - description: Gets the most recently listed premium tracks - operationId: Get Recent Premium Tracks - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - /tracks/recommended: - get: - tags: - - tracks - description: Get recommended tracks - operationId: Get Recommended Tracks - parameters: - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: genre - in: query - description: Filter trending to a specified genre - schema: - type: string - - name: time - in: query - description: Calculate trending over a specified time range - schema: - type: string - enum: - - week - - month - - year - - allTime - - name: exclusion_list - in: query - description: List of track ids to exclude - style: form - explode: true - schema: - type: array - items: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - /tracks/recommended/{version}: - get: - tags: - - tracks - description: Get recommended tracks using the given trending strategy version - operationId: Get Recommended Tracks With Version - parameters: - - name: version - in: path - description: The strategy version of trending to use - required: true - schema: - type: string - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: genre - in: query - description: Filter trending to a specified genre - schema: - type: string - - name: time - in: query - description: Calculate trending over a specified time range - schema: - type: string - enum: - - week - - month - - year - - allTime - - name: exclusion_list - in: query - description: List of track ids to exclude - style: form - explode: true - schema: - type: array - items: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - /tracks/remixables: - get: - tags: - - tracks - description: Gets a list of tracks that have stems available for remixing - operationId: Get Remixable Tracks - parameters: - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: with_users - in: query - description: Boolean to include user info with tracks - schema: - type: boolean - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/remixables_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /tracks/trending: - get: - tags: - - tracks - description: Gets the top 100 trending (most popular) tracks on Audius - operationId: Get Trending Tracks - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: genre - in: query - description: Filter trending to a specified genre - schema: - type: string - - name: time - in: query - description: Calculate trending over a specified time range - schema: - type: string - enum: - - week - - month - - year - - allTime - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /tracks/trending/ids: - get: - tags: - - tracks - description: Gets the track IDs of the top trending tracks on Audius - operationId: Get Trending Track IDs - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: genre - in: query - description: Filter trending to a specified genre - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/trending_ids_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /tracks/trending/ids/{version}: - get: - tags: - - tracks - description: Gets the track IDs of the top trending tracks on Audius based on - the given trending strategy version - operationId: Get Trending Tracks IDs With Version - parameters: - - name: version - in: path - description: The strategy version of trending to use - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: genre - in: query - description: Filter trending to a specified genre - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/trending_ids_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /tracks/trending/underground: - get: - tags: - - tracks - description: Gets the top 100 trending underground tracks on Audius - operationId: Get Underground Trending Tracks - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - /tracks/trending/underground/{version}: - get: - tags: - - tracks - description: Gets the top 100 trending underground tracks on Audius using a - given trending strategy version - operationId: Get Underground Trending Tracks With Version - parameters: - - name: version - in: path - description: The strategy version of trending to user - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - /tracks/trending/{version}: - get: - tags: - - tracks - description: Gets the top 100 trending (most popular) tracks on Audius using - a given trending strategy version - operationId: Get Trending Tracks With Version - parameters: - - name: version - in: path - description: The strategy version of trending to use - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: genre - in: query - description: Filter trending to a specified genre - schema: - type: string - - name: time - in: query - description: Calculate trending over a specified time range - schema: - type: string - enum: - - week - - month - - year - - allTime - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - /tracks/under_the_radar: - get: - tags: - - tracks - description: Gets the tracks found on the "Under the Radar" smart playlist - operationId: Get Under the Radar Tracks - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: filter - in: query - description: Filters for activity that is original vs reposts - schema: - type: string - default: all - enum: - - all - - repost - - original - - name: tracks_only - in: query - description: Whether to only include tracks - schema: - type: boolean - - name: with_users - in: query - description: Boolean to include user info with tracks - schema: - type: boolean - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - /tracks/usdc-purchase: - get: - tags: - - tracks - description: Gets the top trending (most popular) USDC purchase tracks on Audius - operationId: Get Trending USDC Purchase Tracks - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: genre - in: query - description: Filter trending to a specified genre - schema: - type: string - - name: time - in: query - description: Calculate trending over a specified time range - schema: - type: string - enum: - - week - - month - - year - - allTime - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /tracks/usdc-purchase/{version}: - get: - tags: - - tracks - description: Gets the top trending (most popular) USDC purchase tracks on Audius - using a given trending strategy version - operationId: Get Trending USDC Purchase Tracks With Version - parameters: - - name: version - in: path - description: The strategy version of trending to use - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: genre - in: query - description: Filter trending to a specified genre - schema: - type: string - - name: time - in: query - description: Calculate trending over a specified time range - schema: - type: string - enum: - - week - - month - - year - - allTime - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks_response' - /tracks/{track_id}: - get: - tags: - - tracks - description: Gets a track by ID. - operationId: Get Track - parameters: - - name: track_id - in: path - description: A Track ID - required: true - schema: - type: string - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_track_response' - /tracks/{track_id}/comments: - get: - tags: - - tracks - description: Get a list of comments for a track - operationId: Get Track Comments - parameters: - - name: track_id - in: path - description: A Track ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: sort_method - in: query - description: The sort method - schema: - type: string - default: top - enum: - - top - - newest - - timestamp - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/track_comments_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /tracks/{track_id}/favorites: - get: - tags: - - tracks - description: Get users that favorited a track - operationId: Get Users From Favorites - parameters: - - name: track_id - in: path - description: A Track ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/track_favorites_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /tracks/{track_id}/remixes: - get: - tags: - - tracks - description: Get all tracks that remix the given track - operationId: Get Track Remixes - parameters: - - name: track_id - in: path - description: A Track ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: sort_method - in: query - description: The sort method to use - schema: - type: string - default: recent - enum: - - likes - - plays - - recent - - name: only_cosigns - in: query - description: Only remixes cosigned by the original artist - schema: - type: boolean - - name: only_contest_entries - in: query - description: Only entries to a remix contest - schema: - type: boolean - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/remixes_response_full' - /tracks/{track_id}/remixing: - get: - tags: - - tracks - description: Gets all the tracks that the given track remixes - operationId: Get Track Remix Parents - parameters: - - name: track_id - in: path - description: A Track ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/remixing_response' - /tracks/{track_id}/reposts: - get: - tags: - - tracks - description: Get the users that reposted a track - operationId: Get Users From Reposts - parameters: - - name: track_id - in: path - description: A Track ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/track_reposts_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /tracks/{track_id}/stems: - get: - tags: - - tracks - description: Get the remixable stems of a track - operationId: Get Track Stems - parameters: - - name: track_id - in: path - description: A Track ID - required: true - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/stems_response' - /tracks/{track_id}/top_listeners: - get: - tags: - - tracks - description: Get the users that have listened to a track the most - operationId: Get Track Top Listeners - parameters: - - name: track_id - in: path - description: A Track ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_top_listener' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /transactions: - get: - tags: - - transactions - summary: Gets the user's $AUDIO transaction history within the App - description: "Deprecated: Use `/users/{id}/transactions/audio` or `sdk.full.users.getAudioTransactions()`\ - \ instead." - operationId: Get Audio Transaction History - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: sort_method - in: query - description: The sort method - schema: - type: string - default: date - enum: - - date - - transaction_type - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - default: desc - enum: - - asc - - desc - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/transaction_history_response' - deprecated: true - /transactions/count: - get: - tags: - - transactions - summary: Gets the count of the user's $AUDIO transaction history within the - App - description: "Deprecated: Use `/users/{id}/transactions/audio/count` or `sdk.full.users.getAudioTransactionCount()`\ - \ instead." - operationId: Get Audio Transaction History Count - parameters: - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/transaction_history_count_response' - deprecated: true - /users: - get: - tags: - - users - description: Gets a list of users by ID - operationId: Get Bulk Users - parameters: - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: id - in: query - description: The ID of the user(s) - style: form - explode: true - schema: - type: array - items: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_user_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/account/{wallet}: - get: - tags: - - users - description: Gets the account for a given user - operationId: Get User Account - parameters: - - name: wallet - in: path - description: Wallet address for the account - required: true - schema: - type: string - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/user_account_response_full' - "401": - description: Unauthorized - content: {} - "403": - description: Forbidden - content: {} - "404": - description: Not Found - content: {} - "500": - description: Server error - content: {} - /users/genre/top: - get: - tags: - - users - description: Get the Top Users for a Given Genre - operationId: Get Top Users In Genre - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: genre - in: query - description: List of Genres - style: form - explode: true - schema: - type: array - items: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/top_genre_users_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/handle/{handle}: - get: - tags: - - users - description: Gets a single user by their handle - operationId: Get User by Handle - parameters: - - name: handle - in: path - description: A User handle - required: true - schema: - type: string - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_user_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/handle/{handle}/reposts: - get: - tags: - - users - description: Gets the user's reposts by the user handle - operationId: Get Reposts by Handle - parameters: - - name: handle - in: path - description: A User handle - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_reposts' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/handle/{handle}/tracks: - get: - tags: - - users - description: Gets the tracks created by a user using the user's handle - operationId: Get Tracks by User Handle - parameters: - - name: handle - in: path - description: A User handle - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: sort - in: query - description: "[Deprecated] Field to sort by" - schema: - type: string - default: date - enum: - - date - - plays - - name: query - in: query - description: The filter query - schema: - type: string - - name: sort_method - in: query - description: The sort method - schema: - type: string - enum: - - title - - artist_name - - release_date - - last_listen_date - - added_date - - plays - - reposts - - saves - - most_listens_by_user - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - enum: - - asc - - desc - - name: filter_tracks - in: query - description: Filter by public tracks - schema: - type: string - default: all - enum: - - all - - public - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/handle/{handle}/tracks/ai_attributed: - get: - tags: - - users - description: Gets the AI generated tracks attributed to a user using the user's - handle - operationId: Get AI Attributed Tracks by User Handle - parameters: - - name: handle - in: path - description: A User handle - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: sort - in: query - description: "[Deprecated] Field to sort by" - schema: - type: string - default: date - enum: - - date - - plays - - name: query - in: query - description: The filter query - schema: - type: string - - name: sort_method - in: query - description: The sort method - schema: - type: string - enum: - - title - - artist_name - - release_date - - last_listen_date - - added_date - - plays - - reposts - - saves - - most_listens_by_user - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - enum: - - asc - - desc - - name: filter_tracks - in: query - description: Filter by public tracks - schema: - type: string - default: all - enum: - - all - - public - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/subscribers: - get: - tags: - - users - description: All users that subscribe to the provided users - operationId: Bulk Get Subscribers - parameters: - - name: ids - in: query - description: User IDs to fetch subscribers for - required: true - style: form - explode: false - schema: - type: array - items: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_bulk_subscribers_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - post: - tags: - - users - description: Get all users that subscribe to the users listed in the JSON request - operationId: Bulk Get Subscribers via JSON request - parameters: - - name: ids - in: query - description: User IDs to fetch subscribers for - required: true - style: form - explode: false - schema: - type: array - items: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_bulk_subscribers_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/top: - get: - tags: - - users - description: Get the Top Users having at least one track by follower count - operationId: Get Top Users - parameters: - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/top_users_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}: - get: - tags: - - users - description: Gets a single user by their user ID - operationId: Get User - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_user_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/albums: - get: - tags: - - users - description: Gets the albums created by a user using their user ID - operationId: Get Albums by User - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: sort_method - in: query - description: The sort method - schema: - type: string - default: recent - enum: - - recent - - popular - - name: query - in: query - description: Filter albums by name - schema: - type: string - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/albums_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/comments: - get: - tags: - - users - description: Get user comment history - operationId: Get User Comments - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/user_comments_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/favorites/tracks: - get: - tags: - - users - description: Gets a user's favorite tracks - operationId: Get Favorites - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: query - in: query - description: The filter query - schema: - type: string - - name: sort_method - in: query - description: The sort method - schema: - type: string - enum: - - title - - artist_name - - release_date - - last_listen_date - - added_date - - plays - - reposts - - saves - - most_listens_by_user - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - enum: - - asc - - desc - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/track_library_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/feed: - get: - tags: - - users - description: Gets the feed for the user - operationId: Get User Feed - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: filter - in: query - description: "Controls whether the feed is limited to reposts, original content,\ - \ or all items" - schema: - type: string - default: all - enum: - - all - - repost - - original - - name: tracks_only - in: query - description: Limit feed to only tracks - schema: - type: boolean - - name: with_users - in: query - description: Include user data with feed items - schema: - type: boolean - - name: followee_user_id - in: query - description: A list of followed users to prioritize in feed generation - style: form - explode: true - schema: - type: array - items: - type: integer - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/user_feed_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/followers: - get: - tags: - - users - description: All users that follow the provided user - operationId: Get Followers - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_followers_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/following: - get: - tags: - - users - description: All users that the provided user follows - operationId: Get Following - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/following_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/history/tracks: - get: - tags: - - users - description: Get the tracks the user recently listened to. - operationId: Get User's Track History - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: query - in: query - description: The filter query - schema: - type: string - - name: sort_method - in: query - description: The sort method - schema: - type: string - enum: - - title - - artist_name - - release_date - - last_listen_date - - added_date - - plays - - reposts - - saves - - most_listens_by_user - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - enum: - - asc - - desc - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/history_response_full' - "400": - description: Bad request - content: {} - "401": - description: Unauthorized - content: {} - "403": - description: Forbidden - content: {} - "500": - description: Server error - content: {} - /users/{id}/library/albums: - get: - tags: - - users - summary: Fetch a user's full library playlists - description: Gets a user's saved/reposted/purchased/all albums - operationId: Get User Library Albums - parameters: - - name: id - in: path - description: A user ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: query - in: query - description: The filter query - schema: - type: string - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - enum: - - asc - - desc - - name: type - in: query - description: "The type of entity to return: favorited, reposted, purchased,\ - \ or all. Defaults to favorite" - schema: - type: string - default: favorite - enum: - - all - - repost - - favorite - - purchase - - name: sort_method - in: query - description: The sort method - schema: - type: string - enum: - - added_date - - reposts - - saves - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/collection_library_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/library/playlists: - get: - tags: - - users - summary: Fetch a user's full library playlists - description: Gets a user's saved/reposted/purchased/all playlists - operationId: Get User Library Playlists - parameters: - - name: id - in: path - description: A user ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: query - in: query - description: The filter query - schema: - type: string - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - enum: - - asc - - desc - - name: type - in: query - description: "The type of entity to return: favorited, reposted, purchased,\ - \ or all. Defaults to favorite" - schema: - type: string - default: favorite - enum: - - all - - repost - - favorite - - purchase - - name: sort_method - in: query - description: The sort method - schema: - type: string - enum: - - added_date - - reposts - - saves - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/collection_library_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/library/tracks: - get: - tags: - - users - summary: Fetch a user's full library tracks - description: Gets a user's saved/reposted/purchased/all tracks - operationId: Get User Library Tracks - parameters: - - name: id - in: path - description: A user ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: query - in: query - description: The filter query - schema: - type: string - - name: sort_method - in: query - description: The sort method - schema: - type: string - enum: - - title - - artist_name - - release_date - - last_listen_date - - added_date - - plays - - reposts - - saves - - most_listens_by_user - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - enum: - - asc - - desc - - name: type - in: query - description: "The type of entity to return: favorited, reposted, purchased,\ - \ or all. Defaults to favorite" - schema: - type: string - default: favorite - enum: - - all - - repost - - favorite - - purchase - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/track_library_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/managed_users: - get: - tags: - - users - description: Gets a list of users managed by the given user - operationId: Get Managed Users - parameters: - - name: id - in: path - description: A user id for the manager - required: true - schema: - type: string - - name: is_approved - in: query - description: "If true, only show users where the management request has been\ - \ accepted. If false, only show those where the request was rejected. If\ - \ omitted, shows all users regardless of approval status." - schema: - type: boolean - - name: is_revoked - in: query - description: "If true, only show users where the management request has been\ - \ revoked. If false, only show those with a pending or accepted request.\ - \ Defaults to false." - schema: - type: boolean - default: false - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/managed_users_response' - "400": - description: Bad request - content: {} - "401": - description: Unauthorized - content: {} - "403": - description: Forbidden - content: {} - "500": - description: Server error - content: {} - /users/{id}/managers: - get: - tags: - - users - description: Gets a list of users managing the given user - operationId: Get Managers - parameters: - - name: id - in: path - description: An id for the managed user - required: true - schema: - type: string - - name: is_approved - in: query - description: "If true, only show users where the management request has been\ - \ accepted. If false, only show those where the request was rejected. If\ - \ omitted, shows all users regardless of approval status." - schema: - type: boolean - - name: is_revoked - in: query - description: "If true, only show users where the management request has been\ - \ revoked. If false, only show those with a pending or accepted request.\ - \ Defaults to false." - schema: - type: boolean - default: false - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/managers_response' - "400": - description: Bad request - content: {} - "401": - description: Unauthorized - content: {} - "403": - description: Forbidden - content: {} - "500": - description: Server error - content: {} - /users/{id}/muted: - get: - tags: - - users - description: Gets users muted by the given user - operationId: Get Muted Users - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_user_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/mutuals: - get: - tags: - - users - description: Get intersection of users that follow followeeUserId and users - that are followed by followerUserId - operationId: Get Mutual Followers - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_mutual_followers_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/playlists: - get: - tags: - - users - description: Gets the playlists created by a user using their user ID - operationId: Get Playlists by User - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: sort_method - in: query - description: The sort method - schema: - type: string - default: recent - enum: - - recent - - popular - - name: query - in: query - description: Filter playlists by name - schema: - type: string - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/playlists_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/purchasers: - get: - tags: - - users - description: Gets the list of unique users who have purchased content by the - given user - operationId: Get purchasers - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: content_type - in: query - description: Type of content to filter by (track or album) - schema: - type: string - - name: content_id - in: query - description: Filters for users who have purchased the given track or album - ID - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_purchasers_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/purchasers/count: - get: - tags: - - users - description: Gets the list of users who have purchased content by the given - user - operationId: Get purchasers count - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: content_type - in: query - description: Type of content to filter by (track or album) - schema: - type: string - - name: content_id - in: query - description: Filters for users who have purchased the given track or album - ID - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/purchasers_count_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/purchases: - get: - tags: - - users - description: Gets the purchases the user has made - operationId: Get Purchases - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: sort_method - in: query - description: The sort direction - schema: - type: string - enum: - - content_title - - artist_name - - buyer_name - - date - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - enum: - - asc - - desc - - name: content_ids - in: query - description: Filters purchases by track or album IDs - style: form - explode: true - schema: - type: array - items: - type: string - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/purchases_response' - /users/{id}/purchases/count: - get: - tags: - - users - description: Gets the count of purchases the user has made - operationId: Get Purchases Count - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: content_ids - in: query - description: Filters purchases by track or album IDs - style: form - explode: true - schema: - type: array - items: - type: string - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/purchases_count_response' - /users/{id}/recommended-tracks: - get: - tags: - - users - description: Gets the recommended tracks for the user - operationId: Get User Recommended Tracks - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: time_range - in: query - description: The time range for the recommended tracks - schema: - type: string - default: week - enum: - - week - - month - - allTime - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/related: - get: - tags: - - users - description: Gets a list of users that might be of interest to followers of - this user. - operationId: Get Related Users - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: filter_followed - in: query - description: "If true, filters out artists that the current user already follows" - schema: - type: boolean - default: false - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/related_artist_response_full' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/remixers: - get: - tags: - - users - description: "Gets the list of unique users who have remixed tracks by the given\ - \ user, or a specific track by that user if provided" - operationId: Get remixers - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: track_id - in: query - description: Filters for remixers who have remixed the given track ID - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_remixers_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/remixers/count: - get: - tags: - - users - description: "Gets the count of unique users who have remixed tracks by the\ - \ given user, or a specific track by that user if provided" - operationId: Get remixers count - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: track_id - in: query - description: Filters for remixers who have remixed the given track ID - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/remixers_count_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/reposts: - get: - tags: - - users - description: Gets the given user's reposts - operationId: Get Reposts - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_reposts' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/sales: - get: - tags: - - users - description: Gets the sales the user has made - operationId: Get Sales - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: sort_method - in: query - description: The sort direction - schema: - type: string - enum: - - content_title - - artist_name - - buyer_name - - date - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - enum: - - asc - - desc - - name: content_ids - in: query - description: Filters purchases by track or album IDs - style: form - explode: true - schema: - type: array - items: - type: string - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/purchases_response' - /users/{id}/sales/count: - get: - tags: - - users - description: Gets the count of sales the user has made - operationId: Get Sales Count - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: content_ids - in: query - description: Filters purchases by track or album IDs - style: form - explode: true - schema: - type: array - items: - type: string - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/purchases_count_response' - /users/{id}/subscribers: - get: - tags: - - users - description: All users that subscribe to the provided user - operationId: Get Subscribers - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_subscribers_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/supporters: - get: - tags: - - users - description: Gets the supporters of the given user - operationId: Get Supporters - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_get_supporters' - /users/{id}/supporters/{supporter_user_id}: - get: - tags: - - users - description: Gets the specified supporter of the given user - operationId: Get Supporter - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: supporter_user_id - in: path - description: A User ID of a supporter - required: true - schema: - type: string - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_get_supporter' - /users/{id}/supporting: - get: - tags: - - users - description: Gets the users that the given user supports - operationId: Get Supported Users - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_get_supported_users' - /users/{id}/supporting/{supported_user_id}: - get: - tags: - - users - description: Gets the support from the given user to the supported user - operationId: Get Supporting - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: supported_user_id - in: path - description: A User ID of a supported user - required: true - schema: - type: string - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_get_supporting' - /users/{id}/tracks: - get: - tags: - - users - description: Gets the tracks created by a user using their user ID - operationId: Get Tracks by User - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: sort - in: query - description: "[Deprecated] Field to sort by" - schema: - type: string - default: date - enum: - - date - - plays - - name: query - in: query - description: The filter query - schema: - type: string - - name: sort_method - in: query - description: The sort method - schema: - type: string - enum: - - title - - artist_name - - release_date - - last_listen_date - - added_date - - plays - - reposts - - saves - - most_listens_by_user - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - enum: - - asc - - desc - - name: filter_tracks - in: query - description: Filter by public tracks - schema: - type: string - default: all - enum: - - all - - public - - name: gate_condition - in: query - description: Filter by gate conditions (can be repeated) - style: form - explode: true - schema: - type: array - items: - type: string - enum: - - ungated - - usdc_purchase - - follow - - tip - - nft - - token - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/full_tracks' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/tracks/count: - get: - tags: - - users - description: Gets the count of tracks created by a user - operationId: Get Tracks Count by User - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: user_id - in: query - description: The user ID of the user making the request - schema: - type: string - - name: filter_tracks - in: query - description: Filter by public tracks - schema: - type: string - default: all - enum: - - all - - public - - name: gate_condition - in: query - description: Filter by gate conditions (can be repeated) - style: form - explode: true - schema: - type: array - items: - type: string - enum: - - ungated - - usdc_purchase - - follow - - tip - - nft - - token - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/tracks_count_response' - "400": - description: Bad request - content: {} - "500": - description: Server error - content: {} - /users/{id}/transactions/audio: - get: - tags: - - users - description: Gets the user's $AUDIO transaction history within the App - operationId: Get Audio Transactions - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: sort_method - in: query - description: The sort method - schema: - type: string - default: date - enum: - - date - - transaction_type - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - default: desc - enum: - - asc - - desc - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/transaction_history_response' - /users/{id}/transactions/audio/count: - get: - tags: - - users - description: Gets the count of the user's $AUDIO transaction history within - the App - operationId: Get Audio Transaction Count - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/transaction_history_count_response' - /users/{id}/transactions/usdc: - get: - tags: - - users - description: Gets the user's $USDC transaction history within the App - operationId: Get USDC Transactions - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: offset - in: query - description: The number of items to skip. Useful for pagination (page number - * limit) - schema: - type: integer - - name: limit - in: query - description: The number of items to fetch - schema: - type: integer - - name: sort_method - in: query - description: The sort method - schema: - type: string - default: date - enum: - - date - - transaction_type - - name: sort_direction - in: query - description: The sort direction - schema: - type: string - default: desc - enum: - - asc - - desc - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - - name: type - in: query - description: Filters the type of transactions to show - style: form - explode: true - schema: - type: array - items: - type: string - enum: - - purchase_content - - transfer - - internal_transfer - - prepare_withdrawal - - recover_withdrawal - - withdrawal - - purchase_stripe - - name: include_system_transactions - in: query - description: Include intermediate system transactions in the results - schema: - type: boolean - default: false - - name: method - in: query - description: Filters the method (sent/received) of transactions to show - schema: - type: string - enum: - - send - - receive - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/transaction_history_response' - /users/{id}/transactions/usdc/count: - get: - tags: - - users - description: Gets the count of the user's $USDC transaction history within the - App - operationId: Get USDC Transaction Count - parameters: - - name: id - in: path - description: A User ID - required: true - schema: - type: string - - name: type - in: query - description: Filters the type of transactions to show - style: form - explode: true - schema: - type: array - items: - type: string - enum: - - purchase_content - - transfer - - internal_transfer - - prepare_withdrawal - - recover_withdrawal - - withdrawal - - purchase_stripe - - name: include_system_transactions - in: query - description: Include intermediate system transactions in the results - schema: - type: boolean - default: false - - name: method - in: query - description: Filters the method (sent/received) of transactions to show - schema: - type: string - enum: - - send - - receive - - name: Encoded-Data-Message - in: header - description: The data that was signed by the user for signature recovery - schema: - type: string - - name: Encoded-Data-Signature - in: header - description: "The signature of data, used for signature recovery" - schema: - type: string - responses: - "200": - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/transaction_history_count_response' -components: - schemas: - full_track_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - $ref: '#/components/schemas/track_full' - version_metadata: - required: - - service - - version - type: object - properties: - service: - type: string - version: - type: string - track_full: - required: - - access - - artwork - - blocknumber - - comment_count - - cover_art_sizes - - created_at - - download - - duration - - favorite_count - - field_visibility - - followee_favorites - - followee_reposts - - genre - - has_current_user_reposted - - has_current_user_saved - - id - - is_available - - is_delete - - is_download_gated - - is_downloadable - - is_original_available - - is_owned_by_user - - is_scheduled_release - - is_stream_gated - - is_unlisted - - permalink - - play_count - - preview - - remix_of - - repost_count - - route_id - - stream - - title - - track_segments - - updated_at - - user - - user_id - type: object - properties: - artwork: - $ref: '#/components/schemas/track_artwork_full' - description: - type: string - genre: - type: string - id: - type: string - track_cid: - type: string - preview_cid: - type: string - orig_file_cid: - type: string - orig_filename: - type: string - is_original_available: - type: boolean - mood: - type: string - release_date: - type: string - remix_of: - $ref: '#/components/schemas/full_remix_parent' - repost_count: - type: integer - favorite_count: - type: integer - comment_count: - type: integer - tags: - type: string - title: - type: string - user: - $ref: '#/components/schemas/user_full' - duration: - type: integer - is_downloadable: - type: boolean - play_count: - type: integer - permalink: - type: string - is_streamable: - type: boolean - ddex_app: - type: string - playlists_containing_track: - type: array - items: - type: integer - pinned_comment_id: - type: integer - album_backlink: - $ref: '#/components/schemas/album_backlink' - access: - type: object - description: Describes what access the given user has - allOf: - - $ref: '#/components/schemas/access' - blocknumber: - type: integer - description: The blocknumber this track was last updated - create_date: - type: string - cover_art_sizes: - type: string - cover_art_cids: - $ref: '#/components/schemas/cover_art' - created_at: - type: string - credits_splits: - type: string - isrc: - type: string - license: - type: string - iswc: - type: string - field_visibility: - $ref: '#/components/schemas/field_visibility' - followee_reposts: - type: array - items: - $ref: '#/components/schemas/repost' - has_current_user_reposted: - type: boolean - is_scheduled_release: - type: boolean - is_unlisted: - type: boolean - has_current_user_saved: - type: boolean - followee_favorites: - type: array - items: - $ref: '#/components/schemas/favorite' - route_id: - type: string - stem_of: - $ref: '#/components/schemas/stem_parent' - track_segments: - type: array - items: - $ref: '#/components/schemas/track_segment' - updated_at: - type: string - user_id: - type: string - is_delete: - type: boolean - cover_art: - type: string - is_available: - type: boolean - ai_attribution_user_id: - type: integer - allowed_api_keys: - type: array - items: - type: string - audio_upload_id: - type: string - preview_start_seconds: - type: number - bpm: - type: number - is_custom_bpm: - type: boolean - musical_key: - type: string - is_custom_musical_key: - type: boolean - audio_analysis_error_count: - type: integer - comments_disabled: - type: boolean - ddex_release_ids: - type: object - properties: {} - artists: - type: array - items: - type: object - properties: {} - resource_contributors: - type: array - items: - type: object - properties: {} - indirect_resource_contributors: - type: array - items: - type: object - properties: {} - rights_controller: - type: object - properties: {} - copyright_line: - type: object - properties: {} - producer_copyright_line: - type: object - properties: {} - parental_warning_type: - type: string - nullable: true - is_stream_gated: - type: boolean - description: Whether or not the owner has restricted streaming behind an - access gate - stream_conditions: - type: object - description: How to unlock stream access to the track - allOf: - - $ref: '#/components/schemas/access_gate' - is_download_gated: - type: boolean - description: Whether or not the owner has restricted downloading behind - an access gate - download_conditions: - type: object - description: How to unlock the track download - allOf: - - $ref: '#/components/schemas/access_gate' - cover_original_song_title: - type: string - cover_original_artist: - type: string - is_owned_by_user: - type: boolean - description: Indicates whether the track is owned by the user for MRI sake - stream: - $ref: '#/components/schemas/url_with_mirrors' - download: - $ref: '#/components/schemas/url_with_mirrors' - preview: - $ref: '#/components/schemas/url_with_mirrors' - track_artwork_full: - type: object - properties: - "150x150": - type: string - "480x480": - type: string - "1000x1000": - type: string - mirrors: - type: array - items: - type: string - full_remix_parent: - type: object - properties: - tracks: - type: array - items: - $ref: '#/components/schemas/full_remix' - full_remix: - required: - - has_remix_author_reposted - - has_remix_author_saved - - parent_track_id - - user - type: object - properties: - parent_track_id: - type: string - user: - $ref: '#/components/schemas/user_full' - has_remix_author_reposted: - type: boolean - has_remix_author_saved: - type: boolean - user_full: - required: - - album_count - - allow_ai_attribution - - artist_coin_badge - - associated_sol_wallets_balance - - associated_wallets_balance - - balance - - blocknumber - - created_at - - current_user_followee_follow_count - - does_current_user_follow - - does_current_user_subscribe - - does_follow_current_user - - erc_wallet - - followee_count - - follower_count - - handle - - handle_lc - - has_collectibles - - id - - is_available - - is_deactivated - - is_storage_v2 - - is_verified - - name - - playlist_count - - repost_count - - spl_wallet - - spl_usdc_wallet - - supporter_count - - supporting_count - - total_audio_balance - - total_balance - - track_count - - updated_at - - verified_with_instagram - - verified_with_tiktok - - verified_with_twitter - - wallet - - waudio_balance - type: object - properties: - album_count: - type: integer - artist_pick_track_id: - type: string - artist_coin_badge: - type: object - properties: - mint: - type: string - logo_uri: - type: string - banner_image_url: - type: string - ticker: - type: string - description: The coin symbol/ticker - coin_flair_mint: - type: string - bio: - type: string - cover_photo: - $ref: '#/components/schemas/cover_photo_full' - followee_count: - type: integer - follower_count: - type: integer - handle: - type: string - id: - type: string - is_verified: - type: boolean - twitter_handle: - type: string - instagram_handle: - type: string - tiktok_handle: - type: string - verified_with_twitter: - type: boolean - verified_with_instagram: - type: boolean - verified_with_tiktok: - type: boolean - website: - type: string - donation: - type: string - location: - type: string - name: - type: string - playlist_count: - type: integer - profile_picture: - $ref: '#/components/schemas/profile_picture_full' - repost_count: - type: integer - track_count: - type: integer - is_deactivated: - type: boolean - is_available: - type: boolean - erc_wallet: - type: string - spl_wallet: - type: string - spl_usdc_wallet: - type: string - spl_usdc_payout_wallet: - type: string - supporter_count: - type: integer - supporting_count: - type: integer - total_audio_balance: - type: integer - wallet: - type: string - description: The user's Ethereum wallet address for their account - balance: - type: string - associated_wallets_balance: - type: string - total_balance: - type: string - waudio_balance: - type: string - associated_sol_wallets_balance: - type: string - blocknumber: - type: integer - created_at: - type: string - is_storage_v2: - type: boolean - creator_node_endpoint: - type: string - current_user_followee_follow_count: - type: integer - does_current_user_follow: - type: boolean - does_current_user_subscribe: - type: boolean - does_follow_current_user: - type: boolean - handle_lc: - type: string - updated_at: - type: string - cover_photo_sizes: - type: string - cover_photo_cids: - $ref: '#/components/schemas/cover_photo' - cover_photo_legacy: - type: string - profile_picture_sizes: - type: string - profile_picture_cids: - $ref: '#/components/schemas/profile_picture' - profile_picture_legacy: - type: string - has_collectibles: - type: boolean - playlist_library: - $ref: '#/components/schemas/playlist_library' - allow_ai_attribution: - type: boolean - profile_type: - type: string - cover_photo_full: - type: object - properties: - "640x": - type: string - "2000x": - type: string - mirrors: - type: array - items: - type: string - profile_picture_full: - type: object - properties: - "150x150": - type: string - "480x480": - type: string - "1000x1000": - type: string - mirrors: - type: array - items: - type: string - cover_photo: - type: object - properties: - "640x": - type: string - "2000x": - type: string - profile_picture: - type: object - properties: - "150x150": - type: string - "480x480": - type: string - "1000x1000": - type: string - playlist_library: - type: object - properties: - contents: - type: array - items: - type: object - properties: {} - album_backlink: - required: - - permalink - - playlist_id - - playlist_name - type: object - properties: - playlist_id: - type: integer - playlist_name: - type: string - permalink: - type: string - access: - required: - - download - - stream - type: object - properties: - stream: - type: boolean - download: - type: boolean - cover_art: - type: object - properties: - "150x150": - type: string - "480x480": - type: string - "1000x1000": - type: string - field_visibility: - required: - - genre - - mood - - play_count - - remixes - - share - - tags - type: object - properties: - mood: - type: boolean - tags: - type: boolean - genre: - type: boolean - share: - type: boolean - play_count: - type: boolean - remixes: - type: boolean - repost: - required: - - repost_item_id - - repost_type - - user_id - type: object - properties: - repost_item_id: - type: string - repost_type: - type: string - user_id: - type: string - favorite: - required: - - created_at - - favorite_item_id - - favorite_type - - user_id - type: object - properties: - favorite_item_id: - type: string - favorite_type: - type: string - user_id: - type: string - created_at: - type: string - stem_parent: - required: - - category - - parent_track_id - type: object - properties: - category: - type: string - parent_track_id: - type: integer - track_segment: - required: - - duration - - multihash - type: object - properties: - duration: - type: number - multihash: - type: string - access_gate: - oneOf: - - $ref: '#/components/schemas/tip_gate' - - $ref: '#/components/schemas/follow_gate' - - $ref: '#/components/schemas/purchase_gate' - - $ref: '#/components/schemas/nft_gate' - - $ref: '#/components/schemas/token_gate' - tip_gate: - required: - - tip_user_id - type: object - properties: - tip_user_id: - type: integer - description: Must tip the given user ID to unlock - follow_gate: - required: - - follow_user_id - type: object - properties: - follow_user_id: - type: integer - description: Must follow the given user ID to unlock - token_gate: - required: - - token_gate - type: object - properties: - token_gate: - type: object - description: Must hold an NFT of the given collection to unlock - allOf: - - $ref: '#/components/schemas/extended_token_gate' - extended_token_gate: - required: - - token_mint - - token_amount - type: object - properties: - token_mint: - type: string - description: The mint of the token needed to unlock - token_amount: - type: integer - description: The amount of the token needed to unlock - purchase_gate: - required: - - usdc_purchase - type: object - properties: - usdc_purchase: - type: object - description: Must pay the total price and split to the given addresses to - unlock - allOf: - - $ref: '#/components/schemas/usdc_gate' - usdc_gate: - required: - - price - - splits - type: object - properties: - splits: - $ref: '#/components/schemas/wild_card_split' - price: - type: integer - wild_card_split: - type: object - additionalProperties: - type: integer - nft_gate: - required: - - nft_collection - type: object - properties: - nft_collection: - type: object - description: Must hold an NFT of the given collection to unlock - allOf: - - $ref: '#/components/schemas/nft_collection' - nft_collection: - required: - - address - - chain - - name - type: object - properties: - chain: - type: string - example: eth - enum: - - eth - - sol - standard: - type: string - example: ERC721 - enum: - - ERC721 - - ERC1155 - address: - type: string - name: - type: string - imageUrl: - type: string - externalLink: - type: string - url_with_mirrors: - required: - - mirrors - type: object - properties: - url: - type: string - mirrors: - type: array - items: - type: string - full_tracks_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/track_full' - track_comments_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/comment' - related: - $ref: '#/components/schemas/related' - coin: - type: object - description: A coin object - required: - - mint - - ticker - - decimals - - name - - created_at - properties: - mint: - type: string - description: The mint address of the coin - example: "bearR26zyyB3fNQm5wWv1ZfN8MPQDUMwaAuoG79b1Yj" - ticker: - type: string - description: The coin symbol/ticker - example: "BEAR" - decimals: - type: integer - description: The number of decimals for the coin - example: 9 - name: - type: string - description: The coin name - example: "BEAR" - logo_uri: - type: string - description: The URI for the coin's logo image - example: "https://example.com/logo.png" - banner_image_url: - type: string - description: The URI for the coin's banner image - example: "https://example.com/banner.png" - description: - type: string - description: The description of the coin - example: "A majestic bear token for wildlife conservation" - x_handle: - type: string - description: X (Twitter) handle for the coin - example: "bear_token" - instagram_handle: - type: string - description: Instagram handle for the coin - example: "bear_token" - tiktok_handle: - type: string - description: TikTok handle for the coin - example: "bear_token" - website: - type: string - description: Website URL for the coin - example: "https://bear-token.com" - link_1: - type: string - description: Generic link URL for the coin - example: "https://x.com/bear_token" - link_2: - type: string - description: Generic link URL for the coin - example: "https://instagram.com/bear_token" - link_3: - type: string - description: Generic link URL for the coin - example: "https://tiktok.com/@bear_token" - link_4: - type: string - description: Generic link URL for the coin - example: "https://bear-token.com" - has_discord: - type: boolean - description: Whether the coin has a Discord server - example: false - created_at: - type: string - format: date-time - description: The date and time when the coin was created - example: "2024-01-15T10:30:00Z" - updated_at: - type: string - format: date-time - description: The date and time when the coin was last updated - example: "2024-01-15T10:30:00Z" - owner_id: - type: string - description: The user ID of the coin owner - example: "7eP5n" - escrow_recipient: - type: string - description: The escrow recipient address for custom-created coins without DBCs - example: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263" - coin_response: - type: object - properties: - data: - $ref: '#/components/schemas/coin' - coins_response: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/coin' - coin_members_count_response: - type: object - required: - - data - properties: - data: - type: integer - description: The total number of users with a non-zero balance of the specific coin - example: 42 - tracks_count_response: - type: object - required: - - data - properties: - data: - type: integer - description: The total number of tracks matching the filter criteria - example: 15 - coins_volume_leaders_response: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - address - - volume - properties: - address: - type: string - volume: - type: number - user: - $ref: '#/components/schemas/user_full' - create_coin_request: - type: object - required: - - mint - - ticker - - decimals - - name - properties: - mint: - type: string - description: The mint address of the coin - example: "bearR26zyyB3fNQm5wWv1ZfN8MPQDUMwaAuoG79b1Yj" - ticker: - type: string - description: The coin symbol/ticker - example: "BEAR" - decimals: - type: integer - description: The number of decimals for the coin (0-18) - minimum: 0 - maximum: 18 - example: 9 - name: - type: string - description: The coin name - example: "BEAR" - logo_uri: - type: string - description: The URI for the coin's logo image - example: "https://example.com/logo.png" - banner_image_url: - type: string - description: The URI for the coin's banner image - example: "https://example.com/banner.png" - format: uri - description: - type: string - description: The description of the coin - example: "A majestic bear token for wildlife conservation" - link_1: - type: string - description: Generic link URL for the coin - example: "https://x.com/bear_token" - format: uri - link_2: - type: string - description: Generic link URL for the coin - example: "https://instagram.com/bear_token" - format: uri - link_3: - type: string - description: Generic link URL for the coin - example: "https://tiktok.com/@bear_token" - format: uri - link_4: - type: string - description: Generic link URL for the coin - example: "https://bear-token.com" - format: uri - create_coin_response: - type: object - properties: - data: - type: object - required: - - mint - - ticker - - user_id - - decimals - - name - - created_at - properties: - mint: - type: string - description: The mint address of the coin - example: "bearR26zyyB3fNQm5wWv1ZfN8MPQDUMwaAuoG79b1Yj" - ticker: - type: string - description: The coin symbol/ticker - example: "BEAR" - user_id: - type: integer - description: The user ID who created the coin - example: 1 - decimals: - type: integer - description: The number of decimals for the coin - example: 9 - name: - type: string - description: The coin name - example: "BEAR" - logo_uri: - type: string - description: The URI for the coin's logo image - example: "https://example.com/logo.png" - banner_image_url: - type: string - description: The URI for the coin's banner image - example: "https://example.com/banner.png" - description: - type: string - description: The description of the coin - example: "A majestic bear token for wildlife conservation" - link_1: - type: string - description: Generic link URL for the coin - example: "https://x.com/bear_token" - link_2: - type: string - description: Generic link URL for the coin - example: "https://instagram.com/bear_token" - link_3: - type: string - description: Generic link URL for the coin - example: "https://tiktok.com/@bear_token" - link_4: - type: string - description: Generic link URL for the coin - example: "https://bear-token.com" - created_at: - type: string - format: date-time - description: The date and time when the coin was created - example: "2024-01-15T10:30:00Z" - update_coin_request: - type: object - description: Request body for updating coin information - properties: - description: - type: string - description: The description of the coin (max 2500 characters) - example: "Updated description for the bear token" - maxLength: 2500 - banner_image_url: - type: string - description: URL for the coin's banner image - example: "https://example.com/banner.png" - format: uri - link_1: - type: string - description: Generic link URL for the coin - example: "https://x.com/bear_token" - format: uri - link_2: - type: string - description: Generic link URL for the coin - example: "https://instagram.com/bear_token" - format: uri - link_3: - type: string - description: Generic link URL for the coin - example: "https://tiktok.com/@bear_token" - format: uri - link_4: - type: string - description: Generic link URL for the coin - example: "https://bear-token.com" - format: uri - update_coin_response: - type: object - properties: - success: - type: boolean - description: Indicates if the update was successful - example: true - comment: - required: - - created_at - - entity_id - - entity_type - - id - - is_edited - - message - - react_count - - reply_count - type: object - properties: - id: - type: string - entity_id: - type: string - entity_type: - $ref: '#/components/schemas/comment_entity_type' - user_id: - type: string - message: - type: string - mentions: - type: array - items: - $ref: '#/components/schemas/comment_mention' - track_timestamp_s: - type: integer - react_count: - type: integer - reply_count: - type: integer - is_edited: - type: boolean - is_current_user_reacted: - type: boolean - is_artist_reacted: - type: boolean - is_tombstone: - type: boolean - is_muted: - type: boolean - created_at: - type: string - updated_at: - type: string - replies: - type: array - items: - $ref: '#/components/schemas/reply_comment' - parent_comment_id: - type: integer - comment_mention: - required: - - handle - - user_id - type: object - properties: - user_id: - type: integer - handle: - type: string - reply_comment: - required: - - created_at - - entity_id - - entity_type - - id - - is_edited - - message - - react_count - - user_id - type: object - properties: - id: - type: string - entity_id: - type: string - entity_type: - $ref: '#/components/schemas/comment_entity_type' - user_id: - type: string - message: - type: string - mentions: - type: array - items: - $ref: '#/components/schemas/comment_mention' - track_timestamp_s: - type: integer - react_count: - type: integer - is_edited: - type: boolean - is_current_user_reacted: - type: boolean - is_artist_reacted: - type: boolean - created_at: - type: string - updated_at: - type: string - parent_comment_id: - type: integer - related: - type: object - properties: - users: - type: array - items: - $ref: '#/components/schemas/user_full' - tracks: - type: array - items: - $ref: '#/components/schemas/track_full' - playlists: - type: array - items: - $ref: '#/components/schemas/playlist_full' - playlist_full: - required: - - access - - added_timestamps - - blocknumber - - created_at - - favorite_count - - followee_favorites - - followee_reposts - - has_current_user_reposted - - has_current_user_saved - - id - - is_album - - is_delete - - is_image_autogenerated - - is_private - - is_scheduled_release - - is_stream_gated - - permalink - - playlist_contents - - playlist_name - - repost_count - - total_play_count - - track_count - - updated_at - - user - - user_id - type: object - properties: - artwork: - $ref: '#/components/schemas/playlist_artwork_full' - description: - type: string - permalink: - type: string - id: - type: string - is_album: - type: boolean - is_image_autogenerated: - type: boolean - playlist_name: - type: string - playlist_contents: - type: array - items: - $ref: '#/components/schemas/playlist_added_timestamp' - repost_count: - type: integer - favorite_count: - type: integer - total_play_count: - type: integer - user: - $ref: '#/components/schemas/user_full' - ddex_app: - type: string - access: - $ref: '#/components/schemas/access' - upc: - type: string - track_count: - type: integer - blocknumber: - type: integer - created_at: - type: string - followee_reposts: - type: array - items: - $ref: '#/components/schemas/repost' - followee_favorites: - type: array - items: - $ref: '#/components/schemas/favorite' - has_current_user_reposted: - type: boolean - has_current_user_saved: - type: boolean - is_delete: - type: boolean - is_private: - type: boolean - updated_at: - type: string - added_timestamps: - type: array - description: DEPRECATED. Use playlist_contents instead. - items: - $ref: '#/components/schemas/playlist_added_timestamp' - user_id: - type: string - tracks: - type: array - items: - $ref: '#/components/schemas/track_full' - cover_art: - type: string - cover_art_sizes: - type: string - cover_art_cids: - $ref: '#/components/schemas/playlist_artwork' - is_stream_gated: - type: boolean - stream_conditions: - type: object - description: How to unlock stream access to the track - allOf: - - $ref: '#/components/schemas/access_gate' - is_scheduled_release: - type: boolean - release_date: - type: string - ddex_release_ids: - type: object - properties: {} - artists: - type: array - items: - type: object - properties: {} - copyright_line: - type: object - properties: {} - producer_copyright_line: - type: object - properties: {} - parental_warning_type: - type: string - nullable: true - playlist_artwork_full: - type: object - properties: - "150x150": - type: string - "480x480": - type: string - "1000x1000": - type: string - mirrors: - type: array - items: - type: string - playlist_added_timestamp: - required: - - metadata_timestamp - - timestamp - - track_id - type: object - properties: - metadata_timestamp: - type: integer - timestamp: - type: integer - track_id: - type: string - playlist_artwork: - type: object - properties: - "150x150": - type: string - "480x480": - type: string - "1000x1000": - type: string - trending_ids_response: - type: object - properties: - data: - $ref: '#/components/schemas/trending_times_ids' - trending_times_ids: - type: object - properties: - week: - type: array - items: - $ref: '#/components/schemas/track_id' - month: - type: array - items: - $ref: '#/components/schemas/track_id' - year: - type: array - items: - $ref: '#/components/schemas/track_id' - track_id: - required: - - id - type: object - properties: - id: - type: string - track_favorites_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - track_reposts_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - full_top_listener: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/full_top_listener' - stems_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/stem_full' - stem_full: - required: - - blocknumber - - category - - cid - - id - - orig_filename - - parent_id - - user_id - type: object - properties: - id: - type: string - parent_id: - type: string - category: - type: string - cid: - type: string - user_id: - type: string - blocknumber: - type: integer - orig_filename: - type: string - remixables_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/track_full' - remixes_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - $ref: '#/components/schemas/remixes_response' - remixes_response: - required: - - count - type: object - properties: - count: - type: integer - tracks: - type: array - items: - $ref: '#/components/schemas/track_full' - remixing_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/track_full' - full_playlist_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/playlist_full' - full_playlist_tracks_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/track_full' - following_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - full_trending_playlists_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/playlist_full' - full_user_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - full_tracks: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/track_full' - full_reposts: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/activity_full' - track_activity_full: - allOf: - - $ref: '#/components/schemas/activity_full' - - required: - - item - - item_type - type: object - properties: - item_type: - type: string - example: track - enum: - - track - item: - $ref: '#/components/schemas/track_full' - activity_full: - required: - - class - - item - - item_type - - timestamp - type: object - properties: - timestamp: - type: string - item_type: - type: string - example: track - enum: - - track - - playlist - item: - type: object - properties: {} - class: - type: string - discriminator: - propertyName: class - collection_activity_full: - allOf: - - $ref: '#/components/schemas/activity_full' - - required: - - item - - item_type - type: object - properties: - item_type: - type: string - example: playlist - enum: - - playlist - item: - $ref: '#/components/schemas/playlist_full' - playlists_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/playlist_full_without_tracks' - playlist_full_without_tracks: - required: - - access - - added_timestamps - - blocknumber - - created_at - - favorite_count - - followee_favorites - - followee_reposts - - has_current_user_reposted - - has_current_user_saved - - id - - is_album - - is_delete - - is_image_autogenerated - - is_private - - is_scheduled_release - - is_stream_gated - - permalink - - playlist_contents - - playlist_name - - repost_count - - total_play_count - - track_count - - updated_at - - user - - user_id - type: object - properties: - artwork: - $ref: '#/components/schemas/playlist_artwork_full' - description: - type: string - permalink: - type: string - id: - type: string - is_album: - type: boolean - is_image_autogenerated: - type: boolean - playlist_name: - type: string - playlist_contents: - type: array - items: - $ref: '#/components/schemas/playlist_added_timestamp' - repost_count: - type: integer - favorite_count: - type: integer - total_play_count: - type: integer - user: - $ref: '#/components/schemas/user_full' - ddex_app: - type: string - access: - $ref: '#/components/schemas/access' - upc: - type: string - track_count: - type: integer - blocknumber: - type: integer - created_at: - type: string - followee_reposts: - type: array - items: - $ref: '#/components/schemas/repost' - followee_favorites: - type: array - items: - $ref: '#/components/schemas/favorite' - has_current_user_reposted: - type: boolean - has_current_user_saved: - type: boolean - is_delete: - type: boolean - is_private: - type: boolean - updated_at: - type: string - added_timestamps: - type: array - description: DEPRECATED. Use playlist_contents instead. - items: - $ref: '#/components/schemas/playlist_added_timestamp' - user_id: - type: string - tracks: - type: array - items: - $ref: '#/components/schemas/track_full' - cover_art: - type: string - cover_art_sizes: - type: string - cover_art_cids: - $ref: '#/components/schemas/playlist_artwork' - is_stream_gated: - type: boolean - stream_conditions: - type: object - description: How to unlock stream access to the track - allOf: - - $ref: '#/components/schemas/access_gate' - is_scheduled_release: - type: boolean - release_date: - type: string - ddex_release_ids: - type: object - properties: {} - artists: - type: array - items: - type: object - properties: {} - copyright_line: - type: object - properties: {} - producer_copyright_line: - type: object - properties: {} - parental_warning_type: - type: string - nullable: true - albums_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/playlist_full_without_tracks' - track_library_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/track_activity_full' - collection_library_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/collection_activity_full_without_tracks' - collection_activity_full_without_tracks: - allOf: - - $ref: '#/components/schemas/activity_full' - - required: - - item - - item_type - type: object - properties: - item_type: - type: string - example: playlist - enum: - - playlist - item: - $ref: '#/components/schemas/playlist_full_without_tracks' - history_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/track_activity_full' - full_subscribers_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - full_bulk_subscribers_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_subscribers' - user_subscribers: - required: - - user_id - type: object - properties: - user_id: - type: string - subscriber_ids: - type: array - items: - type: string - full_followers_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - following_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - full_mutual_followers_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - related_artist_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - top_genre_users_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - top_users_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - user_account_response_full: - type: object - properties: - data: - $ref: '#/components/schemas/account_full' - account_full: - required: - - playlists - - track_save_count - - user - type: object - properties: - user: - $ref: '#/components/schemas/user_full' - playlists: - type: array - items: - $ref: '#/components/schemas/account_collection' - playlist_library: - $ref: '#/components/schemas/playlist_library' - track_save_count: - type: integer - account_collection: - required: - - id - - is_album - - name - - permalink - - user - type: object - properties: - id: - type: string - is_album: - type: boolean - name: - type: string - permalink: - type: string - user: - $ref: '#/components/schemas/account_collection_user' - account_collection_user: - required: - - handle - - id - type: object - properties: - id: - type: string - handle: - type: string - is_deactivated: - type: boolean - full_get_supporters: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/full_supporter' - full_supporter: - required: - - amount - - rank - - sender - type: object - properties: - rank: - type: integer - amount: - type: string - sender: - $ref: '#/components/schemas/user_full' - full_get_supporter: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - $ref: '#/components/schemas/full_supporter' - full_get_supported_users: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/full_supporting' - full_supporting: - required: - - amount - - rank - - receiver - type: object - properties: - rank: - type: integer - amount: - type: string - receiver: - $ref: '#/components/schemas/user_full' - full_get_supporting: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - $ref: '#/components/schemas/full_supporting' - managed_users_response: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/managed_user' - managed_user: - required: - - grant - - user - type: object - properties: - user: - $ref: '#/components/schemas/user_full' - grant: - $ref: '#/components/schemas/grant' - grant: - required: - - created_at - - grantee_address - - is_approved - - is_revoked - - updated_at - - user_id - type: object - properties: - grantee_address: - type: string - user_id: - type: string - is_revoked: - type: boolean - is_approved: - type: boolean - created_at: - type: string - updated_at: - type: string - managers_response: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/user_manager' - user_manager: - required: - - grant - - manager - type: object - properties: - manager: - $ref: '#/components/schemas/user_full' - grant: - $ref: '#/components/schemas/grant' - purchases_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/purchase' - purchase: - required: - - access - - amount - - buyer_user_id - - content_id - - content_type - - created_at - - extra_amount - - seller_user_id - - signature - - slot - - splits - - updated_at - type: object - properties: - slot: - type: integer - signature: - type: string - seller_user_id: - type: string - buyer_user_id: - type: string - amount: - type: string - extra_amount: - type: string - content_type: - type: string - content_id: - type: string - created_at: - type: string - updated_at: - type: string - access: - type: string - splits: - type: array - items: - $ref: '#/components/schemas/purchase_split' - discriminator: - propertyName: content_type - purchase_split: - required: - - amount - - payout_wallet - type: object - properties: - user_id: - type: integer - payout_wallet: - type: string - amount: - type: string - purchases_count_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: integer - full_remixers_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - remixers_count_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: integer - full_purchasers_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_full' - purchasers_count_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: integer - user_feed_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/user_feed_item' - user_feed_item: - oneOf: - - $ref: '#/components/schemas/track_feed_item' - - $ref: '#/components/schemas/playlist_feed_item' - discriminator: - propertyName: 'type' - mapping: - track: '#/components/schemas/track_feed_item' - playlist: '#/components/schemas/playlist_feed_item' - track_feed_item: - required: - - item - - type - type: object - properties: - type: - type: string - item: - $ref: '#/components/schemas/track_full' - playlist_feed_item: - required: - - item - - type - type: object - properties: - type: - type: string - item: - $ref: '#/components/schemas/playlist_full' - user_comments_response_full: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/comment' - related: - $ref: '#/components/schemas/related' - transaction_history_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/transaction_details' - transaction_details: - required: - - balance - - change - - metadata - - method - - signature - - transaction_date - - transaction_type - - user_bank - type: object - properties: - transaction_date: - type: string - transaction_type: - type: string - method: - type: string - signature: - type: string - user_bank: - type: string - change: - type: string - balance: - type: string - metadata: - type: object - properties: {} - discriminator: - propertyName: transaction_type - transaction_history_count_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: integer - search_full_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - $ref: '#/components/schemas/search_model' - search_model: - required: - - albums - - playlists - - tracks - - users - type: object - properties: - users: - type: array - items: - $ref: '#/components/schemas/user_full' - followed_users: - type: array - items: - $ref: '#/components/schemas/user_full' - tracks: - type: array - items: - $ref: '#/components/schemas/search_track_full' - saved_tracks: - type: array - items: - $ref: '#/components/schemas/search_track_full' - playlists: - type: array - items: - $ref: '#/components/schemas/search_playlist_full' - saved_playlists: - type: array - items: - $ref: '#/components/schemas/search_playlist_full' - albums: - type: array - items: - $ref: '#/components/schemas/search_playlist_full' - saved_albums: - type: array - items: - $ref: '#/components/schemas/search_playlist_full' - search_track_full: - required: - - access - - artwork - - blocknumber - - comment_count - - cover_art_sizes - - created_at - - download - - duration - - favorite_count - - field_visibility - - genre - - has_current_user_reposted - - has_current_user_saved - - id - - is_available - - is_delete - - is_download_gated - - is_downloadable - - is_original_available - - is_owned_by_user - - is_scheduled_release - - is_stream_gated - - is_unlisted - - permalink - - play_count - - preview - - remix_of - - repost_count - - route_id - - stream - - title - - track_segments - - updated_at - - user - - user_id - type: object - properties: - artwork: - $ref: '#/components/schemas/track_artwork_full' - description: - type: string - genre: - type: string - id: - type: string - track_cid: - type: string - preview_cid: - type: string - orig_file_cid: - type: string - orig_filename: - type: string - is_original_available: - type: boolean - mood: - type: string - release_date: - type: string - remix_of: - $ref: '#/components/schemas/full_remix_parent' - repost_count: - type: integer - favorite_count: - type: integer - comment_count: - type: integer - tags: - type: string - title: - type: string - user: - $ref: '#/components/schemas/user_full' - duration: - type: integer - is_downloadable: - type: boolean - play_count: - type: integer - permalink: - type: string - is_streamable: - type: boolean - ddex_app: - type: string - playlists_containing_track: - type: array - items: - type: integer - pinned_comment_id: - type: integer - album_backlink: - $ref: '#/components/schemas/album_backlink' - access: - type: object - description: Describes what access the given user has - allOf: - - $ref: '#/components/schemas/access' - blocknumber: - type: integer - description: The blocknumber this track was last updated - create_date: - type: string - cover_art_sizes: - type: string - cover_art_cids: - $ref: '#/components/schemas/cover_art' - created_at: - type: string - credits_splits: - type: string - isrc: - type: string - license: - type: string - iswc: - type: string - field_visibility: - $ref: '#/components/schemas/field_visibility' - followee_reposts: - type: array - items: - $ref: '#/components/schemas/repost' - has_current_user_reposted: - type: boolean - is_scheduled_release: - type: boolean - is_unlisted: - type: boolean - has_current_user_saved: - type: boolean - followee_favorites: - type: array - items: - $ref: '#/components/schemas/favorite' - route_id: - type: string - stem_of: - $ref: '#/components/schemas/stem_parent' - track_segments: - type: array - items: - $ref: '#/components/schemas/track_segment' - updated_at: - type: string - user_id: - type: string - is_delete: - type: boolean - cover_art: - type: string - is_available: - type: boolean - ai_attribution_user_id: - type: integer - allowed_api_keys: - type: array - items: - type: string - audio_upload_id: - type: string - preview_start_seconds: - type: number - bpm: - type: number - is_custom_bpm: - type: boolean - musical_key: - type: string - is_custom_musical_key: - type: boolean - audio_analysis_error_count: - type: integer - comments_disabled: - type: boolean - ddex_release_ids: - type: object - properties: {} - artists: - type: array - items: - type: object - properties: {} - resource_contributors: - type: array - items: - type: object - properties: {} - indirect_resource_contributors: - type: array - items: - type: object - properties: {} - rights_controller: - type: object - properties: {} - copyright_line: - type: object - properties: {} - producer_copyright_line: - type: object - properties: {} - parental_warning_type: - type: string - nullable: true - is_stream_gated: - type: boolean - description: Whether or not the owner has restricted streaming behind an - access gate - stream_conditions: - type: object - description: How to unlock stream access to the track - allOf: - - $ref: '#/components/schemas/access_gate' - is_download_gated: - type: boolean - description: Whether or not the owner has restricted downloading behind - an access gate - download_conditions: - type: object - description: How to unlock the track download - allOf: - - $ref: '#/components/schemas/access_gate' - cover_original_song_title: - type: string - cover_original_artist: - type: string - is_owned_by_user: - type: boolean - description: Indicates whether the track is owned by the user for MRI sake - stream: - $ref: '#/components/schemas/url_with_mirrors' - download: - $ref: '#/components/schemas/url_with_mirrors' - preview: - $ref: '#/components/schemas/url_with_mirrors' - search_playlist_full: - required: - - access - - added_timestamps - - blocknumber - - created_at - - favorite_count - - has_current_user_reposted - - has_current_user_saved - - id - - is_album - - is_delete - - is_image_autogenerated - - is_private - - is_scheduled_release - - is_stream_gated - - permalink - - playlist_contents - - playlist_name - - repost_count - - total_play_count - - track_count - - updated_at - - user - - user_id - type: object - properties: - artwork: - $ref: '#/components/schemas/playlist_artwork_full' - description: - type: string - permalink: - type: string - id: - type: string - is_album: - type: boolean - is_image_autogenerated: - type: boolean - playlist_name: - type: string - playlist_contents: - type: array - items: - $ref: '#/components/schemas/playlist_added_timestamp' - repost_count: - type: integer - favorite_count: - type: integer - total_play_count: - type: integer - user: - $ref: '#/components/schemas/user_full' - ddex_app: - type: string - access: - $ref: '#/components/schemas/access' - upc: - type: string - track_count: - type: integer - blocknumber: - type: integer - created_at: - type: string - followee_reposts: - type: array - items: - $ref: '#/components/schemas/repost' - followee_favorites: - type: array - items: - $ref: '#/components/schemas/favorite' - has_current_user_reposted: - type: boolean - has_current_user_saved: - type: boolean - is_delete: - type: boolean - is_private: - type: boolean - updated_at: - type: string - added_timestamps: - type: array - description: DEPRECATED. Use playlist_contents instead. - items: - $ref: '#/components/schemas/playlist_added_timestamp' - user_id: - type: string - tracks: - type: array - items: - $ref: '#/components/schemas/track_full' - cover_art: - type: string - cover_art_sizes: - type: string - cover_art_cids: - $ref: '#/components/schemas/playlist_artwork' - is_stream_gated: - type: boolean - stream_conditions: - type: object - description: How to unlock stream access to the track - allOf: - - $ref: '#/components/schemas/access_gate' - is_scheduled_release: - type: boolean - release_date: - type: string - ddex_release_ids: - type: object - properties: {} - artists: - type: array - items: - type: object - properties: {} - copyright_line: - type: object - properties: {} - producer_copyright_line: - type: object - properties: {} - parental_warning_type: - type: string - nullable: true - search_autocomplete_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - $ref: '#/components/schemas/search_model' - get_tips_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/full_tip' - full_tip: - required: - - amount - - created_at - - followee_supporters - - receiver - - sender - - slot - - tx_signature - type: object - properties: - amount: - type: string - sender: - $ref: '#/components/schemas/user_full' - receiver: - $ref: '#/components/schemas/user_full' - created_at: - type: string - slot: - type: integer - followee_supporters: - type: array - items: - $ref: '#/components/schemas/supporter_reference' - tx_signature: - type: string - supporter_reference: - required: - - user_id - type: object - properties: - user_id: - type: string - reactions: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/reaction' - reaction: - required: - - reacted_to - - reaction_type - - reaction_value - - sender_user_id - type: object - properties: - reaction_value: - type: string - reaction_type: - type: string - sender_user_id: - type: string - reacted_to: - type: string - cid_data_response: - type: object - properties: - data: - $ref: '#/components/schemas/data_and_type' - data_and_type: - type: object - properties: - type: - type: string - data: - $ref: '#/components/schemas/cid_data' - cid_data: - type: object - properties: - collectibles: - type: object - properties: {} - associated_sol_wallets: - type: object - properties: {} - associated_wallets: - type: object - properties: {} - notifications_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - $ref: '#/components/schemas/notifications' - notifications: - required: - - unread_count - type: object - properties: - notifications: - type: array - items: - $ref: '#/components/schemas/notification' - unread_count: - type: integer - notification: - oneOf: - - $ref: '#/components/schemas/follow_notification' - - $ref: '#/components/schemas/save_notification' - - $ref: '#/components/schemas/repost_notification' - - $ref: '#/components/schemas/repost_of_repost_notification' - - $ref: '#/components/schemas/save_of_repost_notification' - - $ref: '#/components/schemas/tastemaker_notification' - - $ref: '#/components/schemas/remix_notification' - - $ref: '#/components/schemas/cosign_notification' - - $ref: '#/components/schemas/create_notification' - - $ref: '#/components/schemas/send_tip_notification' - - $ref: '#/components/schemas/receive_tip_notification' - - $ref: '#/components/schemas/supporter_dethroned_notification' - - $ref: '#/components/schemas/supporter_rank_up_notification' - - $ref: '#/components/schemas/supporter_rank_up_notification' - - $ref: '#/components/schemas/challenge_reward_notification' - - $ref: '#/components/schemas/claimable_reward_notification' - - $ref: '#/components/schemas/reaction_notification' - - $ref: '#/components/schemas/milestone_notification' - - $ref: '#/components/schemas/tier_change_notification' - - $ref: '#/components/schemas/track_added_to_playlist_notification' - - $ref: '#/components/schemas/track_added_to_purchased_album_notification' - - $ref: '#/components/schemas/usdc_purchase_seller_notification' - - $ref: '#/components/schemas/usdc_purchase_buyer_notification' - - $ref: '#/components/schemas/request_manager_notification' - - $ref: '#/components/schemas/approve_manager_request_notification' - - $ref: '#/components/schemas/trending_notification' - - $ref: '#/components/schemas/trending_playlist_notification' - - $ref: '#/components/schemas/trending_underground_notification' - - $ref: '#/components/schemas/announcement_notification' - - $ref: '#/components/schemas/comment_notification' - - $ref: '#/components/schemas/comment_thread_notification' - - $ref: '#/components/schemas/comment_mention_notification' - - $ref: '#/components/schemas/comment_reaction_notification' - - $ref: '#/components/schemas/listen_streak_reminder_notification' - - $ref: '#/components/schemas/fan_remix_contest_started_notification' - - $ref: '#/components/schemas/fan_remix_contest_ended_notification' - - $ref: '#/components/schemas/fan_remix_contest_ending_soon_notification' - - $ref: '#/components/schemas/artist_remix_contest_ended_notification' - - $ref: '#/components/schemas/artist_remix_contest_ending_soon_notification' - - $ref: '#/components/schemas/artist_remix_contest_submissions_notification' - - $ref: '#/components/schemas/fan_remix_contest_winners_selected_notification' - discriminator: - propertyName: type - mapping: - follow: '#/components/schemas/follow_notification' - save: '#/components/schemas/save_notification' - repost: '#/components/schemas/repost_notification' - repost_of_repost: '#/components/schemas/repost_of_repost_notification' - save_of_repost: '#/components/schemas/save_of_repost_notification' - tastemaker: '#/components/schemas/tastemaker_notification' - remix: '#/components/schemas/remix_notification' - cosign: '#/components/schemas/cosign_notification' - create: '#/components/schemas/create_notification' - tip_send: '#/components/schemas/send_tip_notification' - tip_receive: '#/components/schemas/receive_tip_notification' - supporter_dethroned: '#/components/schemas/supporter_dethroned_notification' - supporter_rank_up: '#/components/schemas/supporter_rank_up_notification' - supporting_rank_up: '#/components/schemas/supporter_rank_up_notification' - challenge_reward: '#/components/schemas/challenge_reward_notification' - claimable_reward: '#/components/schemas/claimable_reward_notification' - reaction: '#/components/schemas/reaction_notification' - milestone: '#/components/schemas/milestone_notification' - tier_change: '#/components/schemas/tier_change_notification' - track_added_to_playlist: '#/components/schemas/track_added_to_playlist_notification' - track_added_to_purchased_album: '#/components/schemas/track_added_to_purchased_album_notification' - usdc_purchase_seller: '#/components/schemas/usdc_purchase_seller_notification' - usdc_purchase_buyer: '#/components/schemas/usdc_purchase_buyer_notification' - request_manager: '#/components/schemas/request_manager_notification' - approve_manager_request: '#/components/schemas/approve_manager_request_notification' - trending: '#/components/schemas/trending_notification' - trending_playlist: '#/components/schemas/trending_playlist_notification' - trending_underground: '#/components/schemas/trending_underground_notification' - announcement: '#/components/schemas/announcement_notification' - comment: '#/components/schemas/comment_notification' - comment_thread: '#/components/schemas/comment_thread_notification' - comment_mention: '#/components/schemas/comment_mention_notification' - comment_reaction: '#/components/schemas/comment_reaction_notification' - listen_streak_reminder: '#/components/schemas/listen_streak_reminder_notification' - fan_remix_contest_started: '#/components/schemas/fan_remix_contest_started_notification' - fan_remix_contest_ended: '#/components/schemas/fan_remix_contest_ended_notification' - fan_remix_contest_ending_soon: '#/components/schemas/fan_remix_contest_ending_soon_notification' - artist_remix_contest_ended: '#/components/schemas/artist_remix_contest_ended_notification' - artist_remix_contest_ending_soon: '#/components/schemas/artist_remix_contest_ending_soon_notification' - artist_remix_contest_submissions: '#/components/schemas/artist_remix_contest_submissions_notification' - fan_remix_contest_winners_selected: '#/components/schemas/fan_remix_contest_winners_selected_notification' - follow_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/follow_notification_action' - follow_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/follow_notification_action_data' - follow_notification_action_data: - required: - - followee_user_id - - follower_user_id - type: object - properties: - follower_user_id: - type: string - followee_user_id: - type: string - save_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/save_notification_action' - save_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/save_notification_action_data' - save_notification_action_data: - required: - - save_item_id - - type - - user_id - type: object - properties: - type: - type: string - example: track - enum: - - track - - playlist - - album - user_id: - type: string - save_item_id: - type: string - repost_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/repost_notification_action' - repost_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/repost_notification_action_data' - repost_notification_action_data: - required: - - repost_item_id - - type - - user_id - type: object - properties: - type: - type: string - example: track - enum: - - track - - playlist - - album - user_id: - type: string - repost_item_id: - type: string - repost_of_repost_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/repost_of_repost_notification_action' - repost_of_repost_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/repost_of_repost_notification_action_data' - repost_of_repost_notification_action_data: - required: - - repost_of_repost_item_id - - type - - user_id - type: object - properties: - type: - type: string - example: track - enum: - - track - - playlist - - album - user_id: - type: string - repost_of_repost_item_id: - type: string - save_of_repost_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/save_of_repost_notification_action' - save_of_repost_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/save_of_repost_notification_action_data' - save_of_repost_notification_action_data: - required: - - save_of_repost_item_id - - type - - user_id - type: object - properties: - type: - type: string - example: track - enum: - - track - - playlist - - album - user_id: - type: string - save_of_repost_item_id: - type: string - tastemaker_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/tastemaker_notification_action' - tastemaker_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/tastemaker_notification_action_data' - tastemaker_notification_action_data: - required: - - action - - tastemaker_item_id - - tastemaker_item_owner_id - - tastemaker_item_type - - tastemaker_user_id - type: object - properties: - tastemaker_item_owner_id: - type: string - tastemaker_item_id: - type: string - action: - type: string - tastemaker_item_type: - type: string - tastemaker_user_id: - type: string - remix_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/remix_notification_action' - remix_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/remix_notification_action_data' - remix_notification_action_data: - required: - - parent_track_id - - track_id - type: object - properties: - parent_track_id: - type: string - track_id: - type: string - cosign_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/cosign_notification_action' - cosign_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/cosign_notification_action_data' - cosign_notification_action_data: - required: - - parent_track_id - - track_id - - track_owner_id - type: object - properties: - parent_track_id: - type: string - track_id: - type: string - track_owner_id: - type: string - create_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/create_notification_action' - create_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/create_notification_action_data' - create_notification_action_data: - oneOf: - - $ref: '#/components/schemas/create_playlist_notification_action_data' - - $ref: '#/components/schemas/create_track_notification_action_data' - create_playlist_notification_action_data: - required: - - is_album - - playlist_id - type: object - properties: - is_album: - type: boolean - playlist_id: - type: string - create_track_notification_action_data: - required: - - track_id - type: object - properties: - track_id: - type: string - send_tip_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/send_tip_notification_action' - send_tip_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/send_tip_notification_action_data' - send_tip_notification_action_data: - required: - - amount - - receiver_user_id - - sender_user_id - - tip_tx_signature - type: object - properties: - amount: - type: string - sender_user_id: - type: string - receiver_user_id: - type: string - tip_tx_signature: - type: string - receive_tip_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/receive_tip_notification_action' - receive_tip_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/receive_tip_notification_action_data' - receive_tip_notification_action_data: - required: - - amount - - reaction_value - - receiver_user_id - - sender_user_id - - tip_tx_signature - type: object - properties: - amount: - type: string - sender_user_id: - type: string - receiver_user_id: - type: string - tip_tx_signature: - type: string - reaction_value: - type: integer - supporter_dethroned_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/supporter_dethroned_notification_action' - supporter_dethroned_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/supporter_dethroned_notification_action_data' - supporter_dethroned_notification_action_data: - required: - - dethroned_user_id - - receiver_user_id - - sender_user_id - type: object - properties: - dethroned_user_id: - type: string - sender_user_id: - type: string - receiver_user_id: - type: string - supporter_rank_up_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/supporter_rank_up_notification_action' - supporter_rank_up_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/supporter_rank_up_notification_action_data' - supporter_rank_up_notification_action_data: - required: - - rank - - receiver_user_id - - sender_user_id - type: object - properties: - rank: - type: integer - sender_user_id: - type: string - receiver_user_id: - type: string - challenge_reward_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/challenge_reward_notification_action' - challenge_reward_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/challenge_reward_notification_action_data' - challenge_reward_notification_action_data: - required: - - amount - - challenge_id - - specifier - type: object - properties: - amount: - type: string - specifier: - type: string - challenge_id: - type: string - listen_streak: - type: integer - claimable_reward_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/claimable_reward_notification_action' - claimable_reward_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/claimable_reward_notification_action_data' - claimable_reward_notification_action_data: - required: - - amount - - challenge_id - - specifier - type: object - properties: - amount: - type: string - specifier: - type: string - challenge_id: - type: string - reaction_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/reaction_notification_action' - reaction_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/reaction_notification_action_data' - reaction_notification_action_data: - required: - - reacted_to - - reaction_type - - reaction_value - - receiver_user_id - - sender_user_id - - sender_wallet - - tip_amount - type: object - properties: - reacted_to: - type: string - reaction_type: - type: string - reaction_value: - type: integer - receiver_user_id: - type: string - sender_user_id: - type: string - sender_wallet: - type: string - tip_amount: - type: string - milestone_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/milestone_notification_action' - milestone_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/milestone_notification_action_data' - milestone_notification_action_data: - oneOf: - - $ref: '#/components/schemas/user_milestone_notification_action_data' - - $ref: '#/components/schemas/track_milestone_notification_action_data' - - $ref: '#/components/schemas/playlist_milestone_notification_action_data' - user_milestone_notification_action_data: - required: - - threshold - - type - - user_id - type: object - properties: - type: - type: string - threshold: - type: integer - user_id: - type: string - track_milestone_notification_action_data: - required: - - threshold - - track_id - - type - type: object - properties: - type: - type: string - threshold: - type: integer - track_id: - type: string - playlist_milestone_notification_action_data: - required: - - is_album - - playlist_id - - threshold - - type - type: object - properties: - type: - type: string - threshold: - type: integer - playlist_id: - type: string - is_album: - type: boolean - tier_change_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/tier_change_notification_action' - tier_change_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/tier_change_notification_action_data' - tier_change_notification_action_data: - required: - - current_value - - new_tier - - new_tier_value - type: object - properties: - new_tier: - type: string - current_value: - type: string - new_tier_value: - type: integer - track_added_to_playlist_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/track_added_to_playlist_notification_action' - track_added_to_playlist_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/track_added_to_playlist_notification_action_data' - track_added_to_playlist_notification_action_data: - required: - - playlist_id - - playlist_owner_id - - track_id - type: object - properties: - track_id: - type: string - playlist_id: - type: string - playlist_owner_id: - type: string - track_added_to_purchased_album_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/track_added_to_purchased_album_notification_action' - track_added_to_purchased_album_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/track_added_to_purchased_album_notification_action_data' - track_added_to_purchased_album_notification_action_data: - required: - - playlist_id - - playlist_owner_id - - track_id - type: object - properties: - track_id: - type: string - playlist_id: - type: string - playlist_owner_id: - type: string - usdc_purchase_seller_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/usdc_purchase_seller_notification_action' - usdc_purchase_seller_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/usdc_purchase_seller_notification_action_data' - usdc_purchase_seller_notification_action_data: - required: - - amount - - buyer_user_id - - content_id - - content_type - - extra_amount - - seller_user_id - type: object - properties: - content_type: - type: string - buyer_user_id: - type: string - seller_user_id: - type: string - amount: - type: string - extra_amount: - type: string - content_id: - type: string - usdc_purchase_buyer_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/usdc_purchase_buyer_notification_action' - usdc_purchase_buyer_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/usdc_purchase_buyer_notification_action_data' - usdc_purchase_buyer_notification_action_data: - required: - - amount - - buyer_user_id - - content_id - - content_type - - extra_amount - - seller_user_id - type: object - properties: - content_type: - type: string - buyer_user_id: - type: string - seller_user_id: - type: string - amount: - type: string - extra_amount: - type: string - content_id: - type: string - request_manager_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/request_manager_notification_action' - request_manager_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/request_manager_notification_action_data' - request_manager_notification_action_data: - required: - - grantee_address - - grantee_user_id - - user_id - type: object - properties: - user_id: - type: string - grantee_user_id: - type: string - grantee_address: - type: string - approve_manager_request_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/approve_manager_request_notification_action' - approve_manager_request_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/approve_manager_request_notification_action_data' - approve_manager_request_notification_action_data: - required: - - grantee_address - - grantee_user_id - - user_id - type: object - properties: - user_id: - type: string - grantee_user_id: - type: string - grantee_address: - type: string - trending_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/trending_notification_action' - trending_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/trending_notification_action_data' - trending_notification_action_data: - required: - - genre - - rank - - time_range - - track_id - type: object - properties: - rank: - type: integer - genre: - type: string - track_id: - type: string - time_range: - type: string - example: week - enum: - - week - - month - - year - trending_playlist_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/trending_playlist_notification_action' - trending_playlist_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/trending_playlist_notification_action_data' - trending_playlist_notification_action_data: - required: - - genre - - playlist_id - - rank - - time_range - type: object - properties: - rank: - type: integer - genre: - type: string - playlist_id: - type: string - time_range: - type: string - example: week - enum: - - week - - month - - year - trending_underground_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/trending_underground_notification_action' - trending_underground_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/trending_underground_notification_action_data' - trending_underground_notification_action_data: - required: - - genre - - rank - - time_range - - track_id - type: object - properties: - rank: - type: integer - genre: - type: string - track_id: - type: string - time_range: - type: string - example: week - enum: - - week - - month - - year - announcement_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/announcement_notification_action' - announcement_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/announcement_notification_action_data' - announcement_notification_action_data: - required: - - long_description - - push_body - - short_description - - title - - route - type: object - properties: - title: - type: string - push_body: - type: string - short_description: - type: string - long_description: - type: string - route: - type: string - comment_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/comment_notification_action' - comment_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/comment_notification_action_data' - comment_notification_action_data: - required: - - comment_user_id - - entity_id - - type - type: object - properties: - type: - type: string - example: Track - enum: - - Track - - Playlist - - Album - entity_id: - type: string - comment_user_id: - type: string - comment_id: - type: string - comment_thread_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/comment_thread_notification_action' - comment_thread_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/comment_thread_notification_action_data' - comment_thread_notification_action_data: - required: - - comment_user_id - - entity_id - - entity_user_id - - type - type: object - properties: - type: - type: string - example: Track - enum: - - Track - - Playlist - - Album - entity_id: - type: string - entity_user_id: - type: string - comment_user_id: - type: string - comment_id: - type: string - comment_mention_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/comment_mention_notification_action' - comment_mention_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/comment_mention_notification_action_data' - comment_mention_notification_action_data: - required: - - comment_user_id - - entity_id - - entity_user_id - - type - type: object - properties: - type: - type: string - example: Track - enum: - - Track - - Playlist - - Album - entity_id: - type: string - entity_user_id: - type: string - comment_user_id: - type: string - comment_id: - type: string - comment_reaction_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/comment_reaction_notification_action' - comment_reaction_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/comment_reaction_notification_action_data' - comment_reaction_notification_action_data: - required: - - entity_id - - entity_user_id - - reacter_user_id - - type - type: object - properties: - type: - type: string - example: Track - enum: - - Track - - Playlist - - Album - entity_id: - type: string - entity_user_id: - type: string - reacter_user_id: - type: string - comment_id: - type: string - listen_streak_reminder_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/listen_streak_reminder_notification_action' - listen_streak_reminder_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/listen_streak_reminder_notification_action_data' - listen_streak_reminder_notification_action_data: - required: - - streak - type: object - properties: - streak: - type: integer - fan_remix_contest_started_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/fan_remix_contest_started_notification_action' - fan_remix_contest_started_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/fan_remix_contest_started_notification_action_data' - fan_remix_contest_started_notification_action_data: - required: - - entity_id - - entity_user_id - type: object - properties: - entity_user_id: - type: string - entity_id: - type: string - fan_remix_contest_ended_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/fan_remix_contest_ended_notification_action' - fan_remix_contest_ended_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/fan_remix_contest_ended_notification_action_data' - fan_remix_contest_ended_notification_action_data: - required: - - entity_id - - entity_user_id - type: object - properties: - entity_user_id: - type: string - entity_id: - type: string - fan_remix_contest_ending_soon_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/fan_remix_contest_ending_soon_notification_action' - fan_remix_contest_ending_soon_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/fan_remix_contest_ending_soon_notification_action_data' - fan_remix_contest_ending_soon_notification_action_data: - required: - - entity_id - - entity_user_id - type: object - properties: - entity_user_id: - type: string - entity_id: - type: string - artist_remix_contest_ended_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/artist_remix_contest_ended_notification_action' - artist_remix_contest_ended_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/artist_remix_contest_ended_notification_action_data' - artist_remix_contest_ended_notification_action_data: - required: - - entity_id - type: object - properties: - entity_id: - type: string - artist_remix_contest_ending_soon_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/artist_remix_contest_ending_soon_notification_action' - artist_remix_contest_ending_soon_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/artist_remix_contest_ending_soon_notification_action_data' - artist_remix_contest_ending_soon_notification_action_data: - required: - - entity_id - - entity_user_id - type: object - properties: - entity_user_id: - type: string - entity_id: - type: string - artist_remix_contest_submissions_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/artist_remix_contest_submissions_notification_action' - artist_remix_contest_submissions_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/artist_remix_contest_submissions_notification_action_data' - artist_remix_contest_submissions_notification_action_data: - required: - - entity_id - - event_id - - milestone - type: object - properties: - event_id: - type: string - milestone: - type: integer - entity_id: - type: string - fan_remix_contest_winners_selected_notification: - required: - - actions - - group_id - - is_seen - - type - type: object - properties: - type: - type: string - group_id: - type: string - is_seen: - type: boolean - seen_at: - type: integer - actions: - type: array - items: - $ref: '#/components/schemas/fan_remix_contest_winners_selected_notification_action' - fan_remix_contest_winners_selected_notification_action: - required: - - data - - specifier - - timestamp - - type - type: object - properties: - specifier: - type: string - type: - type: string - timestamp: - type: integer - data: - $ref: '#/components/schemas/fan_remix_contest_winners_selected_notification_action_data' - fan_remix_contest_winners_selected_notification_action_data: - required: - - entity_id - - entity_user_id - type: object - properties: - entity_user_id: - type: string - entity_id: - type: string - playlist_updates_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - $ref: '#/components/schemas/playlist_updates' - playlist_updates: - type: object - properties: - playlist_updates: - type: array - items: - $ref: '#/components/schemas/playlist_update' - playlist_update: - required: - - playlist_id - - updated_at - type: object - properties: - playlist_id: - type: string - updated_at: - type: integer - last_seen_at: - type: integer - attestation_reponse: - type: object - properties: - data: - $ref: '#/components/schemas/attestation' - attestation: - required: - - attestation - - owner_wallet - type: object - properties: - owner_wallet: - type: string - attestation: - type: string - comment_response: - type: object - properties: - data: - type: array - items: - $ref: '#/components/schemas/comment' - claim_rewards_response: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - challengeId - - specifier - properties: - challengeId: - type: string - description: The challenge ID - example: "u" - specifier: - type: string - description: The challenge specifier - example: "7eP5n" - amount: - type: string - description: The reward amount - example: "1000000000" - signatures: - type: array - items: - type: string - description: Transaction signatures - example: ["5j7s1QjmRKFuDbCWMRVRNibSV2VAAEcNKP6HWU7GwPdXkBZvhz8n4vQl7bBq8tN4Rz9x1Kj3mP5wQ8rT2Y6zA"] - error: - type: string - description: Error message if claim failed - example: "Insufficient balance" - comment_replies_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/reply_comment' - related: - $ref: '#/components/schemas/related' - best_selling_full_response: - required: - - latest_chain_block - - latest_chain_slot_plays - - latest_indexed_block - - latest_indexed_slot_plays - - signature - - timestamp - - version - type: object - properties: - latest_chain_block: - type: integer - latest_indexed_block: - type: integer - latest_chain_slot_plays: - type: integer - latest_indexed_slot_plays: - type: integer - signature: - type: string - timestamp: - type: string - version: - $ref: '#/components/schemas/version_metadata' - data: - type: array - items: - $ref: '#/components/schemas/best_selling_item' - related: - $ref: '#/components/schemas/related' - best_selling_item: - required: - - content_id - - owner_id - - title - type: object - properties: - content_id: - type: string - content_type: - type: string - example: track - enum: - - track - - album - title: - type: string - owner_id: - type: string - redeem_amount_response: - type: object - required: - - amount - properties: - amount: - type: integer - description: Static amount indicator (always 1) - example: 1 - reward_code_response: - type: object - required: - - code - - amount - properties: - code: - type: string - description: The reward code - example: "XYZ123" - amount: - type: integer - description: The amount of coins rewarded by this code - example: 100 - reward_code_error_response: - type: object - properties: - error: - type: string - description: Error message indicating why the code cannot be redeemed - example: "used" - enum: - - used - - invalid - create_reward_code_request: - type: object - required: - - signature - - mint - - amount - properties: - signature: - type: string - description: Base64-encoded Solana Ed25519 signature of the string "code" - example: "3fG7xQh2L8vK9pN4mR5sT6uW7vX8yZ1aB2cD3eF4gH5iJ6kL7mN8oP9qR0sT1uV2wX3yZ4aB5cD6eF7gH8iJ9k=" - mint: - type: string - description: The coin mint address - example: "9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM" - amount: - type: integer - description: The reward amount (must be greater than 0) - minimum: 1 - example: 100 - create_reward_code_response: - type: object - required: - - code - - mint - - reward_address - - amount - properties: - code: - type: string - description: The generated 6-character alphanumeric reward code - example: "aB3d5F" - mint: - type: string - description: The coin mint address - example: "9LzCMqDgTKYz9Drzqnpgee3SGa89up3a247ypMj2xrqM" - reward_address: - type: string - description: The reward address (authorized public key) - example: "9XeZbswbSSUU4AHVArQbTQjAEjAPhVweGU5cogBVkvh4" - amount: - type: integer - description: The reward amount - example: 100 - comment_entity_type: - type: string - description: Type of entity that can be commented on - enum: - - Track - responses: - ParseError: - description: When a mask can't be parsed - content: {} - MaskError: - description: When any error occurs on mask - content: {} -x-original-swagger-version: "2.0"