spotify_cli/endpoints/player/
transfer_playback.rs

1/// Transfer playback to a new device and optionally begin playback.
2///
3/// See: https://developer.spotify.com/documentation/web-api/reference/transfer-a-users-playback
4use crate::http::api::SpotifyApi;
5use crate::http::client::HttpError;
6use crate::http::endpoints::Endpoint;
7use serde_json::Value;
8
9pub async fn transfer_playback(
10    client: &SpotifyApi,
11    device_id: &str,
12) -> Result<Option<Value>, HttpError> {
13    let body = serde_json::json!({
14        "device_ids": [device_id]
15    });
16    client.put_json(&Endpoint::PlayerState.path(), &body).await
17}