Bifrost Bifrost
POSThttps://api.dev.bifrostgaming.com/v1/graphql

partnerRemoveRagnarokBan

v1

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.

Operation Type

Mutation

Rate Limit: 60 requests / 60 seconds per partner

Important usage notes

  • The row is not deleted — only its playerBanStatus is flipped to INACTIVE. The full record (including removeBanReason) remains queryable via partnerSearchRagnarokBans.
  • updatedAt is automatically refreshed by the server when the ban is removed.
  • Idempotent: calling this on an already-INACTIVE ban succeeds and simply re-records the new removeBanReason.
  • Returns 404 if no ban exists with the supplied ragnarokBanId.

Input Fields

FieldTypeRequiredDescription
partnerIdString!RequiredYour unique partner identifier.
partnerEncryptionKeyString!RequiredYour partner encryption key (Base64-encoded).
ragnarokBanIdString!RequiredThe UUID of the ban to mark INACTIVE. Use partnerSearchRagnarokBans to resolve this from an appeal code if needed.
removeBanReasonString!RequiredFree-text reason for removing the ban (e.g. "Successful appeal — evidence overturned"). Stored on the row alongside the new INACTIVE status.

Code Examples

curl -X POST https://api.dev.bifrostgaming.com/v1/graphql \
  -H "Content-Type: application/json" \
  -d '{
    "query": "mutation PartnerRemoveRagnarokBan($partnerId: String!, $partnerEncryptionKey: String!, $ragnarokBanId: String!, $removeBanReason: String!) { partnerRemoveRagnarokBan(partnerId: $partnerId, partnerEncryptionKey: $partnerEncryptionKey, ragnarokBanId: $ragnarokBanId, removeBanReason: $removeBanReason) { ragnarokBanId ragnarokBanAppealCode playerBanStatus updatedAt } }",
    "variables": {
      "partnerId": "your-partner-id",
      "partnerEncryptionKey": "your-base64-encryption-key",
      "ragnarokBanId": "9c54e3a2-7f8d-4a1b-9c2e-6a5d4e3f2b1c",
      "removeBanReason": "Successful appeal — evidence overturned by guild moderation team."
    }
  }'

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
  1. Open Postman and click Import (top-left)
  2. Drag and drop the downloaded .json file, or click Upload Files and select it
  3. Click Import to confirm
  4. The collection appears in your sidebar — expand it and select the request
  5. In the Body tab, update the placeholder values (your-partner-id, etc.) with your actual credentials
  6. 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": {
    "partnerRemoveRagnarokBan": {
      "ragnarokBanId": "9c54e3a2-7f8d-4a1b-9c2e-6a5d4e3f2b1c",
      "ragnarokBanAppealCode": "RK-K4M9Q2",
      "playerBanStatus": "INACTIVE",
      "updatedAt": "2026-04-07T15:01:42.117Z"
    }
  }
}

Error Responses

Response Fields

FieldTypeRequiredDescription
ragnarokBanIdStringRequiredThe UUID of the updated ban.
ragnarokBanAppealCodeStringRequiredThe unchanged appeal code of the updated ban.
playerBanStatusStringRequiredThe new status — always "INACTIVE" on success.
updatedAtStringRequiredThe new updatedAt timestamp (ISO 8601).

In partnership with

Brilliant game servers for communities large and small.

Get yours today!

Shrapnelworks Logo

A Shrapnelworks product