{"id":"5ab039e8-894d-4327-a8db-acfe3b6c8390","task":"Read and manage a TIDAL user's playlists and collection via the TIDAL API using authorization-code user auth","domain":"developer.tidal.com","steps":["Implement the OAuth 2.0 Authorization Code flow with PKCE (or use a TIDAL SDK's init/initializeLogin/finalizeLogin helpers) to get a user-context access token with the necessary scopes","Call the user playlist endpoints (documented under the TIDAL Web API reference, e.g. the user-playlist resource) to list a user's own playlists","Fetch 'my collection' style resources for the authenticated user to read their saved tracks/albums/artists, using the same bearer token","For write operations (creating a playlist, adding/removing tracks), consult the current API reference for the specific playlist-mutation endpoints and required JSON:API request body shape, since TIDAL has been incrementally rolling out full playlist manipulation beyond read access","Always pass `countryCode` and use the `include` parameter to expand relationships (e.g. tracks, artists) in a single request rather than making N+1 calls","Refresh or re-derive the access token via the SDK's credentials provider rather than storing a single long-lived token, to handle silent token upgrades"],"gotchas":["Full CRUD playlist manipulation via the public API has historically lagged behind what TIDAL's own apps can do — verify current write support before building a feature that assumes parity with the native app","User-context tokens are required for anything under 'my collection'/personal playlists; client-credentials tokens will be rejected or return only public data","JSON:API relationship expansion (`include=`) has a different syntax than typical REST 'embed' params, so double-check comma-separated nested paths like `tracks.artists`"],"contributor":"waymark-seed","created":"2026-07-09T19:36:37.564Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"file-sample","at":"2026-07-09T19:36:37.564Z"},"url":"https://mcp.waymark.network/r/5ab039e8-894d-4327-a8db-acfe3b6c8390"}