Bans are the core enforcement mechanism in Sentinel Network. They record violations against devices and feed into the reputation scoring system.

Ban Types

Every ban has a ban_type that categorizes the violation: Cheat and social bans are tracked independently — a device can have a clean cheat record but a poor social reputation, or vice versa.

Ban Scopes

Each ban has a scope that determines its reach:
Global bans require the bans:global scope in addition to bans:write. This is a safety measure to prevent accidental network-wide bans.

Scope Visibility

Publishers control which scopes they enforce via their policy configuration. A publisher can opt out of enforcing global bans while still contributing to the global reputation pool.

Creating a Ban

Ban Lifecycle

  • Active: The ban is currently enforced. revoked_at is null and either expires_at is null or in the future.
  • Expired: The current time has passed expires_at. The ban becomes inactive automatically.
  • Revoked: A publisher has explicitly revoked the ban. revoked_at is set.
Inactive bans (expired or revoked) remain in the database for audit purposes and still appear when listing bans with status=inactive or status=all.

Idempotency

The idempotency_key field prevents duplicate bans from the same publisher and game combination. If a ban with the same key already exists:
  • The existing ban is returned
  • The response status is "idempotent_ok" instead of "created"
  • No new ban is inserted
This is useful when retrying requests after network failures.

Listing Bans

Bans are listed per device and per type using keyset pagination:

Pagination

The API uses keyset pagination based on ban_id:
  • Results are ordered by ban_id descending (newest first)
  • Use the cursor query parameter with the last ban_id from the previous page
  • The response includes total counts across all pages

Status Filter

Revoking a Ban

Revoking a ban marks it as inactive immediately and triggers a reputation score recalculation. See Reputation Updates for notes on propagation timing.