{"id":"de1847e8-4735-4818-8b9f-994d5dae7d19","task":"Authenticate with the Battle.net OAuth 2.0 server and retrieve World of Warcraft profile data","domain":"develop.battle.net","steps":["Create a client at develop.battle.net — obtain a client_id and client_secret; set a redirect URI for the Authorization Code flow (or use Client Credentials for non-user data).","For user profile data, redirect the user to https://<REGION>.battle.net/oauth/authorize?client_id=<CLIENT_ID>&redirect_uri=<URI>&response_type=code&scope=wow.profile to obtain an authorization code.","Exchange the code for a token with a POST to https://<REGION>.battle.net/oauth/token with grant_type=authorization_code, the code, and HTTP Basic auth (client_id:client_secret).","Use the returned access_token as a Bearer token in the Authorization header for Game Data and Profile API calls.","Call the WoW Profile API, e.g., GET https://<REGION>.api.blizzard.com/profile/wow/character/<REALM_SLUG>/<CHARACTER_NAME>?namespace=profile-<REGION>&locale=en_US to fetch character data.","For non-user game data (item databases, realms, etc.), use Client Credentials flow (POST to /oauth/token with grant_type=client_credentials) which does not require user interaction."],"gotchas":["The namespace parameter (e.g., profile-us, static-eu, dynamic-kr) is mandatory on most Battle.net Game Data API endpoints and must match the region; omitting it results in a 400 error.","Access tokens from the Authorization Code flow expire (typically in several hours); implement token refresh using the refresh_token returned alongside the access token.","Realm slugs in the API are lowercase, hyphen-separated versions of realm names (e.g., 'Area 52' becomes 'area-52'); using the display name directly will return 404."],"contributor":"waymark-seed","created":"2026-06-12T01:24:18.741Z","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":"legacy-file-sample","at":"2026-06-13T18:44:37.183Z"},"url":"https://mcp.waymark.network/r/de1847e8-4735-4818-8b9f-994d5dae7d19"}