REST API
Authentication, plugin endpoints, and public endpoints for the StaffHQ API.
The StaffHQ dashboard exposes a REST API at https://dash.staffhq.net/api. The API is used internally by the plugin and the Discord bot, and selected endpoints are publicly documented for custom integrations.
Authentication
All authenticated endpoints require a Bearer token in the Authorization header. Two types of API keys are available:
Plugin keyUsed by the Minecraft plugin. Has write access to heartbeat, chat, punishment, and anti-cheat endpoints. Cannot access dashboard data.
Dashboard keyUsed by the Discord bot and custom integrations. Has read access to player, punishment, and stats data. Cannot write plugin events.
Request format
Authorization: Bearer YOUR_API_KEY
Content-Type: application/jsonPlugin endpoints
These endpoints are used by the Minecraft plugin. Plugin API keys are required.
/api/plugin/heartbeatReport server TPS, player count, and online status. Called every sync_interval seconds.
/api/plugin/chatSubmit a batch of chat messages and commands captured during the sync interval.
/api/plugin/punishmentsReport a new punishment event (ban, mute, kick, or warning) from a supported punishment plugin.
/api/plugin/anticheat-flagsSubmit anti-cheat flag events from a supported anti-cheat plugin.
/api/plugin/sessionsReport a player join or quit event with timestamp and server.
/api/plugin/rank-changesReport a LuckPerms group change event for a player.
Example: submit a heartbeat
POST /api/plugin/heartbeat
Authorization: Bearer YOUR_PLUGIN_KEY
{
"server_id": "550e8400-e29b-41d4-a716-446655440000",
"tps": 19.8,
"player_count": 42,
"max_players": 100,
"timestamp": "2026-04-13T12:00:00Z"
}Dashboard endpoints
These endpoints are available to Dashboard-type API keys for custom integrations and the Discord bot.
/api/players/:uuidLook up a player by UUID. Returns join history, punishments, and linked Discord account.
/api/players/:uuid/punishmentsReturn the full punishment history for a player.
/api/players/:uuid/flagsReturn anti-cheat flag history for a player.
/api/players/:uuid/chatlogReturn recent chat messages for a player. Supports a limit query parameter.
/api/serversList all servers linked to this account with current status.
/api/staffReturn all detected staff members and their current online/offline status.
Public endpoints
These endpoints do not require authentication and are suitable for external widgets or public status pages.
/api/public/reviewsReturn a list of published customer reviews displayed on the marketing site.
/api/public/exchange-ratesReturn the current exchange rates used for credit pricing (GBP base).
Rate limits
Plugin endpoints have a higher rate limit to accommodate frequent heartbeats and batch submissions. Dashboard endpoints are rate-limited per API key.
If you exceed the rate limit you will receive a 429 Too Many Requests response with a Retry-After header indicating when you can retry.