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

partnerGetTestServers

v1

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.

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

  • This endpoint only returns servers created with mode: "TEST". LIVE servers are not included.
  • No action field is needed in the encrypted payload — only timestamp and nonce are required.
  • Use this endpoint to verify your integration after creating test servers, changing their status, or deleting them.
  • TEST servers are excluded from billing calculations. They exist solely for integration testing.
  • The response includes all server details and their current billing status, so you can verify each operation worked correctly.

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

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 PartnerGetTestServers($input: PartnerServerActionInput!) { partnerGetTestServers(input: $input) { success statusCode message servers { serverId serverName serverGameType serverIP serverQueryPort serverRCONPort serverCountry serverTimezone serverPlatform serverActive billingStatus billingStatusChangedAt createdAt } } }",
    "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": {
    "partnerGetTestServers": {
      "success": true,
      "statusCode": 200,
      "message": "Found 2 test server(s)",
      "servers": [
        {
          "serverId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
          "serverName": "My Test Server #1",
          "serverGameType": "HLL",
          "serverIP": "203.0.113.50",
          "serverQueryPort": 27015,
          "serverRCONPort": 27020,
          "serverCountry": "US",
          "serverTimezone": "America/New_York",
          "serverPlatform": "PC",
          "serverActive": true,
          "billingStatus": "ACTIVEFREE",
          "billingStatusChangedAt": "2026-03-13T10:30:00.000Z",
          "createdAt": "2026-03-13T10:30:00.000Z"
        },
        {
          "serverId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
          "serverName": "My Test Server #2",
          "serverGameType": "HLL",
          "serverIP": "203.0.113.51",
          "serverQueryPort": 27015,
          "serverRCONPort": 27020,
          "serverCountry": "GB",
          "serverTimezone": "Europe/London",
          "serverPlatform": "PC",
          "serverActive": false,
          "billingStatus": "CANCELLED",
          "billingStatusChangedAt": "2026-03-13T12:00:00.000Z",
          "createdAt": "2026-03-13T10:45:00.000Z"
        }
      ]
    }
  }
}

Error Responses

Response Fields

FieldTypeRequiredDescription
successBooleanRequiredtrue if the request was processed successfully.
statusCodeIntRequiredHTTP-style status code. 200 = ok, 400 = bad request, 401 = unauthorized, 500 = error.
messageStringRequiredA human-readable description of the result, including the number of test servers found.
servers[PartnerTestServer]OptionalArray of test server objects. Only present on success. Empty array if no test servers exist.
servers[].serverIdIDRequiredThe unique server ID. Use this for Change Server Status and Delete Server actions.
servers[].serverNameStringRequiredThe display name of the server.
servers[].serverGameTypeStringRequiredGame type (e.g. "HLL").
servers[].serverIPStringRequiredServer IP address.
servers[].serverQueryPortIntRequiredServer query port.
servers[].serverRCONPortIntRequiredServer RCON port.
servers[].serverCountryStringRequiredISO country code.
servers[].serverTimezoneStringRequiredIANA timezone.
servers[].serverPlatformStringRequiredPlatform: "PC" or "CONSOLE".
servers[].serverActiveBooleanRequiredWhether the server is currently active (false if cancelled).
servers[].billingStatusStringRequiredCurrent billing status (e.g. ACTIVEFREE, INACTIVE, CANCELLED).
servers[].billingStatusChangedAtStringRequiredISO 8601 timestamp of when the billing status was last changed.
servers[].createdAtStringRequiredISO 8601 timestamp of when the server was created.

In partnership with

Brilliant game servers for communities large and small.

Get yours today!

Shrapnelworks Logo

A Shrapnelworks product