https://api.dev.bifrostgaming.com/v1/graphqlguildSendMessageToAll
v1Broadcast 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.
Operation Type
Mutation
Rate Limit: 12 requests per minute per server
Each call fans out one MessagePlayer per player currently on the server. Internally that counts as one request against this endpoint, not one-per-player.
Important usage notes
- Use this when you want every player on the server to see the same chat line — for example to announce a round-restart, an event start, or a server-wide note from your bot.
- Players see the message in their standard chat (the same channel guildMessagePlayer uses). This is intentionally distinct from ServerBroadcast, which renders the screen-overlay banner and is not exposed via OAuth.
- The mutation is not idempotent. If your caller retries on failure, it can re-broadcast. Dedupe at your layer if exactly-once delivery matters.
- playersNotified counts successful NATS publishes — a published message is handed to the rconworker for delivery. Network or RCON-side failures after the publish are not reflected in this number; check moderator-action logs for delivery-time outcomes.
Input Fields
| Field | Type | Required | Description |
|---|---|---|---|
serverId | ID! | Required | The server ID to broadcast on. |
message | String! | Required | The chat message text. Trimmed of leading/trailing whitespace and limited to 200 characters after trimming. |
Code Examples
curl -X POST https://api.dev.bifrostgaming.com/v1/graphql \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-d '{
"query": "mutation GuildSendMessageToAll($input: GuildSendMessageToAllInput!) { guildSendMessageToAll(input: $input) { success message playersNotified error timestamp } }",
"variables": {
"input": {
"serverId": "YOUR_SERVER_ID",
"message": "Round restart in 5 minutes — finish strong!"
}
}
}'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": {
"guildSendMessageToAll": {
"success": true,
"message": "Sent to 64 player(s).",
"playersNotified": 64,
"error": null,
"timestamp": "2026-05-26T16:00:00.000Z"
}
}
}Error Responses
Response Fields
| Field | Type | Required | Description |
|---|---|---|---|
success | Boolean | Required | True when the broadcast was attempted (false on validation / lookup errors). |
message | String | Required | Human-readable status string. |
playersNotified | Int | Required | Count of successful NATS publishes. A successful publish hands the message off to the worker for delivery; it does not guarantee in-game receipt. |
error | String | Optional | Error code on failure: MESSAGE_EMPTY, MESSAGE_TOO_LONG, GAMESTATE_UNAVAILABLE, GAMESTATE_PARSE_ERROR. Null on success. |
timestamp | String | Required | ISO 8601 timestamp of when the mutation ran. |
A Shrapnelworks product