Community details
Find out which community a key belongs to, what the key may do and which requests this instance can serve.
GET /v1/community · any valid key
Make this your first call. It needs no scope: any key that is valid can call it. It changes nothing.
Returns
Prop
Type
key holds name, scopes, rateLimitPerMinute and expiresAt. platforms holds builtIn, the platforms CEEJAY knows by name, and custom, the ones your community added, each with its slug and name.
Example
curl "https://ceejay.communitystudios.xyz/api/v1/community" \
-H "Authorization: Bearer $CEEJAY_API_KEY"The TypeScript tab calls ceejay.community.get from the TypeScript SDK. It returns the data of the response below.
{
"success": true,
"data": {
"serverId": "721104938271003842",
"name": "Harbour Town",
"apiVersion": "1.1.0",
"key": {
"name": "Game server",
"scopes": [
"xp:grant",
"quests:complete"
],
"rateLimitPerMinute": 60,
"expiresAt": null
},
"features": {
"xp": {
"available": true
},
"economy": {
"available": true,
"enabled": true
},
"quests": {
"available": true,
"dailyQuestLimit": 5
},
"programs": {
"available": true
},
"linking": {
"available": true
},
"roles": {
"available": true
},
"messages": {
"available": true
},
"events": {
"available": true
},
"shopDelivery": {
"available": true
},
"retryKeys": {
"available": true
},
"players": {
"available": true
},
"gameLoop": {
"available": true
}
},
"platforms": {
"builtIn": [
"github",
"twitch",
"steam",
"twitter",
"xbox",
"playstation",
"metamask",
"epic",
"youtube",
"riot",
"battlenet",
"roblox",
"reddit",
"kick",
"patreon",
"tiktok",
"bluesky",
"lastfm",
"spotify"
],
"custom": [
{
"slug": "rugby_manager",
"name": "Rugby Manager"
}
]
}
}
}Features
Each entry of features is a group of requests, with available: whether this instance can serve them.
| Feature | Requests | While available is false |
|---|---|---|
xp | Get XP balance, Grant XP, Deduct XP | Always available |
economy | Get currency balance, Grant currency, Deduct currency | 404 with the code not_available |
quests | List quests, Complete a quest | 404 with the code not_available |
programs | List programs, Grant program XP, Deduct program XP | 404 with the code not_available |
linking | Link an account, and finding a member by an account in Complete a quest task | 404 with the code not_available |
roles | List roles, Grant a role, Revoke a role | 500 with the code discord_not_configured, or 503 |
messages | List channels, Send a message | 500 with the code discord_not_configured |
events | Emit an event | 404 with the code not_available |
shopDelivery | List shop purchases, Complete a shop delivery | 404 with the code not_available, or 502 |
retryKeys | Whether an idempotencyKey is stored | A call that sends a key returns 503 with the code idempotency_unavailable. Grant currency, Deduct currency and Complete a quest for a quest that grants coins still store their key |
players | Connect: the seven requests a game makes, and Create a connect pass, Create a connect session, Get a connect session, List connect sessions and Confirm a connect session, and the eight requests about players and the field map | 404 with the code not_available |
gameLoop | The game loop: the eleven requests a game makes to show the community's quests, shop, locker, rank and daily reward, and to sell from its shop, from List the quests to Check in | 404 with the code not_available |
A feature reads false while an update is still rolling out on your instance. Waiting does not change this. Contact support. players also reads false where Connect is not enabled for your instance, which is the default for a new instance. gameLoop reads true when this instance can serve the game loop; whether one game shows it is that game's own setting, chosen by the community's team, and a request for a game that has it off returns 409 with the code hub_not_enabled.
Two entries carry a setting of your community as well:
economy.enabledis the community's own switch for its economy. While it isfalse, Complete a quest does not grant a quest's coins. Grant currency and Deduct currency work either way.quests.dailyQuestLimitis how many quests a member may complete in one UTC day. Complete a quest applies it.
What it never returns
The key itself or its hash, your community's other keys, and the name or value of any setting of your instance.
Errors
This request has no errors of its own. The errors every request shares (401, 405, 429, 500) are on the Errors page. It cannot return 403, because it needs no scope.

