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

partnerServerAction

v1

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.

Operation Type

Mutation

Rate Limit: 30 requests per minute per partner

Rate limits are applied per partner. Bulk operations should be spaced out.

Important usage notes

  • The server must belong to a guild owned by the specified ownerId. If the ownership does not match, a 403 error is returned.
  • Available billing statuses: ACTIVE (server is live and billed), ACTIVEFREE (active but not billed), INACTIVE (temporarily offline), NOPAYMENT (suspended for non-payment).
  • CANCELLED and CANCELLEDREFUNDED are terminal states — once reached, no further status changes are allowed. Use Delete Server to cancel a server.
  • CANCELLEDREFUNDED is only allowed within the refund grace period (default 72 hours from server creation).
  • Include a reason field to document why the status is being changed (recommended for audit trail).

Input Fields

FieldTypeRequiredDescription
partnerIdString!RequiredYour unique partner identifier. This was provided to you when your partner account was created.
encryptedDataString!RequiredYour JSON payload encrypted with AES-256-GCM using your partner encryption key, then Base64 encoded. See the Encryption Guide for details.

Encrypted Payload Fields

FieldTypeRequiredDescription
actionStringRequiredMust be "CHANGE_STATUS".
timestampNumberRequiredCurrent time in Unix milliseconds. Must be within 5 minutes of server time.
nonceStringRequiredA unique random string, at least 16 characters. Use a UUID or similar.
ownerIdStringRequiredThe guild owner's email. Used to verify the server belongs to this guild.
gameServerIdStringRequiredThe server ID returned from Create Server.
statusStringRequiredNew billing status. One of: ACTIVE, ACTIVEFREE, INACTIVE, NOPAYMENT.
reasonStringOptionalHuman-readable reason for the status change. Recorded in the audit log.

These fields make up the JSON payload that is encrypted with AES-256-GCM before being sent as encryptedData.

Code Examples

# Step 1: Encrypt your payload (see Encryption Guide)
# Step 2: Send the encrypted payload

curl -X POST https://api.dev.bifrostgaming.com/v1/graphql \
  -H "Content-Type: application/json" \
  -d '{
    "query": "mutation PartnerServerAction($input: PartnerServerActionInput!) { partnerServerAction(input: $input) { success statusCode message serverId } }",
    "variables": {
      "input": {
        "partnerId": "your-partner-id",
        "encryptedData": "BASE64_ENCRYPTED_PAYLOAD_HERE"
      }
    }
  }'

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": {
    "partnerServerAction": {
      "success": true,
      "statusCode": 200,
      "message": "Server status changed from ACTIVE to INACTIVE",
      "serverId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    }
  }
}

Error Responses

Response Fields

FieldTypeRequiredDescription
successBooleanRequiredtrue if the status was changed successfully.
statusCodeIntRequiredHTTP-style status code. 200 = ok, 400 = bad request, 401 = unauthorized, 403 = ownership mismatch, 404 = not found, 500 = error.
messageStringRequiredA human-readable description of the result.
serverIdStringOptionalThe ID of the server that was updated.

In partnership with

Brilliant game servers for communities large and small.

Get yours today!

Shrapnelworks Logo

A Shrapnelworks product