https://api.dev.bifrostgaming.com/v1/graphqlpartnerGetLiveServerData
v1Returns real-time live match data for a specific server, including current map, scores, time remaining, and all connected players with their stats. Data is sourced from the live game state and is updated approximately every 15 seconds by the RCON data collection worker.
Operation Type
Query
Rate Limit: No rate limit (testing)
Rate limiting is currently disabled during the testing phase. This will be enforced in production. We recommend polling no more frequently than once every 3 minutes.
Important usage notes
- This endpoint does NOT require an encrypted payload. Pass your partnerId and partnerEncryptionKey directly as query variables.
- Returns null (not an error) if the server ID does not exist, is inactive, or has no live match data.
- Data is sourced from the live Redis game state, updated approximately every 15 seconds by the RCON worker.
- The faction field returns the actual faction name (e.g. "USA", "Germany", "Soviets", "UK") based on the current map, while team returns "Allies" or "Axis".
- We recommend polling no more frequently than once every 3 minutes per server.
- Use partnerGetLiveServerIds first to discover available server IDs, then call this endpoint for each server you want to monitor.
- Rate limiting is currently disabled during the testing phase.
Input Fields
| Field | Type | Required | Description |
|---|---|---|---|
partnerId | String! | Required | Your unique partner identifier, provided when your partner account was created. |
partnerEncryptionKey | String! | Required | Your partner encryption key (Base64-encoded). Used to verify your identity. |
serverId | String! | Required | The UUID of the server to fetch live data for. Obtain server IDs from partnerGetLiveServerIds. |
Code Examples
# Get live data for a specific server
curl -X POST https://api.dev.bifrostgaming.com/v1/graphql \
-H "Content-Type: application/json" \
-d '{
"query": "query PartnerGetLiveServerData($partnerId: String!, $partnerEncryptionKey: String!, $serverId: String!) { partnerGetLiveServerData(partnerId: $partnerId, partnerEncryptionKey: $partnerEncryptionKey, serverId: $serverId) { serverId serverName updatedAt timeRemainingSeconds currentMapRcon currentMapFriendly totalPlayers alliedScore axisScore players { playerId playerName team faction kills deaths teamkills combat offensive defensive support } } }",
"variables": {
"partnerId": "your-partner-id",
"partnerEncryptionKey": "your-base64-encryption-key",
"serverId": "f90167a4-6b2f-4a3d-bb1c-aee247041afb"
}
}'Postman Collection
Download a ready-to-use Postman collection for this endpoint. Import it into Postman to start testing immediately.
How to import into Postman
- Open Postman and click Import (top-left)
- Drag and drop the downloaded
.jsonfile, or click Upload Files and select it - Click Import to confirm
- The collection appears in your sidebar — expand it and select the request
- In the Body tab, update the placeholder values (
your-partner-id, etc.) with your actual credentials - Click Send
The collection uses Postman's GraphQL body type, which provides syntax highlighting and variable editing. Make sure your Postman version is 7.2+ for GraphQL support.
Success Response200
{
"data": {
"partnerGetLiveServerData": {
"serverId": "f90167a4-6b2f-4a3d-bb1c-aee247041afb",
"serverName": "79th ID | New Players Welcome | discord.gg/79th",
"updatedAt": "2026-03-30T08:58:22Z",
"timeRemainingSeconds": 3989,
"currentMapRcon": "kursk_warfare",
"currentMapFriendly": "Kursk (Day)",
"totalPlayers": 98,
"alliedScore": 1,
"axisScore": 4,
"players": [
{
"playerId": "e993f1cecdc1ea3dc1494d01ab40496c",
"playerName": "Mr Swein",
"team": "Axis",
"faction": "Germany",
"kills": 15,
"deaths": 3,
"teamkills": 0,
"combat": 144,
"offensive": 0,
"defensive": 380,
"support": 150
},
{
"playerId": "730f28322a6dee466512006e0e5caae3",
"playerName": "SpaceAcid_SW",
"team": "Allies",
"faction": "Soviets",
"kills": 2,
"deaths": 4,
"teamkills": 0,
"combat": 19,
"offensive": 220,
"defensive": 140,
"support": 85
}
]
}
}
}Error Responses
Response Fields
| Field | Type | Required | Description |
|---|---|---|---|
serverId | String | Required | The server UUID. |
serverName | String | Required | The friendly display name of the server. |
updatedAt | String | Required | ISO 8601 timestamp of when the game state was last updated. |
timeRemainingSeconds | Int | Optional | Seconds remaining in the current match. May be null if not available. |
currentMapRcon | String | Required | The RCON identifier for the current map (e.g. "kursk_warfare"). |
currentMapFriendly | String | Required | Human-readable map name (e.g. "Kursk (Day)"). |
totalPlayers | Int | Required | Total number of players currently connected to the server. |
alliedScore | Int | Required | Current score for the Allied team. |
axisScore | Int | Required | Current score for the Axis team. |
players | [PartnerLivePlayer] | Required | Array of all connected players with their current stats. |
players[].playerId | String | Required | Unique player identifier (Steam ID or platform ID). |
players[].playerName | String | Required | Current in-game display name of the player. |
players[].team | String | Required | The team the player is on: "Allies" or "Axis". |
players[].faction | String | Required | The faction name for the player's team (e.g. "USA", "Germany", "Soviets", "UK"). |
players[].kills | Int | Required | Infantry kills in the current match. |
players[].deaths | Int | Required | Deaths in the current match. |
players[].teamkills | Int | Required | Team kills (friendly fire) in the current match. |
players[].combat | Int | Required | Combat score in the current match. |
players[].offensive | Int | Required | Offensive score in the current match. |
players[].defensive | Int | Required | Defensive score in the current match. |
players[].support | Int | Required | Support score in the current match. |