Activity API
POST /v1/activity
Section titled “POST /v1/activity”Set the current activity for a player. Used for Rich Presence features and live activity dashboards.
Auth: x-game-api-key header
curl -X POST https://api.questdata.io/v1/activity \ -H "Content-Type: application/json" \ -H "x-game-api-key: YOUR_API_KEY" \ -d '{ "player_id": "player-123", "session_id": "sess-abc", "activity": "Playing Level 5", "details": { "level": 5, "character": "warrior", "health": 85 } }'Request Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
player_id | string | Yes | Player identifier |
session_id | string | No | Current session ID |
activity | string | Yes | Activity description |
details | object | No | Structured activity data |
Response (200)
Section titled “Response (200)”{ "success": true }DELETE /v1/activity
Section titled “DELETE /v1/activity”Clear a player’s current activity (e.g. when they go offline or to a menu).
Auth: x-game-api-key header
curl -X DELETE https://api.questdata.io/v1/activity \ -H "Content-Type: application/json" \ -H "x-game-api-key: YOUR_API_KEY" \ -d '{"player_id": "player-123"}'Request Body
Section titled “Request Body”| Field | Type | Required | Description |
|---|---|---|---|
player_id | string | Yes | Player identifier |
Response
Section titled “Response”204 No Content
GET /v1/activity/live
Section titled “GET /v1/activity/live”Fetch all currently active players for a game. Used by the Live Activity dashboard.
Auth: JWT Bearer (dashboard)
curl "https://api.questdata.io/v1/activity/live?game_id=GAME_ID" \ -H "Authorization: Bearer YOUR_JWT"Response (200)
Section titled “Response (200)”[ { "player_id": "player-123", "activity": "Playing Level 5", "details": { "level": 5, "character": "warrior" }, "updated_at": "2026-04-08T14:30:00Z" }]