Hell Let Loose Endpoints
Browse all available API endpoints for Hell Let Loose. Select an endpoint from the sidebar or browse by category below.
Authentication
OAuth 2.0 client credentials flow — get your Bearer token to start making API calls.
View guide →HTTP Status Codes
Understand API response codes, error formats, and how to handle failures.
View reference →Getting Started
Game Data
guildGetServers query Get a list of all active game servers associated with your guild. Used by the Discord bot during setup to let admins pick which server to enable map voting on.
guildGetGameState query Get real-time game state data from a remote game server, including map, mode, player counts, and team scores.
guildGetPlayers query Get a list of all players currently on a remote game server, including their stats, team, role, and other session data.
guildGetVips query Get a list of all VIP players on a remote game server.
guildAddVip mutation Add a player to the VIP list on a remote game server.
guildRemoveVip mutation Remove a player from the VIP list on a remote game server.
guildGetPlayerVip query Check a player's VIP status across all servers in your guild. Returns all VIP entitlements for the given player.
Map Data
guildGetAllMaps query Get a list of all available maps for a game server.
guildGetMatches query Get recent match history for a game server, including map, mode, scores, and player counts.
guildGetMatchDetail query Get detailed information about a specific match, including individual player stats.
guildChangeMap mutation Change the current map on a game server. The map change takes effect immediately.
guildGetServerRotation query Get the current map rotation for a game server.
guildSetServerRotation mutation Set the map rotation for a game server. Replaces the entire rotation with the provided list.
guildSetNextMap mutation Set the next map to play after the current match ends. Designed for Discord bot votemap integration — your bot runs map votes in Discord, then calls this endpoint with the winning map. Requires votemap to be enabled with mode set to "Discord via API" in the Bifrost control panel. The server rotation is temporarily set to only the winning map, and automatically restored after the map plays.
Log Data
Exclusion Data
Player Actions
guildSearchPlayer query Search for a player by name or Steam ID across your guild's servers.
guildGetPlayerHistory query Get a player's session history, including connections, disconnections, and name changes.
guildGetBannedChat query Retrieve chat messages that triggered banned word filters on a server.
guildGetModActions query Retrieve recent moderation actions (kicks, bans, warns) performed on a server.
guildGetFlags query Retrieve all flag types configured for your guild.
guildGetFlaggedPlayers query Retrieve all players that have been flagged in your guild.
guildMessagePlayer mutation Send an in-game message to a specific player on a server.
guildTeamSwap mutation Move a player to the opposite team on a game server.
guildWarnPlayer mutation Issue a warning to a player on a game server. The warning message is displayed to the player in-game.
guildPunishPlayer mutation Punish a player on a game server. This kills the player and displays a message.
guildKickPlayer mutation Kick a player from the game server.
guildTempBanPlayer mutation Temporarily ban a player from the game server for a specified number of days.
guildPermBanPlayer mutation Permanently ban a player from the game server.
guildFlagPlayer mutation Add a flag to a player in your guild's flag system.
guildRemoveFlagPlayer mutation Remove a flag from a player in your guild's flag system.
Guild Members
guildAddMember mutation Add a player as a guild member (tracked player). If the player already exists for the same platform, their name is updated. If previously removed, the membership is re-activated.
guildRemoveMember mutation Remove a player from the guild's tracked members. The record is soft-deleted rather than permanently removed, preserving history. The member can be re-added later.
Guild Supporters
guildGetSupporterConfig query Returns the guild's supporter configuration, including available channels and levels/tiers. Use the channel and level IDs when calling addSupporter.
guildAddSupporter mutation Add a player as a guild supporter on a specific channel. If the player already has a record, their existing record is updated.
guildLapseSupporter mutation Mark an active supporter as lapsed. The supporter remains visible with a "Lapsed" status. Re-adding via addSupporter clears the lapsed status.
guildRemoveSupporter mutation Remove an active or lapsed supporter from a specific channel. The record is soft-deleted, preserving audit history. Can be re-added later.
Partners
partnerCreateGuild mutation Creates a new guild and its owner account in a single request. This is the primary way for partners to onboard new communities into the Bifrost platform.
partnerServerAction mutation Registers a new game server under a partner guild. The server is identified by the guild owner's email (ownerId) and automatically linked to the partner's guild. A billing record is created and the server begins in ACTIVE status.
partnerServerAction mutation Transitions a game server's billing status. Use this to activate, deactivate, or manage the billing lifecycle of servers created via the Create Server action. The server must belong to a guild owned by the specified ownerId.
partnerServerAction mutation Permanently cancels a game server. This is a soft-cancel — the server record is preserved for audit purposes but marked as CANCELLED with serverActive set to false. This action is irreversible. The server must belong to a guild owned by the specified ownerId.
partnerServerAction mutation Updates a guild owner's email address. This atomically updates the email in the identity provider (Keycloak), the database user record, and the guild's ownerId metadata. The user cannot change their own email in the control panel — only the partner can do this via this action.
partnerGetTestServers mutation Returns the current status and details of all servers created with mode "TEST" for this partner. Use this to verify your API integration is working correctly before creating LIVE servers.
partnerGetMatchIds query Returns completed match IDs for a given game type, ordered newest first. Supports cursor-based pagination to retrieve all historical matches. By default returns the most recent 50 matches. Use the cursor and limit parameters to page through the full match history.
partnerGetMatchData query Returns the full match report for a given match ID. Supports two output formats: Bifrost (default) and CRCON. The Bifrost format is identical to the public match JSON on the Frostbite stats website. The CRCON format is structurally identical to CRCON's get_map_scoreboard API response, including Steam profile/ban data and weapon type classifications — ideal for tools and integrations built around the CRCON ecosystem.
partnerGetLiveServerIds query Returns all active server IDs for a given game type. Use these IDs with partnerGetLiveServerData to fetch real-time match data for each server. Supports cursor-based pagination with a maximum of 100 IDs per page.
partnerGetLiveServerData query Returns 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.
partnerGetGuildInfo query Look up a Bifrost guild by its OAuth client ID, scoped to a game type. Returns the guild only when it has at least one active server of the requested game type. Useful for partner integrations that need to resolve a guild reference before issuing other partner calls (for example, before adding a Ragnarok ban).
partnerAddRagnarokBan mutation Insert a new ban into the Ragnarok ban registry on behalf of an adopting Bifrost guild. The Ragnarok registry is a partner-only ban list that is completely separate from the per-server Bifrost ban tables. Each insert generates a unique RagnarokBanId (UUID) and a human-readable RagnarokBanAppealCode in the format RK-XXXXXX (6 alphanumeric characters from a 32-char ambiguity-free alphabet). Both identifiers are returned to the caller and stored in the database alongside the ban. The adopting Bifrost guild is identified by its OAuth client ID (guildClientId, e.g. "guild-123-cad48d") — the resolver maps that to the internal Bifrost guild UUID server-side. A ban inserted against a given guildClientId applies to every game server owned by that guild: any player whose Team 17 ID matches an ACTIVE ban is kicked on connect from every server in the guild with the Ragnarok appeal message. Re-adopting the same (t17Id, guild) while an ACTIVE ban already exists is idempotent — the existing record is returned and no new appeal code is generated. The ORIGINATING community — the community on BARRICADE / Ragnarok that raised the ban — is tracked separately from the adopting Bifrost guild via playerBanGuildName / playerBanGuildDiscord and does NOT need to exist on the Bifrost system.
partnerGetRagnarokBans query Cursor-paginated list of ACTIVE Ragnarok ban records, grouped by community. Filter by ban source ("BARRICADE", "RAGNAROK", or "ALL"). Bans owned by a Bifrost guild are grouped by that guild (the group carries the Bifrost guildId, guildName, and guildTag). Bans without an owning Bifrost guild — typical for BARRICADE imports — are grouped by their originating community name (playerBanGuildName); those groups carry a null guildId / null guildTag. Each ban inside each group includes the full record (player identity, category, platform, reason, evidence URLs, timestamps, etc.). INACTIVE bans are excluded — to look up a removed ban, use partnerSearchRagnarokBans.
partnerSearchRagnarokBans query Look up a single Ragnarok ban by either its UUID (RagnarokBanId) or its appeal code (RagnarokBanAppealCode). Returns the matching ban regardless of status — useful when handling appeals from players who only have the RK-XXXXXX code, or when verifying a previously-issued ban by id.
partnerRemoveRagnarokBan mutation Mark a Ragnarok ban as INACTIVE. The row is NOT deleted — its playerBanStatus is flipped from ACTIVE to INACTIVE, the supplied removeBanReason is recorded, and updatedAt is refreshed. INACTIVE bans no longer appear in partnerGetRagnarokBans but remain searchable via partnerSearchRagnarokBans.