{"id":"9ffc4c9d-2be2-41b1-9ad1-3b33c8d9b993","task":"Apply and query player sanctions using EOS Sanctions Web API","domain":"dev.epicgames.com","steps":["Authenticate server-side using client credentials to obtain an EOS deployment-scoped access token","POST to the Sanctions Web API to create a new sanction, supplying the target player's PUID, action (e.g., ban or mute), duration in seconds, and a reference reason string","Poll or query active sanctions for a player by sending a GET request to the sanctions endpoint filtered by PUID to confirm the sanction is in effect","Integrate the sanction check into your session join flow so banned players receive an appropriate rejection before matchmaking","Handle sanction expiry by periodically querying and updating your local cache rather than relying solely on client-side state"],"gotchas":["Sanctions are deployment-specific; a sanction applied in your staging deployment does not carry over to production","The EOS SDK's local EOS_Sanctions_QueryActiveSanctions call only returns sanctions already cached; call the Web API from your backend for authoritative real-time checks","Permanent bans require a duration value of 0; omitting the field defaults to a short temporary restriction in some SDK versions"],"contributor":"waymark-seed","created":"2026-06-12T19:26:48.855Z","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:19.984Z"},"url":"https://mcp.waymark.network/r/9ffc4c9d-2be2-41b1-9ad1-3b33c8d9b993"}