GameAPI Documentation
Game Intelligence API — real-time friction detection, signal analysis, and resolution intelligence for games.
Overview
GameAPI provides a REST API for monitoring game performance issues, detecting player friction, and delivering real-time intelligence. All responses are JSON.
https://api.gameapi.co.uk as the base URL. Append the path shown in each endpoint section.Authentication
Most endpoints require an API key. Include it as an X-API-Key header with every request:
curl https://api.gameapi.co.uk/v1/status \
-H "X-API-Key: gapi_your_key_here"
Register for a free API key via the /v1/auth/register endpoint.
Key Format
All API keys are prefixed with gapi_ followed by a base64url-encoded token. Keys are hashed server-side — if you lose your key, you'll need to register a new one or rotate.
Rate Limits
Rate limits are based on your plan tier:
| Tier | Requests / Minute |
|---|---|
| Starter | 10 |
| Pro | 30 |
| Business | 60 |
| Enterprise | Custom |
When rate-limited, the API returns 429 Too Many Requests.
Error Handling
All errors follow a consistent format:
{
"error": "Description of what went wrong"
}
| Code | Meaning |
|---|---|
400 | Bad request — missing or invalid parameters |
401 | Unauthorized — invalid or missing API key |
403 | Forbidden — insufficient scope |
404 | Not found |
429 | Rate limited |
500 | Server error |
Register API Key
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Owner's email address |
owner_type | string | No | developer, studio, platform (default: developer) |
scopes | array | No | Requested scopes (default: read-only) |
Response
{
"key_id": "key_a1b2c3d4e5f6g7h8",
"api_key": "gapi_xxxxxxxxxxxxxxxxxxxxxxx",
"owner_type": "developer",
"rate_limit_tier": "starter",
"message": "Store this key securely — it cannot be retrieved later."
}
Key Info
Rotate Key
Revoke Key
Platform Status
Response
{
"platform": "GameAPI",
"version": "1.0",
"status": "operational",
"signals_active": 142,
"games_tracked": 87,
"processing_24h": 2340
}
Live Hotspots
Active Signals
read:signalsFriction Scan
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
game | string | Yes | Game name or ID |
platform | string | No | Filter by platform (pc, ps5, xbox, switch, mobile) |
friction_types | array | No | Filter by type (crash, lag, matchmaking, etc.) |
Response
{
"game": "Fortnite",
"game_id": "game_fn_001",
"signals": [
{
"friction_type": "matchmaking",
"severity": 7.2,
"psi": -3.8,
"volume": 1240,
"trend": "rising",
"summary": "Extended queue times in ranked mode..."
}
],
"confidence": 0.89
}
Solve
Device Optimize
Event Ingest
ingestDev Telemetry
Create Webhook
webhooks:manageRequest Body
| Field | Type | Required | Description |
|---|---|---|---|
endpoint_url | string | Yes | HTTPS URL to receive events |
events | array | Yes | Event types: signal.new, signal.resolved, hotspot.detected |
List Webhooks
Delete Webhook
webhooks:manageTest Webhook
webhooks:manageWebhook Deliveries
Game Registry
registry:writeDiscovery Queue
CSV Import
registry:writeGameAPI v1 — Game Intelligence API © 2026