Bifrost Bifrost

Hell Let Loose Endpoints

Browse all available API endpoints for Hell Let Loose. Select an endpoint from the sidebar or browse by category below.

Getting Started

Public

Game Data

Map Data

Log Data

Exclusion Data

Server Basics

Player Actions

POST guildSearchPlayer query

Search for a player by name or Steam ID across your guild's servers.

POST guildGetPlayerHistory query

Get a player's session history, including connections, disconnections, and name changes.

POST guildGetBannedChat query

Retrieve chat messages that triggered banned word filters on a server.

POST guildGetModActions query

Retrieve recent moderation actions (kicks, bans, warns) performed on a server.

POST guildGetFlags query

Retrieve all flag types configured for your guild.

POST guildGetFlaggedPlayers query

Retrieve all players that have been flagged in your guild.

POST guildMessagePlayer mutation

Send an in-game message to a specific player on a server.

POST guildSendMessageToAll mutation

Broadcast a single chat line to every player currently on the target server. The message is delivered as the standard moderator chat message (the same wire shape guildMessagePlayer uses) — not the SERVER BROADCAST screen overlay. Maximum 200 characters; messages are trimmed before length validation. Not idempotent: repeated calls re-broadcast.

POST guildTeamSwap mutation

Move a player to the opposite team on a game server.

POST guildWarnPlayer mutation

Issue a warning to a player on a game server. The warning message is displayed to the player in-game.

POST guildPunishPlayer mutation

Punish a player on a game server. This kills the player and displays a message.

POST guildKickPlayer mutation

Kick a player from the game server.

POST guildTempBanPlayer mutation

Temporarily ban a player from the game server for a specified number of days.

POST guildPermBanPlayer mutation

Permanently ban a player from the game server.

POST guildFlagPlayer mutation

Add a flag to a player in your guild's flag system.

POST guildRemoveFlagPlayer mutation

Remove a flag from a player in your guild's flag system.

POST guildGrantAdminCam mutation

Grant a player admin cam access on a server by adding them to the server's "Spectator" admin group. Currently supported on HLL only. Fire-and-forget — success means the command was queued for delivery; the in-game effect typically lands within a couple of seconds.

POST guildRevokeAdminCam mutation

Revoke a player's admin cam access by removing them from every admin group on the server. The underlying RCON RemoveAdmin command is not group-scoped — it strips the player from every group, not just Spectator. Currently supported on HLL only.

Guild Members

Guild Supporters

Monitoring

Partners

POST 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.

POST 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.

POST 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.

POST 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.

POST 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.

POST 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.

POST 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.

POST 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.

POST 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.

POST 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.

POST 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).

POST 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.

POST 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.

POST 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.

POST 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.

Shrapnelworks Logo

A Shrapnelworks product