Services ## Sections • [Tuned Global Services aAPIs](https://docs-api-services.tunedglobal.com/tuned-global-services-aapis.md): Tuned Global Advanced APIs (aAPIs) consist of a group of Authentication, Metadata and Services APIs. These Services APIs are used where user context is required and Metadata APIs are used where user context is not required. This means that the security models are different between Services and Metadata APIs. Services APIs are secured using access token (JWT) - oAuth 2.0 Unless explicitly stated in either your direct licensor agreements or your Tuned Global agreements, Tuned Global content, being either the assets or metadata, cannot be used to train Machine Learning or AI models. Usage The Services APIs provide access to private information about users, artists, albums, playlists, stations, videos, podcasts, tags and more. This group of APIs provides user context to many of the APIs in Metadata along with many that are unique to Services General usage of the APIs would be as follows; Understand the security models assigned to different APIs. Refer to the Authentication Section for more information. If you are initially building a general access view, where user context is not required, use the metadata APIs as the recommended first step in development Use these Services APIs to access contextual information, usually involving the catalogue and the user If you need access to alternate environments, these will need to be added to your MSA (Development) Use Cases The suite of Advanced APIs provide a wide range of tools to get the output you are looking for in regards to your project. Our team and systems are used in many different use cases, ranging from traditional streaming, metadata usage, background music services, airlines, gaming and web3 experiences to name a few. Contact our team with you specific use case if you are unsure and we will provide details of the APIs that will provide the results you are looking for. CMS - AutoTune There are many of the metadata APIs that provide output that you have defined via the AutoTuned CMS. Instructions on AutoTune CMS are not part of this API documentation but are available via credentials you have been provided. If unsure, please check with Tuned Support team for more information.or. Images A important note is in regards to Images. Images are generally provided at the highest resolution available within the URL responses. This is for Artist Images, Album Images and Artwork (such as playlist images). You will not want to use this URL as it is usually too large, bit also not right sized for your interfaces. Tuned Global makes an image engine available for both sizing the image required and also applying a number of effects. This is detailed in Image Engine • [Authentication](https://docs-api-services.tunedglobal.com/authentication.md): Learn how to authenticate your Tuned Global API requests. Tuned Global uses OAuth 2.0 for user authentication. All Services API access is managed through short-lived JWTs (access tokens) and longer-lived refresh tokens. Token lifetimes are returned in each authentication response. There are four ways to obtain an access token: Email Login Refresh Token Mobile Login Third Party JWT 1 Email Login Authenticate users with their email address and password. On success, a bearer token is issued that can be used to call all Services APIs for that user. Request CURL curl -X POST \ 'https://api-authentication-connect.tunedglobal.com/oauth2/token' \ -H 'StoreId: TEST' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'username=xxxx&password=xxxxx&grant_type=password' Response JSON { "access_token": "••••••••••••••••", "token_type": "bearer", "expires_in": 300, "refresh_token": "••••••••••••••••" } 2 Refresh Token Use a refresh token to obtain a new access token when the current one has expired. The refresh token itself has a 48-hour validity. Request CURL curl --location 'https://api-authentication-connect.tunedglobal.com/oauth2/token' \ --header 'StoreId: TEST' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'grant_type=refresh_token' \ --data-urlencode 'refresh_token=xxxxx' 3 Mobile Login Response JSON { "access_token": "••••••••••••••••", "token_type": "bearer", "expires_in": 300, "refresh_token": "••••••••••••••••" } Authenticate users via their mobile or cell number. The user must first obtain a one-time passcode (OTP) and validate it on the front-end application before calling this endpoint. Request CURL curl -X POST \ 'https://api-authentication-connect.tunedglobal.com/oauth2/token' \ -H 'StoreId: TEST' \ -H 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'msisdn=6112345678&grant_type=msisdn&code=123456789' Response JSON { "access_token": "••••••••••••••••", "token_type": "bearer", "expires_in": 300, "refresh_token": "••••••••••••••••" } 4 Third party JWT validation Supports JWTs generated by third parties using the asymmetric RS256 algorithm (private/public key pair). The client generates the key pair, signs the token with the private key, and Tuned Global validates it using the public key to extract claims. Request CURL curl --location --request POST 'https://api-services-connect.tunedglobal.com/api/v3/users/authenticateThirdPartyJWT' \ --header 'StoreId: TEST' \ --header ‘Authorization: Bearer <Client_JWT> Response JSON { "access_token": "••••••••••••••••", "token_type": "bearer", "expires_in": 300, "refresh_token": "••••••••••••••••" } • [Silent Authentication with HMAC](https://docs-api-services.tunedglobal.com/authentication/silent-authentication-with-hmac.md): Silent authentication with HMAC (Hash-based Message Authentication Code) is a secure method that allows a music app to automatically sign users into a website through either a webview or an external web browser on the device. This approach offers a seamless user experience by eliminating the need for users to manually log in again when accessing website-exclusive features, such as: Viewing detailed profile information Managing subscriptions (non-Inapp) By bridging the app and website functionalities, silent authentication significantly enhances user convenience and engagement, while maintaining strong security protocols. How it Works 1 Token Generation The app generates a secure URL that includes the user ID and an HMAC token as query parameters. The generated URL looks like this: https://{{baseUrl}}?userId=123456&token=iiDBR40qKDODv26FYAvP%3A9mt1BZIA54t84xG9W62d8%2FYoceDrN%2F0OaqaZK1rWQHA%3D%3A3f3929e8-6265-46cd-8e8f-cf151c1fcada%3A1743736311 2 Website Handling When the user is redirected to the website: The website extracts the userId and the token from the query string. The website then calls the Tuned Global ValidateHMAC API to validate the token. 3 Validation Process Before calling the ValidateHMAC API, the website must URL-decode the token value. The decoded token must be included in the Authorization HTTP header as Tuned-HMAC, e.g., Authorization: Tuned-HMAC {token} , with no payload body. The token is only valid for 5 minutes from the time it is created and it can be consumed only once. After a successful validation, any further attempts to reuse the same token will fail. 4 Access Token Retrieval Upon successful validation, the ValidateHMAC endpoint returns an access token. This access token can then be used to retrieve the user’s profile information, including current and available subscriptions. The following flow chart assumes you are using Tuned Global’s Whitelabel Application. Implementation Details URL Decoding: Always URL-decode the token before using it. The token in the query string will be URL-encoded. Header Format: Authorization: Tuned-HMAC {token} • [Access Key & Secret Key](https://docs-api-services.tunedglobal.com/authentication/access-key-and-secret-key.md): When a new service is set up, **Tuned Global** provides an **Access Key** and **Secret Key**. These credentials are required for authenticating requests to certain APIs. Usage ----- **Access Key** Acts as a public identifier for your service. It must be included with requests where authentication is required. **Secret Key** Serves as the private component of your credentials. It must be kept secure and never exposed publicly. The Secret Key is used to generate **HMAC signatures** to verify the integrity and authenticity of requests. Applicable APIs --------------- **All HMAC-secured APIs** Requests must be signed using the Access Key and Secret Key. **All TConnect V1 endpoints** Both the Access Key and Secret Key are mandatory for requests. Security Notes -------------- * Do not share your Secret Key outside of your service environment. * If a key is compromised, contact Tuned Global immediately to request a replacement. • [HMAC Authentication](https://docs-api-services.tunedglobal.com/authentication/hmac-authentication.md): Hash-based message authentication code (HMAC) is a mechanism for calculating a message authentication code involving a hash function in combination with a secret key. This can be used to verify the integrity and authenticity of a message (sent from a client to a server or server to server). If an intermediate party attempts to intercept and alter an API call for malicious reasons, or where a fault in an intermediary proxy drops key header information, the signature will not match and the API call will be denied. Generate HMAC Tuned Global will provide the client with a public ( Access Key ) and a private secret ( Secret Key ). Both of the keys are base-64 encoded strings, which means they should never contain any non-base-64 characters and the length of each key is always a multiple of 4. It’s the client’s responsibility is to store the Secret Key securely and never share it with other parties. HMAC tokens are one time use only i.e. client needs to generate a new HMAC for every request to the server even if it’s for the same resource. The client must Hash the request content using MD5 hashing algorithm. This typically applies to HTTP GET, PUT and POST requests in which the data is sent to the server in the request body or in query string parameters. Following fields are required to create HMAC signature: Access key (provided by Tuned Global) Secret Key (provided by Tuned Global) Http method (e.g. Get, Post, Put) UTF-8 encoded request-URI (e.g https://api-delivery-connect.tunedglobal.com/v5/assets encoded using UTF-8 Encoded payload (if applicable) Nonce Timestamp Steps 1 Generate Nonce and Timestamp Generate a new GUID (to be used as nonce) and a Unix timestamp. 2 Encode URI Encode the full URI using UTF-8 encoding. Note: Ensure the encoded string is all in lowercase. Note: Steps 3 - 5 are only applicable for POST requests with a JSON object in the payload. Skip to step 6 for http GETAsset requests or requests where there is no Payload to be sent. 3 Serialize JSON Payload Serialize the Json object / payload that needs to be sent (Only for POST requests). 4 Convert Payload to Bytes Convert the serialized Json object / payload to bytes using UTF-8 encoding table (Only for POST requests). 5 Hash Payload with MD5 Hash the above byte array using the standard MD5 hashing algorithm and convert the hashed output back to base64 string (Only for POST requests). 6 Build Raw Signature String Construct a string by concatenating all the fields above to create raw signatures.The expected format is: ``. 7 Convert Raw Signature to Bytes Convert formatted raw signature string from above to bytes array using UTF 8 encoding. 8 Convert Secret Key to Bytes Convert the secret key provided by Tuned Global, into a byte array. 9 Generate HMAC-SHA256 Signature Hash this full concatenated raw signature string using standard HMAC SHA256 hashing algorithm using the secret key byte array. 10 Convert HMAC to Base64 String Convert the hashed result array from above to the Base64 string. This is the final string which will be used as the unique signature for the request. 11 Construct Authorization Header Value Build Authorization Header value.This value should contain access key, request signature from the step above, nonce and timestamp separated by colon “:”. The expected format is: {access-key}:{request-signature}:{nonce}:{timestamp} . 12 Add Authorization Header to Request Add an http Header called Authorization to the request. And the value should be Tuned-HMAC e.g Authorization: Tuned-HMAC {access-key}:{request-signature}:{nonce}:{timestamp} Resources: HAMC Generator Generates HMAC instantly for a request. • [Catalogue](https://docs-api-services.tunedglobal.com/catalogue.md): This group of APIs manages your catalogue. This means the artists, albums, songs, videos, podcasts and audiobooks available to you that have been delivered via the Tuned Global supply chain. These APIs differ from the Catalogue APIs in Metadata as they usually have user context in the response and often in the request. Use case example Below is a Tuned Global turnkey solutions as an example. In this case the number of favourites in each type is created from the APIs in this section. • [Artist](https://docs-api-services.tunedglobal.com/catalogue/artist.md): The Artist section of the API allows users to retrieve information about artists. Artist information, such as names, discographies, and related works are available via the metadata APIs. The APIs in this section include user context in relation to Artists. Explore how you can use this functionality to enhance your project. This is an example using the API's on an artist page in an app. 1. Artist details (metadata - [artists/{id}](https://docs-api-metadata.tunedglobal.com/artist/get-1)) 2. Artist play count (services - [artists/{id}/getusercontext](https://app.theneo.io/tuned-global/services/catalogue-1/artist/getusercontext-1)) 3. Trending (metadata - [artists/{id}/songs](https://docs-api-metadata.tunedglobal.com/artist/getsongs)) 4. Latest (metadata - [artists/{id}/songs](https://docs-api-metadata.tunedglobal.com/artist/getsongs)) 5. Videos (metadata - [artists/{id}/songs](https://docs-api-metadata.tunedglobal.com/artist/getsongs)) 6. Releases - All albums by the artist (metadata - [artists/{id}/albums](https://docs-api-metadata.tunedglobal.com/artist/getalbums)) 7. Appears On - Compilations the artist appears on (metadata - [artists/{id}/appearson](https://docs-api-metadata.tunedglobal.com/artist/appearson)) 8. Similar - Retrieving all similar artists for a given artist (metadata - [artists/{id}/similar](https://docs-api-metadata.tunedglobal.com/artist/similar)) • [Albumscontext](https://docs-api-services.tunedglobal.com/catalogue/artist/albumscontext.md): Get specific context info for the artist’s albums. An artists albums are defined where they are the main artist. • [Releasescontext](https://docs-api-services.tunedglobal.com/catalogue/artist/releasescontext.md): Get specific context info about the releases attributed to the given artist for the logged in user The context here is based on the user. The API will provide information about the artist (eg. for an artist display page) but also whether the user is following the artist themselves. Context is based on user. This API will display information about an Albums playcounts, including whether it has been marked as a favourite (In Collection) by the user. • [Songscontext](https://docs-api-services.tunedglobal.com/catalogue/artist/songscontext.md): Get specific context info about the songs attributed to the given artist for the logged in user. • [Similarcontext](https://docs-api-services.tunedglobal.com/catalogue/artist/similarcontext.md): Get specific context info for similar artists of the specified artist for the logged in user. The context here is based on the user. The API will provide information about the artist (eg. for an artist display page) but also whether the user is following the artist themselves. • [Getusercontext](https://docs-api-services.tunedglobal.com/catalogue/artist/getusercontext.md): Get specific context info about the given artist for the logged in user, such as if the user has added it to their collection and the total play count. User context includes user plays, global plays and if this artist is a favourite for the user. • [AddTags](https://docs-api-services.tunedglobal.com/catalogue/artist/addtags.md): The AddTags section allows users to assign a set of tags to a specific artist within the platform. By utilizing this functionality, users can categorize and organize artists based on various criteria, enhancing the overall management and navigation of artist data within the system. Note: This API only works with special content tag manager credentials. TG creates the user and shares these credentials. Please use them to obtain a JWT/Bearer token, which must be included with every API call. • [DeleteTags](https://docs-api-services.tunedglobal.com/catalogue/artist/deletetags.md): Del etes one or more tags from the specified artist within the current store. This operation can only be performed by authorized client admin users. Note: Only tags that were added by client admin users can be deleted using this endpoint. Note: This API only works with special content tag manager credentials. TG creates the user and shares these credentials. Please use them to obtain a JWT/Bearer token, which must be included with every API call. • [Album](https://docs-api-services.tunedglobal.com/catalogue/album.md): An album has a primary release associated with it. Unless you have disambiguation technology included in your service, this will be a 1-1 relationship and Albums or Releases can be used interchangeably. Album information, such as Tracklists, Artwork and associated artists are available via the metadata APIs. The APIs in this section include user context in relation to Albums. Explore how you can use this functionality enables to enhance your project. Below is how an album page could be presented to a user. This example is using metadata API ’s to display podcast details, episodes and similar. • [AddTags](https://docs-api-services.tunedglobal.com/catalogue/album/addtags.md): The AddTags section allows users to assign a specific set of tags to an album. By utilizing this functionality, users can organize and categorize albums efficiently within the system. This section enables users to enhance the discoverability and organization of albums through the addition of relevant tags. Note: This API only works with special content tag manager credentials. TG creates the user and shares these credentials. Please use them to obtain a JWT/Bearer token, which must be included with every API call. • [DeleteTags](https://docs-api-services.tunedglobal.com/catalogue/album/deletetags.md): Del etes one or more tags from the specified album within the current store. This operation can only be performed by authorized client admin users. Note: Only tags that were added by client admin users can be deleted using this endpoint. Note: This API only works with special content tag manager credentials. TG creates the user and shares these credentials. Please use them to obtain a JWT/Bearer token, which must be included with every API call. • [Getreleasescontext](https://docs-api-services.tunedglobal.com/catalogue/album/getreleasescontext.md): Get specific context info for the releases of the given album for the logged in user. • [Getusercontext](https://docs-api-services.tunedglobal.com/catalogue/album/getusercontext.md): Get specific context info about the given album for the logged in user, such as if the user has added it to their collection. User context includes user plays, global plays and if this album is a favourite for the user. • [Release](https://docs-api-services.tunedglobal.com/catalogue/release.md): A Release can have more than one album associated with it - it is used for disambiguation. Unless you have disambiguation technology included in your service, this will be a 1-1 relationship and Albums or Releases can be used interchangeably. Release information, such as Tracklists, Artwork and associated artists are available via the metadata APIs. The APIs in this section include user context in relation to Releases. Explore how you can use this functionality enables to enhance your project. • [Getartistscontext](https://docs-api-services.tunedglobal.com/catalogue/release/getartistscontext.md): Retrieve detailed user-specific context for the artists of the specified release • [Gettrackscontext](https://docs-api-services.tunedglobal.com/catalogue/release/gettrackscontext.md): Retrieve detailed user-specific context for the track listing on the specified release • [Getusercontext](https://docs-api-services.tunedglobal.com/catalogue/release/getusercontext.md): Get specific context info about the given release for the logged in user, such as if the user has added it to their collection. User context includes user plays, global plays and if this release is a favourite for the user. • [Getmultiple](https://docs-api-services.tunedglobal.com/catalogue/release/getmultiple.md): Get specific context info for the given releases for the logged in user • [Song](https://docs-api-services.tunedglobal.com/catalogue/song.md): A Song can have more than one Track associated with it - it is used for disambiguation. Unless you have disambiguation technology included in your service, this will be a 1-1 relationship and Songs or Tracks can be used interchangeably. Song information, such as duration, parent album and associated artists are available via the metadata APIs. The APIs in this section include user context in relation to Songs. Explore how you can use this functionality enables to enhance your project. • [GetArtistsContext](https://docs-api-services.tunedglobal.com/catalogue/song/getartistscontext.md): Retrieve detailed user-specific context for the artists of the specified song • [GetUserContext](https://docs-api-services.tunedglobal.com/catalogue/song/getusercontext.md): Get specific context info about the given song for the logged in user, such as if the user has added it to their collection. User context includes user plays, global plays and if this song is a favourite for the user. Please note: UserTotal , UserRecent , and DistinctGlobalTotal are deprecated and may be removed in future API releases. • [GetMultiple](https://docs-api-services.tunedglobal.com/catalogue/song/getmultiple.md): Get specific context info for the given songs for the logged in user • [Track](https://docs-api-services.tunedglobal.com/catalogue/track.md): An Track has a Song associated with it. Unless you have disambiguation technology included in your service, this will be a 1-1 relationship and Songs or Tracks can be used interchangeably. Track information, such as duration, parent album and associated artists are available via the metadata APIs. The APIs in this section include user context in relation to Tracks. Explore how you can use this functionality enables to enhance your project. • [GetUserContext](https://docs-api-services.tunedglobal.com/catalogue/track/getusercontext.md): Get specific context info about the given track for the logged in user, such as if the user has added it to their collection. User context includes user plays, global plays and if this track is a favourite for the user. Please note: UserTotal , UserRecent , and DistinctGlobalTotal are deprecated and may be removed in future API releases. • [GetMultiple](https://docs-api-services.tunedglobal.com/catalogue/track/getmultiple.md): Get specific context info for the given tracks for the logged in user • [AddTags](https://docs-api-services.tunedglobal.com/catalogue/track/addtags.md): The AddTags section allows users to assign specific tag names to a track for the logged-in user. By providing an array of tag names, users can categorize and organize tracks based on their preferences or criteria. Note: This API only works with special content tag manager credentials. TG creates the user and shares these credentials. Please use them to obtain a JWT/Bearer token, which must be included with every API call. • [DeleteTags](https://docs-api-services.tunedglobal.com/catalogue/track/deletetags.md): Del etes one or more tags from the specified song within the current store. This operation can only be performed by authorized client admin users. Note: Only tags that were added by client admin users can be deleted using this endpoint. Note: This API only works with special content tag manager credentials. TG creates the user and shares these credentials. Please use them to obtain a JWT/Bearer token, which must be included with every API call. • [Podcast](https://docs-api-services.tunedglobal.com/catalogue/podcast.md): Use these APIs if you have Podcasts enabled for your service. This feature must be enabled for your service by Tuned Global. Below is how a podcast page could be presented to a user. This example is using metadata API ’s to display podcast details, episodes and similar. • [Getusercontext](https://docs-api-services.tunedglobal.com/catalogue/podcast/getusercontext.md): Get specific context info about the given podcast for the logged in user, such as if the user has added it to their collection. User context includes user plays, global plays and if this podcast is a favourite for the user. • [Audiobook](https://docs-api-services.tunedglobal.com/catalogue/audiobook.md): Use these APIs is you have Audiobooks enabled for your service. This feature must be enabled for your service by Tuned Global. Below is how a audibook page could be presented to a user. This example is using metadata API ’s to display podcast details, episodes and similar. • [Getusercontext](https://docs-api-services.tunedglobal.com/catalogue/audiobook/getusercontext.md): Get specific context info about the given audiobook for the logged in user, such as if the user has added it to their collection. User context includes user plays, global plays and if this audiobook is a favourite for the user. • [Block/Allow](https://docs-api-services.tunedglobal.com/catalogue/block-allow.md): Where configured, manage content gating of your available catalog. Gating may be controlled via APIs or by using the AutoTune CMS to allow or block specific catalog content. This feature must be enabled for your service by Tuned Global. • [Catalogue](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue.md): This group of APIs manage the ability to block or allow specific catalogue content for your service. Your service must be configured to respect these entries and this information will be available in your AutoTune CMS. Contact Tuned Global if you are unsure these are enabled or wish to discuss further. • [Getallowedalbums](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/getallowedalbums.md): Get a list of allowed albums for this service. Note: This is only relevant if your service is block/allow enabled • [Getblockedalbums](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/getblockedalbums.md): Get a list of album ids that have been blocked for this service. Note: This is only relevant if your service is block/allow enabled • [Add an album(s) to the allowlist for this service](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/add-an-album-s-to-the-allowlist-for-this-service.md): Note: This is only relevant if your service is block/allow enabled • [Add albums to the blocklist for this service.](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/add-albums-to-the-blocklist-for-this-service.md): Note: This is only relevant if your service is block/allow enabled • [Getblockedtracks](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/getblockedtracks.md): Get blocked tracks Note: This is only relevant if your service is block/allow enabled • [Add tracks to blocklist](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/add-tracks-to-blocklist.md): Note: This is only relevant if your service is block/allow enabled • [Getblockedallowedartists](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/getblockedallowedartists.md): Get a list of blocked and/or allowed artists for this service. Note: This is only relevant if your service is block/allow enabled • [Add artist ids to the blocklist or allowlist for this service](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/add-artist-ids-to-the-blocklist-or-allowlist-for-this-service.md): Note: This is only relevant if your service is block/allow enabled • [Deleteblockedallowedalbum](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/deleteblockedallowedalbum.md): Delete album ids from blocklist or allowlist for this service. Note: This is only relevant if your service is block/allow enabled • [Deletemultipleblockedallowedalbums](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/deletemultipleblockedallowedalbums.md): Delete albums from blocklist or allowlist. Max 100 albumIds allowed per call. Note: This is only relevant if your service is block/allow enabled • [Deleteallowedtracks](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/deleteallowedtracks.md): Delete track ids from allowlist for this service. Note: This is only relevant if your service is block/allow enabled • [Addallowedtracks](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/addallowedtracks.md): Add tracks to the allowlist for this service. Note: This is only relevant if your service is block/allow enabled • [Getallowedtracks](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/getallowedtracks.md): Get a list of allowed tracks for this service. Note: This is only relevant if your service is block/allow enabled • [Deleteblockedallowedartist](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/deleteblockedallowedartist.md): Delete artist from blocklist or allowlist Note: This is only relevant if your service is block/allow enabled • [Deleteblockedtracks](https://docs-api-services.tunedglobal.com/catalogue/block-allow/catalogue/deleteblockedtracks.md): Delete tracks from blocklist Note: This is only relevant if your service is block/allow enabled • [GetTracks](https://docs-api-services.tunedglobal.com/catalogue/voice-story/gettracks.md): The GetTracks section allows users to retrieve detailed information about a track associated with a user's voice story. By accessing this section, users can view essential data and attributes related to a specific track within the story, enabling them to manage and analyze their content effectively. • [GetSystemPlaylist](https://docs-api-services.tunedglobal.com/catalogue/playlist/getsystemplaylist.md): Retrieve detailed information about a specific system playlist, including metadata such as creator details, track counts, duration, and content attributes. • [AddTags](https://docs-api-services.tunedglobal.com/catalogue/playlist/addtags.md): Use this section to add one or more tags to a specific playlist, enabling better organization and easier retrieval of playlist content. By associating tags, you can enhance playlist categorization and improve searchability within your service. • [DeleteTags](https://docs-api-services.tunedglobal.com/catalogue/playlist/deletetags.md): Remove one or more tags from a specified playlist to update its categorization and organization. This allows you to manage and refine the metadata associated with your playlists, ensuring they remain relevant and easy to navigate. • [Grouped Catalogue](https://docs-api-services.tunedglobal.com/grouped-catalogue.md): These APIs are where you have grouped catalogue items and are able to add or retrieve grouped catalogue. Grouped catalogue includes items such as Playlists, Mixes or Radio Stations and collection (user favourites). Within this API, these groupings are user specific and do not include system playlists or radio stations accessible through metadata APIs. • [Playlist](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist.md): System Playlist and shared Playlists are available via the Metadata APIs. The Playlist APIs provided here encompass user context, enabling various playlist-related actions such as creating, deleting, managing, and adding tracks, ensuring seamless interaction with user playlists. • [Get](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/get.md): Retrieve detail for a given playlist. • [Delete a playlist](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/delete-a-playlist.md): Delete a specific playlist. • [Edit playlist metadata](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/edit-playlist-metadata.md): Edit a given playlist, such as it's name, description and whether it's public (searchable) or private. • [Getusercontext](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/getusercontext.md): User specific info about a given playlist • [Getmyplaylists](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/getmyplaylists.md): Retrieve the list of playlist for logged-in user that were created by the same user. • [Create a new playlist](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/create-a-new-playlist.md): This section allows users to create a new playlist, specifying details such as the playlist name, description, and content type (audio or video). Upon successful creation, users can retrieve essential information about the playlist, including its ID, creator details, track count, and duration. This functionality enables users to manage and customize their playlists within the application. • [Getplaylistsbyonboardingtags](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/getplaylistsbyonboardingtags.md): Return list of playlists based on user's tag preferences • [Gettrendingplaylistsbytagtype](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/gettrendingplaylistsbytagtype.md): Return list of playlists based on user's tag preferences and tag type. • [Replacetracklist](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/replacetracklist.md): Replace the entire tracklist of a playlist • [Add tracks to a playlist](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/add-tracks-to-a-playlist.md): This section allows users to add tracks to a playlist, enabling them to customize and enhance their playlists with new content. By utilizing this feature, users can easily update and modify their playlists to suit their preferences and create a personalized listening experience. • [Remove a track from a playlist](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/remove-a-track-from-a-playlist.md) • [Move a track within the track order inside a playlist](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/move-a-track-within-the-track-order-inside-a-playlist.md) • [UploadPlaylistCover](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/uploadplaylistcover.md): Uploads a cover image for a playlist. Only the playlist creator or an admin can upload a cover. If the playlist belongs to a verified user and already has a custom admin-uploaded image for the specified language, the upload is skipped and the existing image is returned. The request must be sent as multipart/form-data with a single image file. The supported file types are JPEG, PNG, GIF, BMP, and TIFF. • [Delete playlist cover](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/delete-playlist-cover.md) • [Downloadtocloud](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/downloadtocloud.md): Download playlist to cloud. This feature must be enabled and be part of your service, otherwise you will get a 404 response. This API packages a playlist's assets and its metadata and returns a download link to a user's registered email address. It's use case is for users that require the assets for further processing or compositing within another system. It requires both approval from Tuned Global and Rights Holders before it can become available. • [Cleartracklist](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/cleartracklist.md): Remove all tracks from a playlist • [Get](https://docs-api-services.tunedglobal.com/grouped-catalogue/playlist/admin/get.md): Allows users to retrieve detailed information about a specific system playlist including unpublished ones. Users can access data such as the playlist’s name, description, creator details, track count, duration, and other relevant metadata. Note: This API is accessible only via a special admin user account created and managed by Tuned Global. Credentials for this account will be provided separately. Use these credentials to obtain a JWT (Bearer token), which must be included in the authorization header of all API requests. • [Station](https://docs-api-services.tunedglobal.com/grouped-catalogue/station.md): Stations are also referenced as mixes or radio The Metadata APIs allow you to get Station detail and information. These APIs allow you to interact with a station for a specific user and have user context. • [Getusersuggested](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/getusersuggested.md): Get suggested stations for a logged in user • [Getusercontext](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/getusercontext.md): Get specific context info about the given station for the logged in user • [Getmylastplayed](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/getmylastplayed.md): Returns 20 of the last played stations for the user • [Getusercover](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/getusercover.md): Get cover image • [Getskipsremaining](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/getskipsremaining.md): Calculates skip counts remaining for a user • [Getuservotes](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/getuservotes.md): Retrieve list of liked or disliked tracks (for the current logged in user) in this station • [Gettrackextras](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/gettrackextras.md): Returns updated user play data, and non track media to be inserted into the play stream for a user radio station session • [Vote](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/vote.md): Submit votes (likes/dislikes) from a user on this station • [Getnextstation](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/getnextstation.md): Get next station for a logged in user. Used for continuous play • [Logofflineplays](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/logofflineplays.md): Log plays that happened while the user was offline. This is a deprecated endpoint and should not be used by new services • [Getsuggestedstationbytrackids](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/getsuggestedstationbytrackids.md): Get suggested station for a logged in user • [Getsynctracks](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/getsynctracks.md): This API will produce a list of tracks to offline for this station. It will be approximately 2 hours of music, not all tracks in amix. • [Addbyseed](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/addbyseed.md): Add a station by seed. Creates a station from a seed value (i.e. Artist ID) • [AddByMultipleSeeds](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/addbymultipleseeds.md): Add multiple stations in bulk by submitting a set of predefined seed data to quickly create and configure new stations within the platform. This operation returns detailed metadata for each created station, enabling seamless integration and management of large-scale station deployments. • [Gettracks](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/gettracks.md): Get tracks for station. Use this to get up to the next 5 tracks for a radio station. If a user dislikes a track, use this call to refresh the track lists (any dislikes will be removed) • [Deleteartistvotes](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/deleteartistvotes.md): Delete Artist Votes for the logged in user. Delete Artist Votes (likes/dislikes) for the logged in user • [Deletevotes](https://docs-api-services.tunedglobal.com/grouped-catalogue/station/deletevotes.md): Delete votes (likes/dislikes) for a user on this station. • [Collection](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection.md): A collection refers to a compilation of user-selected favourites across various categories. Here's an example of how such collections might be displayed within an application. • [AddPriority](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/addpriority.md): The AddPriority section allows users to set priority content by assigning a rank value between 0 and 20. By utilizing this functionality, users can effectively prioritize content within the system. Prioritized content gets returned higher in the search API responses. • [Getrecentlyadded](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/getrecentlyadded.md): Retrieve the list of recently added releases to the currently logged in user's collection • [Gettracksartists](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/gettracksartists.md): Retrieve the list of artists of releases the currently logged in user has in their collection • [Getreleasesartists](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/getreleasesartists.md): Returns a list of the artists of releases that the currently logged in user has in their collection • [Getartisttracks](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/getartisttracks.md): Retrieve the list of tracks the currently logged in user has in their collection for a specified artist • [Checkreleaseinusercollection](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/checkreleaseinusercollection.md): Check if a release is in current user's collection • [Getartistreleases](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/getartistreleases.md): Retrieve the list of releases the currently logged in user has in their collection for a specified artist • [Gettrackartists](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/gettrackartists.md): Retrieve the list of artists the currently logged in user has in their favourite track collection • [Getplaylists](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/getplaylists.md): Retrieve the list of playlists the currently logged in user has in their collection This API get's the logged in users playlists AND playlists favourited by the user in the single method. • [Checkartistfollowedbyuser](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/checkartistfollowedbyuser.md): Check if user is following an artist • [Getfavouriteplaylists](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/getfavouriteplaylists.md): Retrieve the user’s favourite playlists This API will only return the user's favourite playlists and NOT any created by themselves. • [Gettracks](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/gettracks.md): Retrieve the list of tracks the currently logged in user has in their collection • [Getreleases](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/getreleases.md): Retrieve the list of releases the currently logged in user has in their collection. Make sure userId input param is null • [Getstations](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/getstations.md): Retrieve a list of starred stations for the logged in user. Make sure userId input param is null • [Getfavouriteaudiobooks](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/getfavouriteaudiobooks.md): Get user favourite audiobooks for logged in user. • [Getfavouritepodcasts](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/getfavouritepodcasts.md): Get user favourite podcasts for logged in user. • [GetEpisodes](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/getepisodes.md): Get the liked podcast episodes for the currently logged in user. • [GetFollowedArtists](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/getfollowedartists.md): Retrieve the list of artists the currently logged in user has in their followed artist collection. Make sure userId input param is null • [Addtrack](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/addtrack.md): Add a track to the currently logged in user's collection • [Add tracks](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/add-tracks.md): Add multiple tracks to the currently logged in user's collection • [Remove a track](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/remove-a-track.md) • [Addpodcast](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/addpodcast.md): Add a podcast channel to the currently logged in user's collection • [Remove a podcast channel from the currently logged in user's collection](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/remove-a-podcast-channel-from-the-currently-logged-in-user-s-collection.md) • [AddEpisode](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/addepisode.md): Like a podcast episode for the currently logged in user. Idempotent - liking an already-liked episode succeeds. The episode must be active and belong to the current store. • [RemoveEpisode](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/removeepisode.md): Unlike a podcast episode for the currently logged in user and remove it from their collection. • [Add a release](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/add-a-release.md): Add a release to the currently logged in user's collection • [Remove a release](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/remove-a-release.md): Remove a specific release from the user's collection • [Addstation](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/addstation.md): Add a favourite station to users collection • [Remove a station](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/remove-a-station.md) • [Bulkfollowartist](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/bulkfollowartist.md): Follow bulk artists Yahya to review display • [Addplaylist](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/addplaylist.md): Add a playlist to the currently logged in user's collection • [Remove a playlist](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/remove-a-playlist.md) • [Add an audiobook](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/add-an-audiobook.md): Add a audiobook to the currently logged in user's collection • [Remove an audiobook](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/remove-an-audiobook.md) • [Followartist](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/followartist.md): Follow an artist • [Unfollow an artist](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/unfollow-an-artist.md) • [Bulkunfollowartist](https://docs-api-services.tunedglobal.com/grouped-catalogue/collection/bulkunfollowartist.md): Bulk Unfollow artists Yahya to review display • [Get subscription status](https://docs-api-services.tunedglobal.com/billing-and-subs/tconnect-v1/get-subscription-status.md): Provides the subscription information for a user identified by their mobile number or external user id. This endpoint requires the **Access Key** and **Secret Key** (See [Authentication](https://docs-api-services.tunedglobal.com/authentication/access-key-and-secret-key)). • [Get listening minutes](https://docs-api-services.tunedglobal.com/billing-and-subs/tconnect-v1/get-listening-minutes.md): Retrieve the total listening time in minutes for a specific user within the current month, using the provided identifiers. This endpoint requires the **Access Key** and **Secret Key** (See [Authentication](https://docs-api-services.tunedglobal.com/authentication/access-key-and-secret-key)). • [Update user tags](https://docs-api-services.tunedglobal.com/billing-and-subs/tconnect-v1/update-user-tags.md): Updates a user's tags. These tags are typically collected during user onboarding and can later be used to personalize recommendations and suggestions. This endpoint requires the **Access Key** and **Secret Key** (See [Authentication](https://docs-api-services.tunedglobal.com/authentication/access-key-and-secret-key)). • [Update subscription status](https://docs-api-services.tunedglobal.com/billing-and-subs/tconnect-v1/update-subscription-status.md): Updates a user's subscription based on information received from external billing systems. This endpoint requires the **Access Key** and **Secret Key** (See [Authentication](https://docs-api-services.tunedglobal.com/authentication/access-key-and-secret-key)). • [Register a user](https://docs-api-services.tunedglobal.com/billing-and-subs/tconnect-v1/register-a-user.md): Enables third-party partners to seamlessly register users within the Tuned Global system. By providing essential user details such as name, email, and country, partners can efficiently onboard new users into the platform. This endpoint requires the **Access Key** and **Secret Key** (See [Authentication](https://docs-api-services.tunedglobal.com/authentication/access-key-and-secret-key)). • [Validate a user](https://docs-api-services.tunedglobal.com/billing-and-subs/tconnect-v1/validate-a-user.md): Validates if a user exists in the system using either their phone number (MSISDN) or an external user ID. This endpoint requires the **Access Key** and **Secret Key** (See [Authentication](https://docs-api-services.tunedglobal.com/authentication/access-key-and-secret-key)). • [Getall](https://docs-api-services.tunedglobal.com/billing-and-subs/merchant/getall.md): Get a list of merchants These are merchants available for the service. Eg. In App Purchase, Stripe, Telco etc. • [Package](https://docs-api-services.tunedglobal.com/billing-and-subs/package.md): The "Package" section in the API refers to Subscription Packages. These are created via the AutoTune CMS. • [Get](https://docs-api-services.tunedglobal.com/billing-and-subs/package/get.md): Get a single package • [Getsubscriptionterms](https://docs-api-services.tunedglobal.com/billing-and-subs/package/getsubscriptionterms.md): Get subscription terms based for the current service. • [Getsubscriptionsettings](https://docs-api-services.tunedglobal.com/billing-and-subs/package/getsubscriptionsettings.md): This API is used for interactining with a Telco for billing requirements and will need to be configured for your service. If not configured, this API will produce no response and should not be used. • [Getconsentgateway](https://docs-api-services.tunedglobal.com/billing-and-subs/package/getconsentgateway.md): Get consent gateway info for a telco. Note: Used for Teco integrations • [Requestcancelsubscription](https://docs-api-services.tunedglobal.com/billing-and-subs/package/requestcancelsubscription.md): Request for subscription cancelled Telco only - set comments • [Getavailable](https://docs-api-services.tunedglobal.com/billing-and-subs/package/getavailable.md): Get packages available to user • [Get](https://docs-api-services.tunedglobal.com/billing-and-subs/package/get-1.md): Get a single package by package id Npte: Package is the Parent i.e. Premium Group) and the plan is the SKU • [Getallplans](https://docs-api-services.tunedglobal.com/billing-and-subs/package/getallplans.md): Get all package costs applicable for user This API is for Telco or external payment methods, not generally for In App Payments. It returns the plans linked to the user's country based on their IP address. If no plans are found for this country, then the API would return all plans linked to the clients home country. The use case would be that you want to display an alternative subscription option for users of a single country but maintain a standard for the rest of the world. Note: The data for this API must be configured for the specific service, otherwise you should not use this API. • [Getallcosts](https://docs-api-services.tunedglobal.com/billing-and-subs/package/getallcosts.md): Get all package costs This API is for Telco or external payment methods, not for In App Payments. It returns the plans based on the user's MSISDN and how that has been configured within the system. A MSISDN will always commence with a country code and then has an associated plan configured for that country. If no plan exists, then this API will return a 404. Note: The data for this API must be configured for the specific service, otherwise you should not use this API. • [Getplansbymerchantexternalid](https://docs-api-services.tunedglobal.com/billing-and-subs/package/getplansbymerchantexternalid.md): Get all package costs applicable for the merchant • [Checksubscriptionstatus](https://docs-api-services.tunedglobal.com/billing-and-subs/package/checksubscriptionstatus.md): Check the user's current subscription status. • [Subscribe](https://docs-api-services.tunedglobal.com/billing-and-subs/package/subscribe.md): Subscribe to an available package Not IAP - telco only. Suggest to delete • [Requestsubscription](https://docs-api-services.tunedglobal.com/billing-and-subs/package/requestsubscription.md): This API is used to generate a text message to a MSISDN. The use case is normally that a user attempts a play action without having a subscription and you can then use this API to send a pre configured text message for that user to subscribe to the service. • [Purchasecost](https://docs-api-services.tunedglobal.com/billing-and-subs/package/purchasecost.md): Subscribe to an available partner package This API is for a Telco billing integration. It requests a user subscription to the Telco party using the MSISDN as a reference. • [Index](https://docs-api-services.tunedglobal.com/billing-and-subs/subscriptionreferrer/index.md): Get user subscription referral. This is a deprecated endpoint and should not be used by new services • [Refer user. this is a deprecated endpoint and should not be used by new services](https://docs-api-services.tunedglobal.com/billing-and-subs/subscriptionreferrer/refer-user-less-than-strong-greater-than-this-is-a-deprecated-endpoint-and-should-not-be-used-by-new-services-less-than-strong-greater-than.md) • [Getsharedusers](https://docs-api-services.tunedglobal.com/billing-and-subs/subscription/getsharedusers.md): Retrieve a list of users sharing the subscription. These are the “children” of the user. Note: This is used for family plans, this must be enabled for your service. Additional documentation is available. • [Getinvitationcodes](https://docs-api-services.tunedglobal.com/billing-and-subs/subscription/getinvitationcodes.md): Get invitation codes of a subscription. Note: This is used for family plans, this must be enabled for your service. Additional documentation is available • [Createmopepaymentrequest](https://docs-api-services.tunedglobal.com/billing-and-subs/subscription/createmopepaymentrequest.md): Create mope payment request • [Createstripecheckoutsession](https://docs-api-services.tunedglobal.com/billing-and-subs/subscription/createstripecheckoutsession.md): Create stripe session. Generates a stripe checkout session where stripe is available • [Checksubscriptionenabledbypaymentguid](https://docs-api-services.tunedglobal.com/billing-and-subs/subscription/checksubscriptionenabledbypaymentguid.md): Check if the subscription is enabled by payment request guid. This is a deprecated endpoint and should not be used by new services • [Validateinvitationcode](https://docs-api-services.tunedglobal.com/billing-and-subs/subscription/validateinvitationcode.md): Validate a subscription invitation code. This validates a child’s invitation. Note: This is used for family plans, this must be enabled for your service.Additional documentation is available • [Addshareduser](https://docs-api-services.tunedglobal.com/billing-and-subs/subscription/addshareduser.md): Add user to a subscription plan using invitation code. This adds a child to the user’s family plan. Note: This is used for family plans, this must be enabled for your service.Additional documentation is available. • [Createinapppurchasesubscription](https://docs-api-services.tunedglobal.com/billing-and-subs/subscription/createinapppurchasesubscription.md): Create or update a subscription purchased via App Store or Play Store • [Newinvitationcode](https://docs-api-services.tunedglobal.com/billing-and-subs/subscription/newinvitationcode.md): Generate a new subscription invitation code. Note: This is used for family plans, this must be enabled for your service. Additional documentation is available. • [Createstripecustomerportalsession](https://docs-api-services.tunedglobal.com/billing-and-subs/subscription/createstripecustomerportalsession.md): Create stripe customer portal session. This allows a portal stripe view to be created where a user can manage their stripe subscription. • [Deleteshareduser](https://docs-api-services.tunedglobal.com/billing-and-subs/subscription/deleteshareduser.md): Remove user from a subscription plan. This removes a child to the user’s family plan. Note: This is used for family plans, this must be enabled for your service. Additional documentation is available. • [HandlPlernTrueIDEvent](https://docs-api-services.tunedglobal.com/billing-and-subs/tconnect-v3/handlplerntrueidevent.md): This section allows users to handle Plern TrueID subscription webhook events and manage updates related to TrueID subscriptions. This API currently supports three types of event: * `subscription.create` * `subscription.update` * `cancellation.create` The event types not suppported will be ignored. **subscription.create** Create subscriptions based on the `product_id` if they have not already been created. **subscription.update** Update subscriptions based on the provided payload. If no matching subscription is found for the product, a new subscription will be created. **cancellation.create** Cancel subscriptions based on the provided payload. If the `is_immediate` flag is set to `true`, subscriptions are cancelled immediately; otherwise, the cancellation will take place at the end of the billing cycle. • [Getqueue](https://docs-api-services.tunedglobal.com/user-and-apps/queue/getqueue.md): Retrieve the Now Playing queue for the logged in user • [Replace the entire now playing queue with the detail provided](https://docs-api-services.tunedglobal.com/user-and-apps/queue/replace-the-entire-now-playing-queue-with-the-detail-provided.md) • [Getcurrentlyplaying](https://docs-api-services.tunedglobal.com/user-and-apps/queue/getcurrentlyplaying.md): Return the currently playing item in the Now Playing queue. • [Set an item in the now playing queue as currently playing.](https://docs-api-services.tunedglobal.com/user-and-apps/queue/set-an-item-in-the-now-playing-queue-as-currently-playing.md) • [Unset the currently playing item from the now playing queue. this does not remove the item from the queue.](https://docs-api-services.tunedglobal.com/user-and-apps/queue/unset-the-currently-playing-item-from-the-now-playing-queue-this-does-not-remove-the-item-from-the-queue.md) • [Geteditversion](https://docs-api-services.tunedglobal.com/user-and-apps/queue/geteditversion.md): Get the edit version of queue • [Getgroup](https://docs-api-services.tunedglobal.com/user-and-apps/queue/getgroup.md): Retrieve one group from the Now Playing queue • [Add a new group to the now playing queue.](https://docs-api-services.tunedglobal.com/user-and-apps/queue/add-a-new-group-to-the-now-playing-queue.md): If a group with the same id as the one PUT already exists, it is removed first, then replaced by this new one. • [Remove a group from the now playing queue](https://docs-api-services.tunedglobal.com/user-and-apps/queue/remove-a-group-from-the-now-playing-queue.md) • [Getgrouptracks](https://docs-api-services.tunedglobal.com/user-and-apps/queue/getgrouptracks.md): Retrieve the tracks from one group in the Now Playing queue • [Add tracks to a group in the now playing queue](https://docs-api-services.tunedglobal.com/user-and-apps/queue/add-tracks-to-a-group-in-the-now-playing-queue.md) • [Replacegroups](https://docs-api-services.tunedglobal.com/user-and-apps/queue/replacegroups.md): Replace the entire Now Playing queue with the provided groups • [Remove all groups within the now playing queue](https://docs-api-services.tunedglobal.com/user-and-apps/queue/remove-all-groups-within-the-now-playing-queue.md) • [Setrepeatmode](https://docs-api-services.tunedglobal.com/user-and-apps/queue/setrepeatmode.md): Set the repeat mode on the Now Playing queue • [Setshufflemode](https://docs-api-services.tunedglobal.com/user-and-apps/queue/setshufflemode.md): Set the shuffle mode on the Now Playing queue • [Setcrossfademode](https://docs-api-services.tunedglobal.com/user-and-apps/queue/setcrossfademode.md): Set the crossfade mode on the Now Playing queue • [Enqueuetracks](https://docs-api-services.tunedglobal.com/user-and-apps/queue/enqueuetracks.md): Add some tracks to the Now Playing queue. If there are zero groups in the queue, one is created. If there is one or more group in the queue, the last one is appended to. • [Remove specified tracks from the now playing queue](https://docs-api-services.tunedglobal.com/user-and-apps/queue/remove-specified-tracks-from-the-now-playing-queue.md) • [Move a track within the track order in the now playing queue](https://docs-api-services.tunedglobal.com/user-and-apps/queue/move-a-track-within-the-track-order-in-the-now-playing-queue.md) • [Enqueuerelease](https://docs-api-services.tunedglobal.com/user-and-apps/queue/enqueuerelease.md): Add all tracks from a release to the Now Playing queue. • [Removegrouptracks](https://docs-api-services.tunedglobal.com/user-and-apps/queue/removegrouptracks.md): Remove a track from one group in the Now Playing queue • [Login](https://docs-api-services.tunedglobal.com/user-and-apps/user/login.md): The Login section describes the many ways to Register and Login as a user and related tasks, such as device allocation. A user and a Login are 2 different concepts within the Tuned Global system; * A user is created and has a specific user id. If using 3rdParty Login, then the Tuned user will still be there with no PI assigned, but there can be an external id (yours) connected. * A login connects to a user and could be for example an email login and a MSISDN login (phone number) In addition to this a user has devices associated with them, being perhaps a mobile phone, TV and web. Explore the APIs to determine the best APIs to use, or use the AI assistant. • [Register a user by email](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/register-a-user-by-email.md): Registers a new user account using an email address and password. • [Register a user by device](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/register-a-user-by-device.md): Register a user by device id, used for frictionless signup or Guest Mode. HMAC authentication required. Further information on how to use HMAC can be found [here](https://docs-api-services.tunedglobal.com/authentication/hmac-authentication). • [Addlogin](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/addlogin.md): Allow anonymous user to provide login details Used when user has previously been registered using Registerbydevice API, which is a frictionless (anonymous) sign up method. • [TrueIDLogin](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/trueidlogin.md): The API allows users to obtain TG tokens, which can be used to securely access their TG accounts upon successfully registering via Plern TrueID JwtToken. **Token validation** This api validates the provieded TrueID JWT token. If the validation fails, a 400 status code will be returned along with an error message. **Retrieve the TG user profile** If the token validation succeeds, this API retrieves external user information from TrueID and uses the external user ID to fetch the TG user profile. If the TG user is not found with the external user ID, a new user will be created in the TG system. **Sync user subscriptions** This api also compares user subscriptions in TG with those in TrueID. If the subscriptions are out of sync, the API updates the user's TG subscriptions to match TrueID's subscriptions. TG tokens are returned once the subscription synchronization is complete. • [Registerbymsisdn](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/registerbymsisdn.md): Register user by MSISDN using OTP (one-time pin). When using an OTP (one-time pin) provider such as Firebase Phone Authentication, you can use this API to confirm that a user has authenticated correctly and then register them as a user, also registering their login method at the same time. The following fields are required: PhoneNumber CountryCode Token • [Getencryptedmsisdn](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/getencryptedmsisdn.md): This is for Telco services only. Retrieve encrypted MSISDN for logged in user. This is only used if HTTP Header Enrichment (HHE) is enabled for a service (with HHE encryption). • [Generate OTP for a user](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/generate-otp-for-a-user.md): Generates a one-time password (OTP) for user verification or authentication purposes. • [Validate an OTP](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/validate-an-otp.md): Validates a one-time password (OTP) sent to a user's mobile device or email, typically as part of phone number verification or secure authentication. • [Thirdpartylogin](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/thirdpartylogin.md): Login via 3rd Party Use case is that Autehntication of a user occurs on a third party system with the Tuned system only storing a user id (and external user id) • [Validate HMAC](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/validate-hmac.md): Validates HMAC (Hash-based Message Authentication Code) authentication and generates a local access token for the specified user. HMAC authentication required. Further information on how to use HMAC can be found here . Used for a frictionless login experience between an application and a associated web site of the music service • [Authenticate an external user](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/authenticate-an-external-user.md): Authenticates external users (from third-party systems) and generates a local access token. This endpoint handles both existing external users and creates new users if they don't exist in the system. HMAC authentication required. Further information on how to use HMAC can be found [here](https://docs-api-services.tunedglobal.com/authentication/hmac-authentication). • [Thirdpartyregistration](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/thirdpartyregistration.md): Register user with external system. Note: This must be implemented for your service and must be used with 3rd Party Login • [Authenticate a third-party JWT](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/authenticate-a-third-party-jwt.md): This API supports JWTs generated by third-party clients using the asymmetric RS256 algorithm, which relies on a private/public key pair: The public key must be provided in SPKI format. Clients are required to generate a new key pair specifically for their TG integration. Clients use the private key to sign and generate the access token. TG uses the public key to validate the token and extract claims information The following claims are validated by the API: userid or sub country email planid deviceid Used for Third party login using oAuth. • [Jwttokenbycode](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/jwttokenbycode.md): Get Jwt token • [AuthDevice](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/authdevice.md): Authorise a user device • [DeAuthDevice](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/deauthdevice.md): The DeAuthDevice section allows users to deauthorize a device associated with the current user. By using this functionality, users can manage and control access to their account across different devices. This action helps enhance security and privacy by removing unauthorized or outdated devices from accessing the user's account. • [Generate QR code](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/generate-qr-code.md): Creates a code that can be used for various authentication workflows. HMAC authentication required. Further information on how to use HMAC can be found here . This can be used to generate a QR code for TV or other applications to simplify login. Use this along with next API, ValidateCode to build login methodology. Usage example below: Source Tuned Global turnkey application, TV interface. • [Validatecode](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/validatecode.md): Validate QR code Validate the QR code that was created via the Generatecode API • [Checkusername](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/checkusername.md): Check if the provided username already exists in the system • [Acceptterms](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/acceptterms.md): Accept the latest version of T and C. • [Updatepassword](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/updatepassword.md): Change the currently logged in user's password • [Forgotpassword](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/forgotpassword.md): Send password reset link to users email. • [Getlogins](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/getlogins.md): Return all logins for a user • [Sociallogin](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/sociallogin.md): Login with a Meta (Facebook), X(Twitter), Google or Apple account. v • [Getdevicestatus](https://docs-api-services.tunedglobal.com/user-and-apps/user/login/getdevicestatus.md): Check if device id is still authorized for the logged in user • [User Profile](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile.md): These APIs streamline user profile management within the application, offering a range of essential functionalities for logged-in users. Users can easily create, retrieve, and edit their profiles, ensuring that their information is up-to-date and accurate. Privacy compliance is prioritised through features such as the ability to clear user data, aligning with regulations like GDPR and CCPA. Additionally, users can fine-tune their experience by managing application settings, tailoring their preferences for music streaming, feature access, and notifications. • [GetTrueIdUserProfile](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile/gettrueiduserprofile.md): This API allows users to retrieve TrueID user profile information and check the status of their bundle status. With this API, users can access details such as account ID, subscription start and expiry dates, product information, and bundle status. It provides valuable insights into the user's subscription status and helps in managing TrueID bundle subscriptions effectively. If the `transaction_id` is not provided, this API returns the current profile information and bundle status of the user. If the `transaction_id` is provieded, this API returns the profile information and bundle status associated with the speicfic transaction. • [CreateProfile](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile/createprofile.md): Create a users' profile and add information such as a name and display name. • [Getprofile](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile/getprofile.md): Retrieve a users profile and retrieve information such as their first name, last name, display name, email, MSISDN, country and language. • [Edit a profile](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile/edit-a-profile.md): Edit a users profile. • [Updatemydetails](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile/updatemydetails.md): Modify the details of the user currently logged in, including their first name, last name, display name, email address, preferred language, country of residence, and desired audio quality settings. • [Updatethirdpartyprofile](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile/updatethirdpartyprofile.md): Modify the user profile within a third-party system. Note: This must be implemented for your service. • [Clear user data](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile/clear-user-data.md): This action removes all Personal Information (PI) associated with a user but preserves the underlying user ID for audit trail purposes. This functionality is utilised to comply with privacy regulations such as General Data Protection Regulation (GDPR) or California Consumer Privacy Act (CCPA). Shown below is an example of how this could be presented to users in an app. • [Editmyimage](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile/editmyimage.md): The Editmyimage section allows users to modify a user's profile or background image within the application. Users can upload image files in formats such as `jpg`, `jpeg`, `png`, `gif`, `bmp`, or `tif` to customize their visual representation. This feature enables users to personalize their profiles and enhance their overall user experience. • [Deleteprofile](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile/deleteprofile.md): Delete a users profile. • [Getsettings](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile/getsettings.md): Retrieve a user's application settings, including options for music streaming availability, track skipping permissions, album access, music downloading capabilities, GDPR/CCPA privacy compliance requirements, access to lyrics, and adherence to the operational rules of the Digital Millennium Copyright Act (DMCA) for radio content. • [Checkterms](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile/checkterms.md): Check if the user has agreed to the latest terms and conditions. Terms and Conditions are uploaded with a version number through AutoTune CMS. • [Setpublicflag](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-profile/setpublicflag.md): Set the IsPublic state for the currently logged in user • [Messaging](https://docs-api-services.tunedglobal.com/user-and-apps/user/messaging.md): This section serves as a means to communicate with users, delivering in-app messages to an inbox. These messages can take the form of vouchers/coupons, informative notifications, or links to special promotions, among other types of content. • [Getuserinboxmessagescount](https://docs-api-services.tunedglobal.com/user-and-apps/user/messaging/getuserinboxmessagescount.md): Get the number of messages within a users inbox. • [Getuserinboxmessages](https://docs-api-services.tunedglobal.com/user-and-apps/user/messaging/getuserinboxmessages.md): Retrieve header information for a list of users' inbox messages. • [Getuserinboxmessage](https://docs-api-services.tunedglobal.com/user-and-apps/user/messaging/getuserinboxmessage.md): Retrieve the inbox message for a user by its ID (UserMessageId) and all associated information, including image, voucher code, status, title, content, expiration status, and date. • [Update user inbox message](https://docs-api-services.tunedglobal.com/user-and-apps/user/messaging/update-user-inbox-message.md): Modify the status of a user's inbox message to either 'read' or 'unread'. • [Getmyfollowing](https://docs-api-services.tunedglobal.com/user-and-apps/user/social/getmyfollowing.md): Retrieve the list of profiles the currently logged in user is following Note for self - profile is user, should update on Swagger. Profile is the model of the user • [Getusercontext](https://docs-api-services.tunedglobal.com/user-and-apps/user/social/getusercontext.md): Compares logged in user to a user id input and provides information on following and followed Use case: You can set users to be verified profiles on Autotune. You can then compare the verified user with the logged in user to display if you are following and who they are following Dave - more input • [Unblock the specified user](https://docs-api-services.tunedglobal.com/user-and-apps/user/social/unblock-the-specified-user.md) • [Socialconnect](https://docs-api-services.tunedglobal.com/user-and-apps/user/social/socialconnect.md): Add social login details for the user Refreshes information from the user's Social accounts that have been authenticated via oAuth methods • [Socialdisconnect](https://docs-api-services.tunedglobal.com/user-and-apps/user/social/socialdisconnect.md): Remove social login details for the user • [Stop following another user](https://docs-api-services.tunedglobal.com/user-and-apps/user/social/stop-following-another-user.md) • [Followuser](https://docs-api-services.tunedglobal.com/user-and-apps/user/social/followuser.md): Request to follow a specified user by the logged in user • [Block the specified user](https://docs-api-services.tunedglobal.com/user-and-apps/user/social/block-the-specified-user.md) • [Checkblock](https://docs-api-services.tunedglobal.com/user-and-apps/user/social/checkblock.md): Check if the currently logged in user is blocking the specified user • [Getmyblocking](https://docs-api-services.tunedglobal.com/user-and-apps/user/social/getmyblocking.md): Get the list of ids of users this user is blocking • [Getassociatedprofiles](https://docs-api-services.tunedglobal.com/user-and-apps/user/social/getassociatedprofiles.md): Retrieve the profiles associated with the primary user. These are the child profiles used in family or corporate plans. • [Update user's preferred tags.](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-recommendations/update-user-s-preferred-tags.md): This API will update a user's preferred tags. A use case for this API is to show users a list of preferred Genre tags on sign-up. You can the make API calls to provide content based on these tags for the user. • [Getuserpreferredtags](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-recommendations/getuserpreferredtags.md): Retrieve a list of user preferred tags. This API is used with the Getuserpreferred tags to display a users preferred tags. • [Getsuggestedartists](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-recommendations/getsuggestedartists.md): Return suggested artists for logged in user • [Getsuggestedusers](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-recommendations/getsuggestedusers.md): Return suggested users for loggedin user • [Getrecommendedartists](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-recommendations/getrecommendedartists.md): Return Artist recommendations for a logged in user • [Getrecommendedplaylists](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-recommendations/getrecommendedplaylists.md): Return playlist recommendations for a user Based on onboarding tags and default to group tags • [GetRecommendedStations](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-recommendations/getrecommendedstations.md): Retrieve personalized station recommendations for a user based on their onboarding tags. Users can easily discover relevant stations tailored to their interests, enhancing their overall listening experience. • [Updatecontentlanguages](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-recommendations/updatecontentlanguages.md): Update User Content Languages Content Languages are the language of performance. This sets the preferred content language for the user. A geographical use case may be best represented by an application in India, where over 20 content languages may exist and be preferred by users. • [GetArtistIqRecommendations (copy)](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-recommendations/getartistiqrecommendations-copy.md): Retrieves artist recommendations based on the user's profile and listening history. • [GetTrackIqRecommendations](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-recommendations/gettrackiqrecommendations.md): Retrieves track recommendations for a user based on the user's profile and listening history. • [Addreferralcode](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-account-payment-subs/addreferralcode.md): Add a user referral code • [Getsubscriptions](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-account-payment-subs/getsubscriptions.md): Get active subscriptions for specified user • [Redeemvoucher](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-account-payment-subs/redeemvoucher.md): Redeem a voucher If you are using native In App payments, you should not allow vouchers. If you allow an in App payment user to redeem a voucher, their In App subscription will be deleted from the Tuned System.Suggested workflow is to check the user is not on an In App payment and if they are, do not allow a voucher to be redeemed. When a voucher is redeemed by using this API, the users subscription is automatically extended. There is no need to send a tConnect API call to update the subscription. • [Requestcancelsubscription](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-account-payment-subs/requestcancelsubscription.md): Request for subscription cancelled. Request for subscription cancelled for logged in user. Used in Telco implementations where a response is required within this API externally. Contact Tuned for usage / implementation. • [Getlisteningrewardstatus](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-account-payment-subs/getlisteningrewardstatus.md): Get user listening reward information. Note: This must be configured for each client. Discuss your configutration requirements with the Tuned Global team. • [Gettritonad](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-account-payment-subs/gettritonad.md): Returns updated triton specific ad details back to the app. Note: this must be implemented for your service. • [Resetadcount](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-account-payment-subs/resetadcount.md): Reset Ad count. • [Getpaymenthistory](https://docs-api-services.tunedglobal.com/user-and-apps/user/user-account-payment-subs/getpaymenthistory.md): Get payment history • [Getmyactivitystream](https://docs-api-services.tunedglobal.com/user-and-apps/user/getmyactivitystream.md): Return activities for logged in user • [Getuseractivitystream](https://docs-api-services.tunedglobal.com/user-and-apps/user/getuseractivitystream.md): Return activities for supplied userid Display use cases, using the Connect section in the DEMP app. • [Getuserplayusage](https://docs-api-services.tunedglobal.com/user-and-apps/user/getuserplayusage.md): Get user play usage in the last 7 days. • [Verifiedusersbytag](https://docs-api-services.tunedglobal.com/user-and-apps/user/verifiedusersbytag.md): Get all verified users who have matched tags • [Application](https://docs-api-services.tunedglobal.com/user-and-apps/application.md): These APIs are in regards to your applications • [Getthumborlocation](https://docs-api-services.tunedglobal.com/user-and-apps/application/getthumborlocation.md): Gets the thumbor base location. Use this URL to build the image URL as per the image documentation. Detailed documentation on usage is available [here.](https://app.theneo.io/tuned-global/metadata/image-engine) • [Granturl](https://docs-api-services.tunedglobal.com/user-and-apps/application/granturl.md): This is the URL for the Authorisation Service. Used for getting tokens required for use of this API • [Testconnection](https://docs-api-services.tunedglobal.com/user-and-apps/application/testconnection.md): Test connection Use this API for monitoring services • [Getpacemakerurl](https://docs-api-services.tunedglobal.com/user-and-apps/application/getpacemakerurl.md): Gets the thumbor base location. This is a Deprecated API, do not use • [Checkversion](https://docs-api-services.tunedglobal.com/user-and-apps/application/checkversion.md): The Checkversion section allows users to retrieve information about the current version of the application, including the minimum allowed version, OS requirements, and update details. By accessing this endpoint, users can ensure their application is up-to-date and meets the necessary compatibility standards for optimal performance. This information is entered in AutoTune and will be relevant for your own application. You can use the returned information to suggest people upgrade or force an upgrade if that is what you program in your application. • [Getalltranslations](https://docs-api-services.tunedglobal.com/user-and-apps/application/getalltranslations.md): Get all translation keys and values assigned to this Service via backend and the AutoTune CMS Note: This does not include the broader translations used in the applications (if you are using a Tuned Global whitelabel solution). Those translations are managed by another system and Tuned can advise • [Getappimages](https://docs-api-services.tunedglobal.com/user-and-apps/application/getappimages.md): Get app images for keys. These images are uploaded via AutoTune (CMS). Usage example: Within Tuned whitelabel solutions these are used for paywall background image, initial app tour images, subscription plans header image and login image. Using this methodology, you can change these images without a new app build. • [GetApplicationSettings](https://docs-api-services.tunedglobal.com/user-and-apps/application/getapplicationsettings.md): Retrieve the detailed configuration settings of a specific application, including playback restrictions, audio quality options, and social media links. This allows users to access and manage key application parameters to customize the user experience and maintain consistent branding across platforms. • [ValidateStoreKey](https://docs-api-services.tunedglobal.com/user-and-apps/settings/groups/validatestorekey.md): Use this section to verify the authenticity and validity of a store key within your group configurations. It enables you to confirm that the provided key is correctly associated and authorized, ensuring secure and reliable access to group-specific services. • [Createshadowqueue](https://docs-api-services.tunedglobal.com/play-and-logging/shadowqueue/createshadowqueue.md): Creates a shadow queue. • [AddTracks](https://docs-api-services.tunedglobal.com/play-and-logging/shadowqueue/addtracks.md): Add tracks to a shadow queue. • [Getplayremaining](https://docs-api-services.tunedglobal.com/play-and-logging/play/getplayremaining.md): Get Play Remaining for Current User. Note: Used where a user has a restricted service based on their current rights within their package. Eg. User is allowed X plays per month without a subscription. • [Playsbydevice](https://docs-api-services.tunedglobal.com/play-and-logging/play/playsbydevice.md): Retrieve the play history for a single device for the logged in user. • [Log play](https://docs-api-services.tunedglobal.com/play-and-logging/play/log-play.md): Log a play for the specified track by the current user. A typical Play log has the following PlayLogType sequence Plain text LogPlayType:Start, Seconds: 0 LogPlayType:Progress, Seconds: 30 LogPlayType:End, Seconds: 167 (total song duration) LogPlayType:Skip, Seconds: 19 (Point at which the track was skipped) LogPlayType:Start, Seconds: 0 LogPlayType:Progress, Seconds: 30 LogPlayType:End, Seconds: 167 (total song duration) LogPlayType:Skip, Seconds: 19 (Point at which the track was skipped) This API is used for reporting plays for licensing reporting and analytics. Consult with Tuned Global to ensure you are logging the correct actions for your Rights Holder Agreements. This API is for logging a single action. Server-Side Timestamping (play_datetime) and Apparent Overlaps: • Every log/play call is timestamped by the server when it finishes processing the request, not by the device. • Packets travel over variable user networks and are load-balanced across 50-100 servers. • A busy server may hold an event in its local queue while another server stamps the next event immediately. • Most queue delays are well under 1-2 s, but in rare peak-traffic or retry scenarios they can reach 15–20 seconds. • Result: the end of Track A can be stamped a few seconds after the start of Track B, so raw timestamps may appear to overlap even though playback on the device was strictly sequential. • Use GUID and the ordered start/end event pairs—rather than assuming perfect timestamp order—to reconstruct the true listening timeline. • [Logofflineplays](https://docs-api-services.tunedglobal.com/play-and-logging/play/logofflineplays.md): Log plays that happened while the user was offline. This API is used for reporting plays for licensing reporting and analytics. Consult with Tuned Global to ensure you are logging the correct actions for your Rights Holder Agreements. This API is for logging multiple plays (a batch of plays) and most often used when plays have occurred when the user is offline and then logged when the user is back online. Use Logofflineplays for logging multiple actions and tracks. Note: This creates a log for reporting or analytical purposes • [Playhistory](https://docs-api-services.tunedglobal.com/play-and-logging/play/playhistory.md): Retrieve the play history for the logged in user • [Logliveplay](https://docs-api-services.tunedglobal.com/play-and-logging/play/logliveplay.md): Log the play of a live event for the current user. Note: This creates a log for reporting or analytical purposes • [Streamtoken](https://docs-api-services.tunedglobal.com/play-and-logging/play/streamtoken.md): Request the security token required to perform a stream • [Logdownload](https://docs-api-services.tunedglobal.com/play-and-logging/play/logdownload.md): Log the download of tracks for the current user. Note: This creates a log for reporting or analytical purposes • [Streamlocation](https://docs-api-services.tunedglobal.com/play-and-logging/play/streamlocation.md): Prepare a stream URL from the CDN for the specified song for the logged in user. • [Get podcast stream URL](https://docs-api-services.tunedglobal.com/play-and-logging/play/get-podcast-stream-url.md): Returns a stream location URL for the specified podcast episode for the currently logged-in user.