https://api.dev.bifrostgaming.com/v1/graphqlpartnerGetRagnarokBans
v1Cursor-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.
Operation Type
Query
Rate Limit: 30 requests / 60 seconds per partner
Important usage notes
- Only ACTIVE bans are returned. INACTIVE (removed) bans are excluded — use partnerSearchRagnarokBans to look up a specific removed ban.
- Grouping: bans owned by a Bifrost guild are grouped by that guild's UUID; the group carries Bifrost guildId/guildName/guildTag. Bans without an owning Bifrost guild (typical BARRICADE imports) are grouped by their originating community name (playerBanGuildName); the group has guildId=null and guildTag=null.
- Two BARRICADE-imported bans with the same playerBanGuildName end up in the same unowned group, even though no Bifrost guild record exists for that community.
- Each ban returned includes playerBanPlatform ("PC" or "CONSOLE").
- Pagination is by ban id, ascending. Pass the nextCursor from each response back into the next call to walk the full result set.
- limit defaults to 100, capped at 500.
- A community that owns no bans on the current page does not appear in groups.
Input Fields
| Field | Type | Required | Description |
|---|---|---|---|
partnerId | String! | Required | Your unique partner identifier. |
partnerEncryptionKey | String! | Required | Your partner encryption key (Base64-encoded). |
playerBanSource | String! | Required | One of "ALL", "BARRICADE", or "RAGNAROK". "ALL" returns bans from both sources. |
limit | Int | Optional | Maximum number of ban rows to return per page. Default 100, maximum 500. |
cursor | String | Optional | Pagination cursor — pass the nextCursor value from the previous response to fetch the next page. Omit on the first call. |
Code Examples
curl -X POST https://api.dev.bifrostgaming.com/v1/graphql \
-H "Content-Type: application/json" \
-d '{
"query": "query PartnerGetRagnarokBans($partnerId: String!, $partnerEncryptionKey: String!, $playerBanSource: String!, $cursor: String) { partnerGetRagnarokBans(partnerId: $partnerId, partnerEncryptionKey: $partnerEncryptionKey, playerBanSource: $playerBanSource, cursor: $cursor) { hasMore nextCursor totalReturned groups { guildId guildName guildTag bans { ragnarokBanId ragnarokBanAppealCode playerId playerName playerBanCategory playerBanReason playerBanEvidence playerBanSource createdAt } } } }",
"variables": {
"partnerId": "your-partner-id",
"partnerEncryptionKey": "your-base64-encryption-key",
"playerBanSource": "ALL"
}
}'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": {
"partnerGetRagnarokBans": {
"groups": [
{
"guildId": "48999d4d-41f3-4456-8dcb-4600af60e848",
"guildName": "[13SNC]",
"guildTag": "13SNC",
"bans": [
{
"ragnarokBanId": "9c54e3a2-7f8d-4a1b-9c2e-6a5d4e3f2b1c",
"ragnarokBanAppealCode": "RK-K4M9Q2",
"guildId": "48999d4d-41f3-4456-8dcb-4600af60e848",
"playerBanGuildName": "[13SNC]",
"playerBanGuildDiscord": null,
"playerId": "76561198000000000",
"playerEosId": null,
"playerName": "Mutapalli010",
"playerBanType": "PERMANENT",
"playerBanCategory": "HOMOPHOBIA",
"playerBanPlatform": "CONSOLE",
"playerBanReason": "Persistent homophobic abuse in voice chat.",
"playerBanEvidence": ["https://example.com/evidence/clip.mp4"],
"playerBanSource": "RAGNAROK",
"playerBanStatus": "ACTIVE",
"removeBanReason": null,
"createdAt": "2026-04-07T14:32:18.491Z",
"updatedAt": "2026-04-07T14:32:18.491Z"
}
]
},
{
"guildId": null,
"guildName": "Some Community Not On Bifrost",
"guildTag": null,
"bans": [
{
"ragnarokBanId": "f1e2d3c4-b5a6-9788-6655-44332211ff00",
"ragnarokBanAppealCode": "RK-Q7P9X2",
"guildId": null,
"playerBanGuildName": "Some Community Not On Bifrost",
"playerBanGuildDiscord": "https://discord.gg/example",
"playerId": "76561198111222333",
"playerEosId": null,
"playerName": null,
"playerBanType": "PERMANENT",
"playerBanCategory": "RACISM",
"playerBanPlatform": "PC",
"playerBanReason": "Repeated racial slurs in team chat. BARRICADE imported.",
"playerBanEvidence": ["https://example.com/evidence/screenshot.png"],
"playerBanSource": "BARRICADE",
"playerBanStatus": "ACTIVE",
"removeBanReason": null,
"createdAt": "2026-04-07T15:02:11.182Z",
"updatedAt": "2026-04-07T15:02:11.182Z"
}
]
}
],
"totalReturned": 2,
"nextCursor": "f1e2d3c4-b5a6-9788-6655-44332211ff00",
"hasMore": false
}
}
}Error Responses
Response Fields
| Field | Type | Required | Description |
|---|---|---|---|
groups | [PartnerRagnarokBanGuildGroup] | Required | Array of community groups. Each group has guildId/guildName/guildTag (Bifrost-owned) OR a null guildId + free-text guildName from playerBanGuildName (unowned/BARRICADE). The group's guildTag is null when the group is not a Bifrost guild. |
totalReturned | Int | Required | The number of ban rows in this page (across all groups). |
nextCursor | String | Optional | Pagination cursor for the next page. Null when there are no more results. |
hasMore | Boolean | Required | True if there are more bans beyond this page. |