All API requests must include a valid API key in the Authorization header. Keys are scoped per game and can be managed in your partner dashboard.
API Key Format
Cerberus API keys follow the format crb_{env}_{24-char-token}. Live keys begin with crb_live_; sandbox keys with crb_test_.
crb_live_k9mR2xQpLvN7wBsT4hJcYd
crb_live_ key in client-side code or public repositories. Use sandbox keys during development. Rotate compromised keys immediately in the partner dashboard.Check system health and per-region API availability.
Returns real-time health status for all Cerberus subsystems and regional API clusters. No authentication required.
A session represents a single protected match or gameplay interval. The SDK calls these endpoints automatically — you only need the REST API if you manage sessions server-side.
Creates a new monitoring session for a player. Returns a session ID that must be passed to /sessions/end when the match concludes.
| Body parameter | Type | Description |
|---|---|---|
| player_id required | string | Platform-specific player identifier (e.g. Steam64 ID, Xbox PUID). |
| match_id required | string | Your game's unique match or lobby identifier. |
| region optional | string | Server region for latency routing. One of: us-east, eu-west, ap-southeast. Defaults to nearest. |
| mode optional | string | Monitoring intensity: standard or ranked. Ranked enables 2x AI sampling rate. |
Ends an active session and returns a summary including scan count, flags raised, and final player status. Always call this when a match ends — orphaned sessions auto-expire after 2 hours.
| Body parameter | Type | Description |
|---|---|---|
| session_id required | string | The session ID returned by /sessions/start. |
| match_outcome optional | string | Final match result for AI baseline calibration: win, loss, draw. |
Query, issue, and revoke bans. All ban records include a confidence score and the detection layer that triggered the ban. Bans with confidence ≥ 0.95 are issued automatically; lower scores go to manual review.
Returns a paginated list of bans for your game, sorted by most recent first. Use query parameters to filter by player, reason, or date range.
| Query parameter | Type | Description |
|---|---|---|
| page optional | integer | Page number, 1-indexed. Default: 1. |
| limit optional | integer | Results per page. Max: 100. Default: 20. |
| player_id optional | string | Filter by exact player ID. |
| reason optional | string | Filter by ban reason: AIMBOT, DMA, INJECTION, WALLHACK, SPEED. |
| since optional | ISO 8601 | Only return bans after this timestamp. |
Manually issue a ban. This is for server-side enforcement (e.g., banning a player based on your own game reports). Cerberus records the ban, propagates it across regions, and fires the ban.created webhook.
| Body parameter | Type | Description |
|---|---|---|
| player_id required | string | Player to ban. |
| reason required | string | Ban reason code. |
| note optional | string | Internal note visible to your team in the partner dashboard. |
| duration_hours optional | integer | Ban duration in hours. Omit for permanent. |
Revokes an existing ban. Only manually issued bans and appealed auto-bans can be revoked via API. Revoking an auto-ban requires bans:revoke scope on your API key. Fires the ban.revoked webhook.
Raw detection events from all four Cerberus heads. Each detection includes a confidence score, the triggering head, and structured evidence metadata.
Returns recent detection events across all players in your game. Includes sub-ban-threshold flags (confidence < 0.95) that did not result in automatic bans. Use this to monitor your detection pipeline and tune alert thresholds.
| Query parameter | Type | Description |
|---|---|---|
| limit optional | integer | Max results. Default: 50, Max: 200. |
| head optional | string | Filter by detection layer: KERNEL, AI, HW, NET. |
| min_confidence optional | float | Minimum confidence threshold (0.0–1.0). Default: 0.30. |
Register HTTPS endpoints to receive real-time event notifications. Cerberus signs every payload with HMAC-SHA256 using your webhook secret. Verify the X-Cerberus-Signature header on every delivery.
Returns all webhook endpoints registered for your game.
Registers a new webhook endpoint. Cerberus will immediately send a test ping to verify the URL is reachable. Store the returned signing_secret securely — it is only shown once.
| Body parameter | Type | Description |
|---|---|---|
| url required | string | HTTPS endpoint URL. Must return 2xx within 5 seconds. |
| events required | string[] | Event types to subscribe to. Use ["*"] for all events. |
| description optional | string | Internal label for this endpoint. |
Permanently removes a webhook endpoint. In-flight deliveries may still complete. No further events will be dispatched after deletion.
The Cerberus SDK wraps the REST API for in-process use. It manages authentication, session lifecycle, and callbacks. The REST API is available for server-side integrations where the SDK cannot run.