All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.com.adamratzman.spotify.SpotifyScope.kt Maven / Gradle / Ivy

/* Spotify Web API, Kotlin Wrapper; MIT License, 2017-2022; Original author: Adam Ratzman */
package com.adamratzman.spotify

/**
 * Scopes provide Spotify users using third-party apps the confidence
 * that only the information they choose to share will be shared, and nothing more.
 *
 * Each represents a distinct privilege and may be required by one or more endpoints as discussed
 * on the [Spotify Authorization Documentation](https://developer.spotify.com/documentation/general/guides/scopes/)
 *
 * @param uri The scope id
 */
public enum class SpotifyScope(public val uri: String) {
    /**
     * Remote control playback of Spotify. This scope is currently available to Spotify iOS and Android App Remote SDKs.
     *
     * **Visible to users**: Communicate with the Spotify app on your device.
     */
    AppRemoteControl("app-remote-control"),

    /**
     * Read access to user's private playlists.
     *
     * **Visible to users**: Access your private playlists.
     */
    PlaylistReadPrivate("playlist-read-private"),

    /**
     * Include collaborative playlists when requesting a user's playlists.
     *
     * **Visible to users**: Access your collaborative playlists.
     */
    PlaylistReadCollaborative("playlist-read-collaborative"),

    /**
     * Write access to a user's public playlists.
     *
     * **Visible to users**: Manage your public playlists.
     */
    PlaylistModifyPublic("playlist-modify-public"),

    /**
     * Write access to a user's private playlists.
     *
     * **Visible to users**: Manage your private playlists.
     */
    PlaylistModifyPrivate("playlist-modify-private"),

    /**
     * Control playback of a Spotify track. This scope is currently available to Spotify Playback SDKs, including the iOS SDK, Android SDK and Web Playback SDK. The user must have a Spotify Premium account.
     *
     * **Visible to users**: Play music and control playback on your other devices.
     */
    Streaming("streaming"),

    /**
     * Let the application upload playlist covers and profile images
     *
     * **Visible to users**: Upload images to personalize your profile or playlist cover
     */
    UgcImageUpload("ugc-image-upload"),

    /**
     * Write/delete access to the list of artists and other users that the user follows.
     *
     * **Visible to users**: Manage who you are following.
     */
    UserFollowModify("user-follow-modify"),

    /**
     * Read access to the list of artists and other users that the user follows.
     *
     * **Visible to users**: Access your followers and who you are following.
     */
    UserFollowRead("user-follow-read"),

    /**
     * Read access to a user's "Your Music" library.
     *
     * **Visible to users**: Access your saved tracks and albums.
     */
    UserLibraryRead("user-library-read"),

    /**
     * Write/delete access to a user's "Your Music" library.
     *
     * **Visible to users**: Manage your saved tracks and albums.
     */
    UserLibraryModify("user-library-modify"),

    /**
     * Write access to a user’s playback state
     *
     * **Visible to users**: Control playback on your Spotify clients and Spotify Connect devices.
     */
    UserModifyPlaybackState("user-modify-playback-state"),

    /**
     * Read access to user’s subscription details (type of user account).
     *
     * **Visible to users**: Access your subscription details.
     */
    UserReadPrivate("user-read-private"),

    /**
     * Read access to user’s email address.
     *
     * **Visible to users**: Get your real email address.
     */
    UserReadEmail("user-read-email"),

    /**
     * Read access to a user's top artists and tracks.
     *
     * **Visible to users**: Read your top artists and tracks.
     */
    UserTopRead("user-top-read"),

    /**
     * Read access to a user’s player state.
     *
     * **Visible to users**: Read your currently playing track and Spotify Connect devices information.
     */
    UserReadPlaybackState("user-read-playback-state"),

    /**
     * Read access to a user’s playback position in a content.
     *
     * **Visible to users**: Read your position in content you have played.
     */
    UserReadPlaybackPosition("user-read-playback-position"),

    /**
     * Read access to a user’s currently playing track
     *
     * **Visible to users**: Read your currently playing track
     */
    UserReadCurrentlyPlaying("user-read-currently-playing"),

    /**
     * Read access to a user’s recently played tracks.
     *
     * **Visible to users**: Access your recently played items.
     */
    UserReadRecentlyPlayed("user-read-recently-played");
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy