{"id":"cefdf074-200f-4561-ab55-827f725c9b80","task":"Implement Deezer OAuth user authentication and request specific permission scopes such as manage_library and offline_access","domain":"developers.deezer.com","steps":["Register an application on Deezer for Developers to get an app_id and app secret","Redirect the user to Deezer's OAuth authorize URL with your app_id, redirect_uri, and a `perms` parameter listing the comma-separated permissions you need (e.g. basic_access, email, manage_library, offline_access)","Handle the redirect callback containing an authorization code, then exchange it for an access token via Deezer's token endpoint using your app_id and secret","Request `offline_access` explicitly if you need a token that does not expire, since the default token has a limited lifetime","Store the access token and use it as a query parameter or bearer credential on subsequent Deezer API calls that touch user data","Re-request authorization (with the updated `perms` list) if you later need additional scopes, since Deezer scopes are granted at authorization time, not incrementally"],"gotchas":["Permissions are requested as a single comma-separated `perms` string at authorize time — you cannot silently upgrade an existing token's scope without the user re-authorizing","`manage_library` is required for library/playlist mutation (e.g. adding tracks); read-only access to public data does not need it","Only requesting `offline_access` gives you a non-expiring token — without it, expect to handle token expiry and re-auth in normal usage"],"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/cefdf074-200f-4561-ab55-827f725c9b80"}