Reporting and Banning Players
GamerSafer allows you to ban players from your guild and submit reputation reports tied to a player's verified identity. Because reports are anchored to biometric data — not just an account — bans survive account deletion requests and block evasion via alternative accounts.
Flow Overview
flowchart TD
A([Infraction detected]) --> B{Warrants a ban?}
B -- Yes --> C["Ban guild member via API\nPOST /guilds/members/{guildMemberId}/bans"]
C --> D["Submit report\nPOST /integrations/reports"]
B -- No --> D
D --> E([Report stored against verified identity])
E --> F{Player requests account deletion?}
F -- Yes --> G[GamerSafer retains reports\nfor legal compliance]
F -- No --> H([Reports available for future enforcement\nacross any account])Why Submit Both a Ban and a Report?
- Banning removes the player from your guild and prevents rejoining via the same account.
- Reporting ties the infraction to the player's verified identity. If the player deletes their GamerSafer account (which GamerSafer is legally required to allow upon request), the report record is retained — so your platform's enforcement history is not lost and can be used to block the player from creating a new account.
Step 1 — Ban the Guild Member
If the infraction warrants removal, call:
POST /guilds/members/{guildMemberId}/bans HTTP/1.1
Host: api.gamersafer.com
Authorization: Bearer <GUILD_TOKEN>
Content-Type: application/jsonUse the guildMemberId you stored when the player joined your guild (received via the guildInvite webhook).
Step 2 — Submit a Report
After banning — or independently for infractions that don't require a ban — submit a report to the Integrations API:
POST /integrations/reports HTTP/1.1
Host: api.gamersafer.com
Authorization: Bearer <GUILD_TOKEN>
Content-Type: application/json
{
"action": "BAN",
"category": "HOSTILITY",
"platform": "PC",
"gamePlayerId": "your-internal-player-id",
"staffGamePlayerId": "moderator-internal-id",
"scope": "USER",
"isUnder18Involved": "I_DONT_KNOW",
"description": "Player used offensive language and threatened other players."
}Key Fields
| Field | Required | Description |
|---|---|---|
action | Yes | What action was taken. See enums below |
category | Yes | Type of infraction. See enums below |
platform | Yes | Platform where the infraction occurred |
gamePlayerId | Yes | Your internal ID for the offending player |
staffGamePlayerId | Yes | Your internal ID for the moderator performing the action |
scope | No | Scope of the enforcement (USER, IP, HWID) |
guildMemberId | No | GamerSafer member ID of the offending player |
description | No | Free-text description of the incident |
Response:
{
"id": "7d67b996-ddc0-4584-b78c-359671d7b8fd"
}Note: when a report is created, a history entry of type OPEN is automatically created for it.
Enums
ReportActionsEnum
REPORTWARNKICKMUTEUNMUTEBANUNBANNOTEREMOVE_NOTEREMOVE_WARN
ReportCategoriesEnum
OTHERHOSTILITYTHREATSHATE_SPEECHHARASSMENTEXPLICIT_CONTENTPROMOTION
ReportScopeEnum
USERIPHWID
ReportPlatformEnum
STEAMDISCORDXBOXGOGPCPLAYSTOREAPPSTOREPLAYSTATIONNINTENDO
ReportIsUnder18InvolvedEnum
YESNOMAYBEI_DONT_KNOW