CEEJAYDocs

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

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

200 OK
{
  "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.

FeatureRequestsWhile available is false
xpGet XP balance, Grant XP, Deduct XPAlways available
economyGet currency balance, Grant currency, Deduct currency404 with the code not_available
questsList quests, Complete a quest404 with the code not_available
programsList programs, Grant program XP, Deduct program XP404 with the code not_available
linkingLink an account, and finding a member by an account in Complete a quest task404 with the code not_available
rolesList roles, Grant a role, Revoke a role500 with the code discord_not_configured, or 503
messagesList channels, Send a message500 with the code discord_not_configured
eventsEmit an event404 with the code not_available
shopDeliveryList shop purchases, Complete a shop delivery404 with the code not_available, or 502
retryKeysWhether an idempotencyKey is storedA 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
playersConnect: 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 map404 with the code not_available
gameLoopThe 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 in404 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.enabled is the community's own switch for its economy. While it is false, Complete a quest does not grant a quest's coins. Grant currency and Deduct currency work either way.
  • quests.dailyQuestLimit is 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.

On this page

Community StudiosPrivacyTerms