Skip to content
DocumentationAPI Reference

Get Available Devices

me().player().getDevices(PlayerGetDevicesParamsparams = PlayerGetDevicesParams.none(), RequestOptionsrequestOptions = RequestOptions.none()) : PlayerGetDevicesResponse
GET/me/player/devices

Get information about a user’s available Spotify Connect devices. Some device models are not supported and will not be listed in the API response.

ParametersExpand Collapse
params: PlayerGetDevicesParams
ReturnsExpand Collapse
class PlayerGetDevicesResponse:
devices: List<DeviceObject>
id: Optional<String>

The device ID. This ID is unique and persistent to some extent. However, this is not guaranteed and any cached device_id should periodically be cleared out and refetched as necessary.

isActive: Optional<Boolean>

If this device is the currently active device.

isPrivateSession: Optional<Boolean>

If this device is currently in a private session.

isRestricted: Optional<Boolean>

Whether controlling this device is restricted. At present if this is "true" then no Web API commands will be accepted by this device.

name: Optional<String>

A human-readable name for the device. Some devices have a name that the user can configure (e.g. "Loudest speaker") and some devices have a generic name associated with the manufacturer or device model.

published: Optional<Boolean>

The playlist's public/private status (if it should be added to the user's profile or not): true the playlist will be public, false the playlist will be private, null the playlist status is not relevant. For more about public/private status, see Working with Playlists

supportsVolume: Optional<Boolean>

If this device can be used to set the volume.

type: Optional<String>

Device type, such as "computer", "smartphone" or "speaker".

volumePercent: Optional<Long>

The current volume in percent.

minimum0
maximum100

Get Available Devices

package dev.cjav.spotted.example

import dev.cjav.spotted.client.SpottedClient
import dev.cjav.spotted.client.okhttp.SpottedOkHttpClient
import dev.cjav.spotted.models.me.player.PlayerGetDevicesParams
import dev.cjav.spotted.models.me.player.PlayerGetDevicesResponse

fun main() {
    val client: SpottedClient = SpottedOkHttpClient.fromEnv()

    val response: PlayerGetDevicesResponse = client.me().player().getDevices()
}
{
  "devices": [
    {
      "id": "id",
      "is_active": true,
      "is_private_session": true,
      "is_restricted": true,
      "name": "Kitchen speaker",
      "published": true,
      "supports_volume": true,
      "type": "computer",
      "volume_percent": 59
    }
  ]
}
Returns Examples
{
  "devices": [
    {
      "id": "id",
      "is_active": true,
      "is_private_session": true,
      "is_restricted": true,
      "name": "Kitchen speaker",
      "published": true,
      "supports_volume": true,
      "type": "computer",
      "volume_percent": 59
    }
  ]
}