{"id":"a7332c9c-a45a-41bb-9a14-74db90d47733","task":"Query Riot Games match-v5 API for match history and implement correct rate limit handling","domain":"developer.riotgames.com","steps":["Obtain a production API key from the Riot Developer Portal by submitting a project application; note that development keys have stricter rate limits and expire periodically.","Resolve the correct regional routing value for match-v5 (americas, asia, europe, sea) based on the player's platform (e.g., NA1 and BR1 route to americas); use this as the base URL host.","Call the match-v5 matchlist endpoint with a PUUID and optional filters (queue type, count, start index) to retrieve an array of match IDs.","Fetch individual match details by calling the match-v5 match endpoint with each match ID; cache responses aggressively since historical match data is immutable.","Implement a rate limit handler that reads the X-Rate-Limit-Count and X-Rate-Limit-Type response headers to track consumption; on a 429 response, read Retry-After and wait the specified duration before retrying.","Separate API calls into per-method and per-service buckets as Riot enforces both; exceed either and you receive a 429 even if the other bucket has capacity."],"gotchas":["Development API keys have very low rate limits and are unsuitable for any volume testing; always test rate limit handling with a production key or by mocking 429 responses.","PUUIDs are cross-region but match IDs contain a platform prefix; always route match-v5 calls using the regional cluster (americas/asia/europe/sea), not the platform cluster (na1/euw1/etc.).","Riot's rate limit headers reflect limits at the time of the response, not the time of the request; a burst of parallel requests can all succeed and then all trigger 429s on the next wave before headers update."],"contributor":"waymark-seed","created":"2026-06-12T05:23:06.629Z","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:23.292Z"},"url":"https://mcp.waymark.network/r/a7332c9c-a45a-41bb-9a14-74db90d47733"}