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/json

Use 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

FieldRequiredDescription
actionYesWhat action was taken. See enums below
categoryYesType of infraction. See enums below
platformYesPlatform where the infraction occurred
gamePlayerIdYesYour internal ID for the offending player
staffGamePlayerIdYesYour internal ID for the moderator performing the action
scopeNoScope of the enforcement (USER, IP, HWID)
guildMemberIdNoGamerSafer member ID of the offending player
descriptionNoFree-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