STYNGR API ## Sections • [STYNGR API](https://app.theneo.io/styngr/styngr-api/styngr-sdk-api.md): STYNGR API can be used to play licensed music inside of your application by creating many different playlists that end users can choose from, offering radio-like experience by allowing users to choose playlist which suits their taste. Songs are randomly chosen from selected playlist and if end user does not like a certain song, they have an option to skip a song, up to 6 times within one hour period. Our API endpoints are secured with two kind of JWT tokens with different scopes, which are issued to each end user separately. • [Authentication](https://app.theneo.io/styngr/styngr-api/authentication.md): Here's a clear and concise Authentication Description suitable for your developer documentation: Authentication STYNGR API uses secure token-based authentication to validate requests and manage access to our music integration services. To authenticate your requests, you'll need the following credentials: App ID ( APP_ID ) API Key ( API_KEY ) Both credentials must be included in the headers of each API request to verify your identity and permissions. Security Note Keep your credentials secure and private. Avoid exposing your API key in publicly accessible areas such as client-side code or version-controlled repositories. If you suspect your credentials have been compromised, contact STYNGR support immediately to regenerate new ones. • [Tokens](https://app.theneo.io/styngr/styngr-api/authentication/tokens.md): Token APIs are used to issue JWT tokens with SDK and SDK_STORE scopes, which allows users to perform different operations with Styngr API. SDK Scope is required for Playlist APIs, along with APIs for pulling/downloading Styngs and saving of playback events for tracks and Styngs. SDK_STORE scope is required for Styng/Stynglist purchases and binding with Application Events. • [Create a SDK Token](https://app.theneo.io/styngr/styngr-api/authentication/tokens/create-a-sdk-token-1.md): Create a JWT SDK token for User of your game. • [Create a SDK Store Token](https://app.theneo.io/styngr/styngr-api/authentication/tokens/create-a-sdk-store-token-1.md): Create a JWT and refresh token for Game User of specific Game. JWT Token has SDK Store scope. • [Refresh a SDK Store Token](https://app.theneo.io/styngr/styngr-api/authentication/tokens/refresh-a-sdk-store-token-1.md): Refresh the JWT SDK Scope token for Game User. • [Tokens V2](https://app.theneo.io/styngr/styngr-api/authentication/tokens-v2.md): Token APIs are used to issue JWT tokens with SDK and SDK_STORE scopes, which allows users to perform different operations with Styngr API. SDK Scope is required for Playlist APIs, along with APIs for pulling/downloading Styngs and saving of playback events for tracks and Styngs. SDK_STORE scope is required for Styng/Stynglist purchases and binding with Application Events. • [Create a SDK Token](https://app.theneo.io/styngr/styngr-api/authentication/tokens-v2/create-a-sdk-token.md): Create a JWT SDK token for User of your game. • [Create a SDK Store Token](https://app.theneo.io/styngr/styngr-api/authentication/tokens-v2/create-a-sdk-store-token.md): Create a JWT and refresh token for Game User of specific Game. JWT Token has SDK Store scope. • [Refresh a SDK Store Token](https://app.theneo.io/styngr/styngr-api/authentication/tokens-v2/refresh-a-sdk-store-token.md): Refresh the JWT SDK Scope token for Game User. • [Styngs](https://app.theneo.io/styngr/styngr-api/styngs.md): Styngs are in-game emotes followed by up to 30 seconds long song clips. Users can buy styngs which they can bind to an application event. Once the application user triggers an application event, styngs can be reproduced, so that nearby players can hear their styng. Styngs can also be preloaded during loading of game session, by pulling bound styngs of each user in that game session. • [Get LSR Styng Info](https://app.theneo.io/styngr/styngr-api/styngs/get-lsr-styng-info-1.md): Get information about specific LSR Styng. • [Pull users LSR Styngs](https://app.theneo.io/styngr/styngr-api/styngs/pull-users-lsr-styngs.md): Get LSR Styngs with their public URLs for every provided user ID. • [Get LSR styngs](https://app.theneo.io/styngr/styngr-api/styngs/get-lsr-styngs-1.md): Get information about active LSR Styngs in application with ID provided via User JWT. • [Create a SDK Token (copy)](https://app.theneo.io/styngr/styngr-api/styngs/create-a-sdk-token-copy-3.md): Create a JWT SDK token for User of your game. • [Create a SDK Store Token (copy)](https://app.theneo.io/styngr/styngr-api/styngs/create-a-sdk-store-token-copy-2.md): Create a JWT and refresh token for Game User of specific Game. JWT Token has SDK Store scope. • [Get current user Styngs](https://app.theneo.io/styngr/styngr-api/styngs/get-current-user-styngs.md): Get all distinct user's Styngs, including Styngs from bought StyngLists. • [Play LSR Styng preview](https://app.theneo.io/styngr/styngr-api/styngs/play-lsr-styng-preview-1.md): Create a LSR Styng preview URL. LSR Styng owner can create as many preview links as they want, while other users can create only one URL. Until the created URL expires, users that do not own selected LSR Styng, will not be able to create a new URL. • [Buy LSR Styng](https://app.theneo.io/styngr/styngr-api/styngs/buy-lsr-styng.md): Place a transaction for user that buys a LSR Styng. • [Download LSR Styng](https://app.theneo.io/styngr/styngr-api/styngs/download-lsr-styng-1.md): Download a LSR Styng with provided UUID. • [Bind LSR Styng](https://app.theneo.io/styngr/styngr-api/styngs/bind-lsr-styng.md): Bind provided LSR Styng to App Event for given user. • [Get current user LSR Styngs](https://app.theneo.io/styngr/styngr-api/styngs/get-current-user-lsr-styngs.md): Get all distinct user's LSR Styngs, including LSR Styngs from bought StyngLists. • [Get all styngs](https://app.theneo.io/styngr/styngr-api/styngs/get-all-styngs.md): Get information about active Styngs in application with ID provided via User JWT. • [Get Styng Info](https://app.theneo.io/styngr/styngr-api/styngs/get-styng-info.md): Get information about specific Styng. • [Buy Styng](https://app.theneo.io/styngr/styngr-api/styngs/buy-styng.md): Place a transaction for user that buys a Styng. • [Download a Styng](https://app.theneo.io/styngr/styngr-api/styngs/download-a-styng.md): Download a Styng with provided UUID. • [Play Styng preview](https://app.theneo.io/styngr/styngr-api/styngs/play-styng-preview.md): Create a Styng preview URL. Styng owner can create as many preview links as they want, while other users can create only one URL. Until the created URL expires, users that do not own selected Styng, will not be able to create a new URL. • [Get current user Styngs](https://app.theneo.io/styngr/styngr-api/styngs/get-current-user-styngs-1.md): Get all distinct user's Styngs, including Styngs from bought StyngLists. • [Application Errors](https://app.theneo.io/styngr/styngr-api/application-errors.md): Allow game developers to send errors messages they have encountered • [Save application error](https://app.theneo.io/styngr/styngr-api/application-errors/save-application-error.md): Save application error message. • [Save user events](https://app.theneo.io/styngr/styngr-api/user-event-tracking/save-user-events.md): This API allows client application to send batch of events that can be used to analyze usage of Styngr services • [Get active application tests](https://app.theneo.io/styngr/styngr-api/application-tests/get-active-application-tests.md): Get all currently active application tests for provided application. • [Application Events](https://app.theneo.io/styngr/styngr-api/application-events.md): Application events are in-game events to which users can bind their Styngs. Example of application events would be a headshot, scored goal or player spawning at the base. • [Get application events](https://app.theneo.io/styngr/styngr-api/application-events/get-application-events.md): Get all application events. • [Get user game events bound to Nfts](https://app.theneo.io/styngr/styngr-api/application-events/get-user-game-events-bound-to-nfts.md): Get all user events that are bound with Nfts. • [Get user game events](https://app.theneo.io/styngr/styngr-api/application-events/get-user-game-events.md): Get all user events that are bound with Styngs. • [Unbind App Event](https://app.theneo.io/styngr/styngr-api/application-events/unbind-app-event.md): Remove binding relation for specific App Event. • [Notifications](https://app.theneo.io/styngr/styngr-api/notifications.md): Notification APIs for application end user. • [Get notifications](https://app.theneo.io/styngr/styngr-api/notifications/get-notifications.md): Get notifications for application user. • [Mark notification as read](https://app.theneo.io/styngr/styngr-api/notifications/mark-notification-as-read.md): Mark notifcation as read by user at the current time. • [Payment Transactions](https://app.theneo.io/styngr/styngr-api/payment-transactions.md): Payment transactions are created for every product purchase, e.g. Styng, Stynglist or Radio Subscription, with external payment system handling the actual payment processing. Applications that implement Styngr API must use the payment confirmation API in order for user to obtain access to their bought product. • [Cancel pending payment transaction](https://app.theneo.io/styngr/styngr-api/payment-transactions/cancel-pending-payment-transaction.md): Cancel transaction that was created as a result of user attempting to purchase a product in Styngr's system, such as Styngs, Stynglists, or Radio Subscription. Transactions can be canceled only within their pending status window. Styngr will automatically revoke all transactions that are not confirmed or canceled within their pending status window, but game developer should not rely on it in case when user explicitly refuses payment in-game. • [Confirm payment](https://app.theneo.io/styngr/styngr-api/payment-transactions/confirm-payment.md): Confirm that product (Styng, Stynglist or Radio Subscription) purchase transaction is completed successfully. Depending on product type, after a transaction is successfully confirmed, the user gets ownership of bought Styngs or Stynglists or Radio Subscription is created or extended. Confirmation of Radio product purchase is not allowed if user already have an active Radio product subscription, except if user is changing type of subscription from one monthly radio type to another one. • [Get transaction information by ID](https://app.theneo.io/styngr/styngr-api/payment-transactions/get-transaction-information-by-id.md): Get information about a transaction. • [Get the promo messages for the current session](https://app.theneo.io/styngr/styngr-api/promo-messages/get-the-promo-messages-for-the-current-session.md): Get the currently active promo messages for the logged user within specific experience. • [Save user reactions to promo messages.](https://app.theneo.io/styngr/styngr-api/promo-messages/save-user-reactions-to-promo-messages.md): Persist user reactions to the promo messages during the latest session. • [Radio Subscriptions](https://app.theneo.io/styngr/styngr-api/radio-subscriptions.md): Radio subscriptions allow user to listen to your application's playlist, without Ads. At the moment, user can choose between following subscription types: Monthly, Stream-count based, or Playback-time based. Monthly subscriptions, as their name suggests, allow users to have an unlimited radio listening experience for thirty days after their subscription purchase. Monthly subscriptions can be renewed at any point in time, while they are in active or pending payment state. Stream-count subscriptions offer a limited number of tracks which users can listen to. Every single request that returns a random track is counted towards this quota. Once the quota is spent, users will have to purchase a new subscription, or they will be back on Ad-funded listening experience if it's available in your application. Playback-time based subscriptions offer a limited number of minutes to which users can listen to. Once the quota is spent, users will have to purchase a new subscription, or they will be back on Ad-funded listening experience. • [Purchase a radio bundle](https://app.theneo.io/styngr/styngr-api/radio-subscriptions/purchase-a-radio-bundle.md): Purchase a radio bundle for an user in the application. Each bundle comes with a predefined number of available streams/minutes. By purchasing a radio bundle, a transaction in Styngr system is created, which will, once approved, create an radio subscription that will allow user to listen up to preconfigured number of tracks/minutes. Subscription can be bought only when a user doesn't have an active subscription. • [Pay radio subscription](https://app.theneo.io/styngr/styngr-api/radio-subscriptions/pay-radio-subscription.md): Place a transaction for user that pays a radio subscription. Subscription can be bought only when a user doesn't have an active subscription of the same product type. • [Get available application radio bundles for user](https://app.theneo.io/styngr/styngr-api/radio-subscriptions/get-available-application-radio-bundles-for-user.md): Get a list of radio bundles that are configured for the selected application and are still available for purchase by the authenticated user. Radio bundle may no longer be available for purchase in case when its purchase limit has been reached across all users. • [Get authorized user active subscription.](https://app.theneo.io/styngr/styngr-api/radio-subscriptions/get-authorized-user-active-subscription.md): Get active subscription of the authorized user who initiated the call • [Get subscription of the user with provided external user ID.](https://app.theneo.io/styngr/styngr-api/radio-subscriptions/get-subscription-of-the-user-with-provided-external-user-id.md): Get user's active subscription • [Cancel monthly subscription](https://app.theneo.io/styngr/styngr-api/radio-subscriptions/cancel-monthly-subscription.md): Cancel the user's active monthly subscription by subscription ID. Cancelled subscriptions will be active until the subscription's end date, and they cannot be renewed. Once the cancelled subscription expires,user must create a new subscription through Pay radio subscription API. If you support refunds, you can alsocancel the subscription with REFUND reason, which will terminate the subscription immediately. • [Renew monthly subscription](https://app.theneo.io/styngr/styngr-api/radio-subscriptions/renew-monthly-subscription.md): Renew the user's active monthly subscription, by extending the validity period for 30 days. • [SDK Users](https://app.theneo.io/styngr/styngr-api/sdk-users.md): APIs related to application end users, which allows operations such as in-game currency balance update and addition of Styngs/Stynglists as rewards to users. • [Get user by ID](https://app.theneo.io/styngr/styngr-api/sdk-users/get-user-by-id.md): Get user by ID and application ID from access token. • [Update user's balance.](https://app.theneo.io/styngr/styngr-api/sdk-users/update-user-s-balance.md): Set users in-game balance to specified amount. • [Add product to user](https://app.theneo.io/styngr/styngr-api/sdk-users/add-product-to-user.md): Add Styngs or Stynglists to an user. • [Update user information](https://app.theneo.io/styngr/styngr-api/sdk-users/update-user-information.md): Update user's gender and birthdate. • [Soundboards](https://app.theneo.io/styngr/styngr-api/soundboards.md): Soundboards are collection of chosen styngs for your application that application users can subscribe to and use during their game session. Application can have multiple soundboards but only one published soundboard per source. • [Get all published soundboards for application.](https://app.theneo.io/styngr/styngr-api/soundboards/get-all-published-soundboards-for-application.md): Get all published soundboards with their detailed info. • [Get authorized user active soundboard subscriptions.](https://app.theneo.io/styngr/styngr-api/soundboards/get-authorized-user-active-soundboard-subscriptions.md): Retrieves active soundboard subscriptions for the current user. Returns an empty collection when the current user does not own a soundboard subscription. • [Buy Soundboard Styng](https://app.theneo.io/styngr/styngr-api/soundboards/buy-soundboard-styng.md): Place a transaction for user that buys a Soundboard Styng. • [Pay soundboard subscription](https://app.theneo.io/styngr/styngr-api/soundboards/pay-soundboard-subscription.md): Place a transaction for user that pays a soundboard subscription. • [Stynglists](https://app.theneo.io/styngr/styngr-api/stynglists.md): Stynglists are collection of Styngs which allows user to buy multiple Styngs more easily. • [Get Stynglists](https://app.theneo.io/styngr/styngr-api/stynglists/get-stynglists.md): Get all Stynglists assigned to an app. • [Get Stynglist filters](https://app.theneo.io/styngr/styngr-api/stynglists/get-stynglist-filters.md): Get all filter values for genres and sorting options that can be used to search for Stynglists. • [Get Stynglist by ID](https://app.theneo.io/styngr/styngr-api/stynglists/get-stynglist-by-id.md): Get full Stynglist information. • [Buy Stynglist](https://app.theneo.io/styngr/styngr-api/stynglists/buy-stynglist.md): Place a transaction for user that buys a Stynglist. • [Get all stynglists for application.](https://app.theneo.io/styngr/styngr-api/stynglists/get-all-stynglists-for-application.md): Get all synglists assigned to an application with provided application ID. • [LSR styngs](https://app.theneo.io/styngr/styngr-api/lsr-styngs.md): LSR styngs are in-game emotes followed by up to 30 seconds long song clips. Users can buy LSR styngs which they can bind to an application event. Once the application user triggers an application event, LSR styngs can be reproduced, so that nearby players can hear their LSR styng. LSR styngs can also be preloaded during loading of game session, by pulling binded LSR styngs of each user in that game session. • [Get LSR Styng Info](https://app.theneo.io/styngr/styngr-api/lsr-styngs/get-lsr-styng-info.md): Get information about specific LSR Styng. • [Download LSR Styng](https://app.theneo.io/styngr/styngr-api/lsr-styngs/download-lsr-styng.md): Download a LSR Styng with provided UUID. • [Play LSR Styng preview](https://app.theneo.io/styngr/styngr-api/lsr-styngs/play-lsr-styng-preview.md): Create a LSR Styng preview URL. LSR Styng owner can create as many preview links as they want, while other users can create only one URL. Users that do not own the Styng they are previewing will be allowed to create one Styng preview URL per minute per Styng. • [Save LSR Styng Played event](https://app.theneo.io/styngr/styngr-api/lsr-styngs/save-lsr-styng-played-event.md): Save information who played which LSR Styng, from which app and device and from which country. • [Get current user LSR Styngs](https://app.theneo.io/styngr/styngr-api/lsr-styngs/get-current-user-lsr-styngs.md): Get all distinct user's LSR Styngs, including LSR Styngs from bought StyngLists. • [Bind LSR Styng](https://app.theneo.io/styngr/styngr-api/lsr-styngs/bind-lsr-styng.md): Bind provided LSR Styng to App Event for given user. • [Buy LSR Styng](https://app.theneo.io/styngr/styngr-api/lsr-styngs/buy-lsr-styng.md): Place a transaction for user that buys a LSR Styng. • [Save LSR Styng Played event](https://app.theneo.io/styngr/styngr-api/lsr-styngs/save-lsr-styng-played-event.md): Save information who played which LSR Styng, from which app and device and from which country. • [Get LSR styngs](https://app.theneo.io/styngr/styngr-api/lsr-styngs/get-lsr-styngs.md): Get information about active LSR Styngs in application with ID provided via User JWT. • [Get LSR styngs](https://app.theneo.io/styngr/styngr-api/lsr-styngs/get-lsr-styngs-1.md): Get information about active LSR Styngs in application with ID provided via User JWT. • [Pull users LSR Styngs](https://app.theneo.io/styngr/styngr-api/lsr-styngs/pull-users-lsr-styngs.md): Get LSR Styngs with their public URLs for every provided user ID. • [Get current user LSR Styngs](https://app.theneo.io/styngr/styngr-api/lsr-styngs/get-current-user-lsr-styngs-1.md): Get all distinct user's LSR Styngs, including LSR Styngs from bought StyngLists. • [Pull users LSR Styngs](https://app.theneo.io/styngr/styngr-api/lsr-styngs/pull-users-lsr-styngs-1.md): Get LSR Styngs with their public URLs for every provided user ID. • [Get LSR Styng Info](https://app.theneo.io/styngr/styngr-api/lsr-styngs/get-lsr-styng-info-1.md): Get information about specific LSR Styng. • [Bind LSR Styng](https://app.theneo.io/styngr/styngr-api/lsr-styngs/bind-lsr-styng-1.md): Bind provided LSR Styng to App Event for given user. • [Buy LSR Styng](https://app.theneo.io/styngr/styngr-api/lsr-styngs/buy-lsr-styng-1.md): Place a transaction for user that buys a LSR Styng. • [Download LSR Styng](https://app.theneo.io/styngr/styngr-api/lsr-styngs/download-lsr-styng-1.md): Download a LSR Styng with provided UUID. • [Play LSR Styng preview](https://app.theneo.io/styngr/styngr-api/lsr-styngs/play-lsr-styng-preview-1.md): Create a LSR Styng preview URL. LSR Styng owner can create as many preview links as they want, while other users can create only one URL. Users that do not own the Styng they are previewing will be allowed to create one Styng preview URL per minute per Styng. • [Save LSR Styng Played event](https://app.theneo.io/styngr/styngr-api/lsr-styngs/save-lsr-styng-played-event-1.md): Save information who played which LSR Styng, from which app and device and from which country. • [Submit styng usage statistics](https://app.theneo.io/styngr/styngr-api/styng-statistics-controller/submit-styng-usage-statistics.md): Submit styng usage statistics for users. 'aid' abbreviation is Application ID. 's' abbreviation is User Styng Usage Statistics. 'pid' abbreviation in the User Styng Usage Statistics is Player ID. 'on' abbreviation in the User Styng Usage Statistics is local date at which event occurred. 'u' abbreviation in the User Styng Usage Statistics is Styng Usage Statistic. 'sid' abbreviation in the Styng Usage Statistic is Styng ID. 'n' abbreviation in the Styng Usage Statistic is number of usages. 't' abbreviation in the Styng Usage Statistic is Use Type and should be of enum StyngUseType. • [Spotify](https://app.theneo.io/styngr/styngr-api/spotify.md): Styngr integration with Spotify music platform. • [Spotify like.](https://app.theneo.io/styngr/styngr-api/spotify/spotify-like.md): Like current track on Spotify account of logged in user. • [Refresh token.](https://app.theneo.io/styngr/styngr-api/spotify/refresh-token.md): Get new Spotify access token based on refresh token. • [Spotify token.](https://app.theneo.io/styngr/styngr-api/spotify/spotify-token.md): Get Spotify access and refresh tokens. • [Spotify authorization.](https://app.theneo.io/styngr/styngr-api/spotify/spotify-authorization.md): Authorize on Spotify platform with user credentials. • [Playlists V3](https://app.theneo.io/styngr/styngr-api/playlists-v3.md): Royalty free playlists are set of songs that are linked to a single application, which allows users of that application to choose which music they will listen to during their game session. These songs are randomly selected from the playlist, and there is no skip limit for them. • [Stop a playlist reproduction](https://app.theneo.io/styngr/styngr-api/playlists-v3/stop-a-playlist-reproduction.md): Stop a playlist reproduction by submitting the usage statistics for the last track that was heard by end user. • [Start a playlist session](https://app.theneo.io/styngr/styngr-api/playlists-v3/start-a-playlist-session.md): Start specified playlist and return randomly selected track. • [Request a next track](https://app.theneo.io/styngr/styngr-api/playlists-v3/request-a-next-track.md): Randomly selects the next track. If the playlist has more than one active track, the newly selected track is different from the previously listened track. • [Get all playlists](https://app.theneo.io/styngr/styngr-api/playlists-v3/get-all-playlists.md): Get all royalty free playlists assigned to an Application ID stored in User's JWT Token. • [Playlists V2](https://app.theneo.io/styngr/styngr-api/playlists-v2.md): Playlists are set of songs that are linked to a single application, which allows users of that application to choose which music will they listen to during their game session. Users can skip through songs for up to 6 times during one hour period. • [Start a playlist session](https://app.theneo.io/styngr/styngr-api/playlists-v2/start-a-playlist-session-1.md): Create a new session for specified playlist. • [Skip to next track](https://app.theneo.io/styngr/styngr-api/playlists-v2/skip-to-next-track.md): Load a next random track URL from the playlist linked to the session. Should be called when user explicitly requests a new track without previous track being completed. • [Resume playlist](https://app.theneo.io/styngr/styngr-api/playlists-v2/resume-playlist.md): Resumes playlist with previous song that was played. • [Request a next track](https://app.theneo.io/styngr/styngr-api/playlists-v2/request-a-next-track-1.md): Load a next random track URL from the playlist linked to the session. • [Performs a track like/unlike](https://app.theneo.io/styngr/styngr-api/playlists-v2/performs-a-track-like-unlike.md) • [Pause playlist](https://app.theneo.io/styngr/styngr-api/playlists-v2/pause-playlist.md): Pause playlist with last song provided in a session. • [Get playlists](https://app.theneo.io/styngr/styngr-api/playlists-v2/get-playlists.md): Load all published licensed playlists assigned to an Application ID stored in User's JWT Token. • [Start a playlist session](https://app.theneo.io/styngr/styngr-api/playlists-v2/start-a-playlist-session-1.md): Create a new session for specified playlist. • [Request a next track](https://app.theneo.io/styngr/styngr-api/playlists-v2/request-a-next-track-1.md): Load a next random track URL from the playlist linked to the session. • [Start a playlist session](https://app.theneo.io/styngr/styngr-api/playlists-v2/start-a-playlist-session-1.md): Create a new session for specified playlist. • [Request a next track](https://app.theneo.io/styngr/styngr-api/playlists-v2/request-a-next-track-2.md): Load a next random track URL from the playlist linked to the session. • [Playlists V2 - API Integration](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration.md): Playlists are set of songs that are linked to a single application, which allows users of that application to choose which music will they listen to during their game session. Users can skip through songs for up to 6 times during one hour period. • [Start a playlist session](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/start-a-playlist-session-2.md): Create a new session for specified playlist and return its first track. • [Skip to next track](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/skip-to-next-track-1.md): Load a next random track URL from the playlist linked to the session. Should be called when user explicitly requests a new track without previous track being completed. • [Resume playlist](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/resume-playlist-1.md): Resumes playlist with previous song that was played. • [Request a next track](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/request-a-next-track-2.md): Load a next random track URL from the playlist linked to the session. • [Start a playlist session](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/start-a-playlist-session-2.md): Create a new session for specified playlist and return its first track. • [Skip to next track](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/skip-to-next-track-1.md): Load a next random track URL from the playlist linked to the session. Should be called when user explicitly requests a new track without previous track being completed. • [Resume playlist](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/resume-playlist-1.md): Resumes playlist with previous song that was played. • [Request a next track](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/request-a-next-track-2.md): Load a next random track URL from the playlist linked to the session. • [Start a playlist session](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/start-a-playlist-session-2.md): Create a new session for specified playlist and return its first track. • [Skip to next track](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/skip-to-next-track-1.md): Load a next random track URL from the playlist linked to the session. Should be called when user explicitly requests a new track without previous track being completed. • [Resume playlist](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/resume-playlist-1.md): Resumes playlist with previous song that was played. • [Request a next track](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/request-a-next-track-3.md): Load a next random track URL from the playlist linked to the session. • [Performs a track like/unlike](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/performs-a-track-like-unlike-1.md) • [Pause playlist](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/pause-playlist-1.md): Pause playlist with last song provided in a session. • [Get playlists](https://app.theneo.io/styngr/styngr-api/playlists-v2-api-integration/get-playlists-1.md): Load all published licensed playlists assigned to an Application ID stored in User's JWT Token. • [Group sessions - API Integration](https://app.theneo.io/styngr/styngr-api/group-sessions-api-integration.md): Styngr allows users to create a Group Sessions that will allow multiple users to listen to the same tracks at the same time. Group Session API is intended to be used with Playlist API, which means requesting tracks and submitting statistics needs to be performed as for Playlist Sessions for single users. Group Sessions can have two different user types: Owner and Members. Every user can belong only to single Group Session at the time. Every Group Session can have only one Group Session Owner, and multiple Group Session Members. Group Session Owner is responsible for media playback controls, that is, requesting a new track, skipping or pausing the current track. Group Session Members cannot impact listening flow, as they only have to synchronize with Group session Owner's actions. Synchronization between Owner and Members is currently left to implement to applications that are integrating with Styngr API. • [Create a Group Session](https://app.theneo.io/styngr/styngr-api/group-sessions-api-integration/create-a-group-session.md): Create a new Group Session to which other users can join via Join Group Session API. All users in Group session must have an active subscription. User that created a new Group Session will be linked to the Group Session as a Group Session Owner. Other users that join the Group Session will be linked as Group Session Members. • [Get Group Session information](https://app.theneo.io/styngr/styngr-api/group-sessions-api-integration/get-group-session-information.md): Allows user to get information about Group Session it belongs to. This API should be mainly invoked after the Owner of Group Session leaves to check who is the new Owner of the Group Session. • [Change current Playlist for Group Session](https://app.theneo.io/styngr/styngr-api/group-sessions-api-integration/change-current-playlist-for-group-session.md): Allows Group Session Owner to switch current Playlist. If selected Playlist already have session that session will be used as current Playlist Session, otherwise new Playlist Session will be created and used. Session will be resumed from the last track that was returned in the previous listening. • [Promote user as Group Session Owner](https://app.theneo.io/styngr/styngr-api/group-sessions-api-integration/promote-user-as-group-session-owner.md): Allows current owner or game server to promote a Group Session Member as a new Owner. • [Leave Group Session](https://app.theneo.io/styngr/styngr-api/group-sessions-api-integration/leave-group-session.md): Allows user to leave a Group Session. This API is mandatory to be called if user is about to switch to a different Group Session, or if they are closing the application/game. Prior to this API call, user must submit playback statistics for the track that is currently playing in the Group Session. • [Join a Group Session](https://app.theneo.io/styngr/styngr-api/group-sessions-api-integration/join-a-group-session.md): Allows user to join a Group Session as a Group Session Member. User must have an active radio subscription and must not be linked to any other Group Session at the moment of joining a new Group Session. • [Group sessions](https://app.theneo.io/styngr/styngr-api/group-sessions.md): Styngr allows users to create a Group Sessions that will allow multiple users to listen to the same tracks at the same time. Group Session API is intended to be used with Playlist API, which means requesting tracks and submitting statistics needs to be performed as for Playlist Sessions for single users. Group Sessions can have two different user types: Owner and Members. Every user can belong only to single Group Session at the time. Every Group Session can have only one Group Session Owner, and multiple Group Session Members. Group Session Owner is responsible for media playback controls, that is, requesting a new track, skipping or pausing the current track. Group Session Members cannot impact listening flow, as they only have to synchronize with Group session Owner's actions. Synchronization between Owner and Members is currently left to implement to applications that are integrating with Styngr API. • [Create a Group Session](https://app.theneo.io/styngr/styngr-api/group-sessions/create-a-group-session-1.md): Create a new Group Session to which other users can join via Join Group Session API. All users in Group session must have an active subscription. User that created a new Group Session will be linked to the Group Session as a Group Session Owner. Other users that join the Group Session will be linked as Group Session Members. • [Get Group Session information](https://app.theneo.io/styngr/styngr-api/group-sessions/get-group-session-information-1.md): Allows user to get information about Group Session it belongs to. This API should be mainly invoked after the Owner of Group Session leaves to check who is the new Owner of the Group Session. • [Change current Playlist for Group Session](https://app.theneo.io/styngr/styngr-api/group-sessions/change-current-playlist-for-group-session-1.md): Allows Group Session Owner to switch current Playlist. If selected Playlist already have session that session will be used as current Playlist Session, otherwise new Playlist Session will be created and used. Session will be resumed from the last track that was returned in the previous listening. • [Promote user as Group Session Owner](https://app.theneo.io/styngr/styngr-api/group-sessions/promote-user-as-group-session-owner-1.md): Allows current owner or game server to promote a Group Session Member as a new Owner. • [Leave Group Session](https://app.theneo.io/styngr/styngr-api/group-sessions/leave-group-session-1.md): Allows user to leave a Group Session. This API is mandatory to be called if user is about to switch to a different Group Session, or if they are closing the application/game. Prior to this API call, user must submit playback statistics for the track that is currently playing in the Group Session. • [Join a Group Session](https://app.theneo.io/styngr/styngr-api/group-sessions/join-a-group-session-1.md): Allows user to join a Group Session as a Group Session Member. User must have an active radio subscription and must not be linked to any other Group Session at the moment of joining a new Group Session. • [Statistics](https://app.theneo.io/styngr/styngr-api/statistics.md): Used for storing song and ad playback statistics. • [Save playback statistics.](https://app.theneo.io/styngr/styngr-api/statistics/save-playback-statistics.md): Saves information about track or ad playback. • [Playlists](https://app.theneo.io/styngr/styngr-api/playlists.md): Playlists are set of songs that are linked to a single application, which allows users of that application to choose which music will they listen to during their game session. Users can skip through songs for up to 6 times during one hour period. • [Skip to next track](https://app.theneo.io/styngr/styngr-api/playlists/skip-to-next-track-2.md): Load a next random track URL from the playlist linked to the session. Should be called when user explicitly requests a new track without previous track being completed. • [Resume playlist](https://app.theneo.io/styngr/styngr-api/playlists/resume-playlist-2.md): Resumes playlist with previous song that was played. • [Performs like/unlike of a track.](https://app.theneo.io/styngr/styngr-api/playlists/performs-like-unlike-of-a-track.md) • [Get licensed playlists](https://app.theneo.io/styngr/styngr-api/playlists/get-licensed-playlists.md): Retrieves all published licensed playlists assigned to an Application ID stored in User's JWT Token. • [Skip to next track](https://app.theneo.io/styngr/styngr-api/playlists/skip-to-next-track-2.md): Load a next random track URL from the playlist linked to the session. Should be called when user explicitly requests a new track without previous track being completed. • [Resume playlist](https://app.theneo.io/styngr/styngr-api/playlists/resume-playlist-2.md): Resumes playlist with previous song that was played. • [Skip to next track](https://app.theneo.io/styngr/styngr-api/playlists/skip-to-next-track-2.md): Load a next random track URL from the playlist linked to the session. Should be called when user explicitly requests a new track without previous track being completed. • [Resume playlist](https://app.theneo.io/styngr/styngr-api/playlists/resume-playlist-2.md): Resumes playlist with previous song that was played. • [Request a next track](https://app.theneo.io/styngr/styngr-api/playlists/request-a-next-track-4.md): Load a next random track URL from the playlist linked to the session. • [Start a playlist session](https://app.theneo.io/styngr/styngr-api/playlists/start-a-playlist-session-3.md): Create a new session for specified playlist. • [Playlists - API Integration](https://app.theneo.io/styngr/styngr-api/playlists-api-integration.md): Playlists are set of songs that are linked to a single application, which allows users of that application to choose which music will they listen to during their game session. Users can skip through songs for up to 6 times during one hour period. • [Request a next track.](https://app.theneo.io/styngr/styngr-api/playlists-api-integration/request-a-next-track-5.md): Deliver a statistics about previous track reproduction and requests a new random track for the provided playlist UUID. • [Start a playlist session.](https://app.theneo.io/styngr/styngr-api/playlists-api-integration/start-a-playlist-session-4.md): Create a new session for specified playlist and return its first track. • [Skip to next track](https://app.theneo.io/styngr/styngr-api/playlists-api-integration/skip-to-next-track-3.md): Load a next random track URL from the playlist linked to the session. Should be called when user explicitly requests a new track without previous track being completed. • [Resume playlist](https://app.theneo.io/styngr/styngr-api/playlists-api-integration/resume-playlist-3.md): Resumes playlist with previous song that was played. • [Performs like/unlike of a track.](https://app.theneo.io/styngr/styngr-api/playlists-api-integration/performs-like-unlike-of-a-track-1.md) • [Get licensed playlists](https://app.theneo.io/styngr/styngr-api/playlists-api-integration/get-licensed-playlists-1.md): Retrieves all published licensed playlists assigned to an Application ID stored in User's JWT Token. • [Applications](https://app.theneo.io/styngr/styngr-api/applications.md): Styngr allows users to get basic information about applications they are using. • [Get all playlists.](https://app.theneo.io/styngr/styngr-api/applications/get-all-playlists-2.md): Get all playlists with their type and availabilities data assigned to an application with provided application ID. • [Get available application features.](https://app.theneo.io/styngr/styngr-api/applications/get-available-application-features.md): Finds application for provided ID. After that checks available features for that application and returns them in an response. • [Get allowed country codes for radio listening](https://app.theneo.io/styngr/styngr-api/radio-info-controller/get-allowed-country-codes-for-radio-listening.md): Get list of country codes that are allowed to use radio feature • [Web3 Collectables](https://app.theneo.io/styngr/styngr-api/web3/nfts.md): Styngr offers an option to purchase an NFT inside of your application. NFTs are usually minted as a short audio snippet from our available pool of tracks. By purchasing an NFT, user will be able to use the NFT inside of your application, by playing an linked audio snippet. They also have an option to claim the NFT, which would transfer the ownership to their Ripple Ledger account. Styngr can at any time burn the NFT, if such need arises from legal perspective, upon request from record labels. • [Web3 Wallet](https://app.theneo.io/styngr/styngr-api/web3/xumm.md): Xumm platfrom is a non-custodial wallet that offers users to create/manage their Ripple Ledger accounts. Users can authenticate their wallets in our system through Xumm, which allows them to claim the already purchased NFTs to their Ripple Ledger account. • [Styngr SDK API](https://app.theneo.io/styngr/styngr-api/styngr-sdk-api.md): Styngr API can be used to play licensed music inside of your application by creating many different playlists that end users can choose from, offering radio-like experience by allowing users to choose playlist which suits their taste. Songs are randomly chosen from selected playlist and if end user does not like a certain song, they have an option to skip a song, up to 6 times within one hour period. Our API endpoints are secured with two kind of JWT tokens with different scopes, which are issued to each end user separately. • [get Campaign Status](https://app.theneo.io/styngr/styngr-api/roblox-campaign-controller/get-campaign-status.md) • [NFTs](https://app.theneo.io/styngr/styngr-api/nfts.md): Styngr offers an option to purchase an NFT inside of your application. NFTs are usually minted as a short audio snippet from our available pool of tracks. By purchasing an NFT, user will be able to use the NFT inside of your application, by playing an linked audio snippet. They also have an option to claim the NFT, which would transfer the ownership to their Ripple Ledger account. Styngr can at any time burn the NFT, if such need arises from legal perspective, upon request from record labels. • [Get Nfts](https://app.theneo.io/styngr/styngr-api/nfts/get-nfts.md): Get information about published Nfts for application with ID provided via User JWT. • [Get current user Nfts](https://app.theneo.io/styngr/styngr-api/nfts/get-current-user-nfts.md): Get all distinct user's Nfts. • [Confirm NFT purchase](https://app.theneo.io/styngr/styngr-api/nfts/confirm-nft-purchase.md): Confirm that payment for NFT purchase is successfully completed. After confirmation, the user will have access to their NFT. If transaction is not confirmed on time, error message will be returned and user will have to attempt to buy NFT again. In case when transaction is not confirmed on time, user's payment should be rolled back. • [Get NFT Collections preview availability](https://app.theneo.io/styngr/styngr-api/nfts/get-nft-collections-preview-availability.md): Get Information about preview availability for NFT Collections • [Purchase NFT](https://app.theneo.io/styngr/styngr-api/nfts/purchase-nft.md): Purchase an NFT from provided NFTCollection ID. The API will attempt to find an available NFT was not yet purchased by any other user. If no such NFT can be found, an error will be returned instead. • [Preview NFT](https://app.theneo.io/styngr/styngr-api/nfts/preview-nft.md): Create a NFT preview URL. User who owns NFTs in collection can create • [Bind Nft](https://app.theneo.io/styngr/styngr-api/nfts/bind-nft.md): Bind provided Nft to App Event for given user. • [Claim NFT](https://app.theneo.io/styngr/styngr-api/nfts/claim-nft.md): Claim an purchased NFT. The API will attempt to find specified NFT and claim it. If user doesn't own such NFT, NFT is already claimed or in a process of claiming, an error will be returned instead.If user doesn't have XRPL wallet and valid XUMM token he will receive error as well. • [Play NFT](https://app.theneo.io/styngr/styngr-api/nfts/play-nft.md): Create a NFT play URL. User that owns NFT from requested NFT collection can create as many preview links as they want while other users can create only one URL. • [Xumm](https://app.theneo.io/styngr/styngr-api/xumm.md): Xumm platfrom is a non-custodial wallet that offers users to create/manage their Ripple Ledger accounts. Users can authenticate their wallets in our system through Xumm, which allows them to claim the already purchased NFTs to their Ripple Ledger account. • [XUMM authentication](https://app.theneo.io/styngr/styngr-api/xumm/xumm-authentication.md): Starting process of user authentication on XUMM server by sending authentication QR code to the user. • [XUMM authentication status](https://app.theneo.io/styngr/styngr-api/xumm/xumm-authentication-status.md): Checking user XUMM authentication status. • [Get result of XUMM authentication process](https://app.theneo.io/styngr/styngr-api/xumm/get-result-of-xumm-authentication-process.md): Keep alive endpoint that retrieves information about result of XUMM authentication process. • [Radio Subscriptions - v2](https://app.theneo.io/styngr/styngr-api/radio-subscriptions-v2.md): Radio subscriptions allow user to listen to your application's playlist, without Ads. At the moment, user can choose between following subscription types: Monthly, Stream-count based, or Playback-time based. Monthly subscriptions, as their name suggests, allow users to have an unlimited radio listening experience for thirty days after their subscription purchase. Monthly subscriptions can be renewed at any point in time, while they are in active or pending payment state. Monthly subscriptions support multi-tier logic where playlists are divided into several tiers where each tier contains a specific combination of playlists which user is allowed to listen if he has a relevant subscription. Stream-count subscriptions offer a limited number of tracks which users can listen to. Every single request that returns a random track is counted towards this quota. Once the quota is spent, users will have to purchase a new subscription, or they will be back on Ad-funded listening experience if it's available in your application. Playback-time based subscriptions offer a limited number of minutes to which users can listen to. Once the quota is spent, users will have to purchase a new subscription, or they will be back on Ad-funded listening experience. • [Get available application radio bundles for user](https://app.theneo.io/styngr/styngr-api/radio-subscriptions-v2/get-available-application-radio-bundles-for-user-1.md): Get a list of radio bundles that are configured for the selected application and are still available for purchase by the authenticated user. Radio bundle may no longer be available for purchase in case when its purchase limit has been reached across all users. • [Download the latest version of roblox file.](https://app.theneo.io/styngr/styngr-api/roblox-files/download-the-latest-version-of-roblox-file.md): Downloads the latest version of roblox file from file storage. • [Unified Radio](https://app.theneo.io/styngr/styngr-api/unified-radio.md): Unified radio API is designed to allow our integrators to easily implement playlists of different types, without worrying about which API to use for certain playlist types. Through this API, you can access both Licensed, and Royalty Free playlists. These APIs are secured via bearer JWT token that should be supplied in the Authorization header. Simple implementation of this API could look like the following: - Get all available playlists for the user (usually upon their first interaction with the radio in a game session) - Start a playlist session for the selected playlist - Submit the playback statistics and request a next track via Request a next track API. - Upon the user's stopping of radio playback, or leaving a game session, invoke the Stop session API to submit playback statistics for the last served track. All playlist types, through playlist session concept, support the following: - Geolocation availability check - Optional subscription check - Optional ad serving check - Seed track selection - Random track selection (excluding previously served tracks to the user) - Optional mapping of custom metadata for tracks, supplied by the integrator • [Stop session](https://app.theneo.io/styngr/styngr-api/unified-radio/stop-session.md): Stop a playlist reproduction by submitting the statistics for the last track, or an ad, that was heard by the end user. • [Start session](https://app.theneo.io/styngr/styngr-api/unified-radio/start-session.md): Start a playlist session for the selected playlist. This operation should be used in the beginning of the user's listening experience of a certain playlist, as that session will be used to track which tracks have been played, how many times did user skip a track, when to serve an ad, etc. In a scenario in which the user has listened to a complete playlist, or there are no more tracks available to be served, you can simply create a new session for the same playlist, or switch to a different playlist, by creating a new session for the given playlist. Starting a playlist session will perform a selection of the first track, or potentially, selection of an ad in case when playlist is configured to start in such manner. • [Request a next track](https://app.theneo.io/styngr/styngr-api/unified-radio/request-a-next-track-1.md): This API is used to deliver the playback statistics for the previously played track, and to request the next track which should be served to the user. Before running a track selection algorithm, there are few validations that are run based on different criteria. For example: - Playlist must be available in the user's country, otherwise, an error will be returned. - Premium playlists require the user to have an active subscription, otherwise, an error will be returned. - Playlist sessions track number of skips, and if our API determines that a skip has been attempted, but there are no remaining skips for the user, an error will be returned instead. In this case, the user must await track completion, and only then request the next track. - Playlists that are monetized through ads prevent the next track requesting until the ad has completed. • [Get all playlists](https://app.theneo.io/styngr/styngr-api/unified-radio/get-all-playlists-1.md): Get all published playlists that are available in the user's country. Response includes both Licensed and Royalty Free playlists.