CEEJAYDocs

Get the field map

Read the field map of a game: every field and event it sends, and the state each is in.

GET /v1/games/{game}/field-map · requires players:read

Call it to see which of the names your game sends the community has approved, which are waiting for approval, and which it marked unused. A key reads the map and proposes to it; it cannot approve its own map. The field map explains how a name becomes a field.

Path parameters

Prop

Type

Returns

Prop

Type

Each field holds:

Prop

Type

Each event holds key, sourceKey, label (what it reads on CEEJAY's screens), keepsQuantity (whether the quantity you send is stored), state and rewardMode (once or each: how its reward is granted, when it has one).

Example

Request
curl https://ceejay.communitystudios.xyz/api/v1/games/rugby_manager/field-map \
  -H "Authorization: Bearer $CEEJAY_API_KEY"

The TypeScript tab calls ceejay.fieldMap.get from the TypeScript SDK. It returns the data of the response below.

200 OK
{
  "success": true,
  "data": {
    "fields": [
      {
        "key": "std.level",
        "sourceKey": "level",
        "name": "Game level",
        "type": "number",
        "options": [],
        "unit": null,
        "scale": null,
        "category": "progress",
        "standard": true,
        "sensitive": false,
        "state": "approved"
      },
      {
        "key": "league_position",
        "sourceKey": "league_position",
        "name": "League position",
        "type": "number",
        "options": [],
        "unit": null,
        "scale": null,
        "category": "progress",
        "standard": false,
        "sensitive": false,
        "state": "approved"
      },
      {
        "key": "coins_spent_cents",
        "sourceKey": "coins_spent_cents",
        "name": "Coins spent cents",
        "type": "number",
        "options": [],
        "unit": null,
        "scale": 0.01,
        "category": "progress",
        "standard": false,
        "sensitive": false,
        "state": "proposed"
      }
    ],
    "events": [
      {
        "key": "match_won",
        "sourceKey": "match_won",
        "label": "Won a match",
        "keepsQuantity": false,
        "state": "approved",
        "rewardMode": "each"
      }
    ],
    "limits": {
      "ownFields": 25,
      "events": 25
    }
  }
}

What is not in the map

The response contains no player values, samples or pending values, because they come from real players and have not been classified as sensitive. The community's team sees them in the dashboard.

A paused game can still be read.

The scope

players:read is part of *, so a Full Access key can call this.

Limits

This request is counted against the key's own requests per minute: 60 unless a higher limit was set on it, and never more than 600. Rate limits has the numbers and the headers.

Errors

StatuscodeerrorWhen
403community_not_activeThis community is no longer active on CEEJAYThe community removed CEEJAY from its server
403game_not_allowedThis API key is limited to other gamesThe key is limited to other games of the community
403audience_not_allowedA game made for children cannot connect players or send player dataThe game is set up as made for children. Such a game connects nobody and takes no player data
404not_availableThis is not available on this instance yet.Connect is not enabled for this instance. It is enabled per instance. The body adds feature, which is players. Retrying will not change the response
404game_not_foundGame not foundThe community has no game with this slug, or the game was removed. A slug that is not 2 to 32 lower-case letters, digits and underscores, starting with a letter, gets this response too

Every error body also carries requestId, and a 400 with the code bad_request names the invalid field in field. Match on code, not on the message text, which can change.

The errors every request shares (401, 403 for a missing scope, 405, 429, 500) are on the Errors page.

On this page

Community StudiosPrivacyTerms