Skip to content
game-kb

Endpoint

List fields

GET /api/{game}/fields.json

The field registry: what every field name means, its unit, and the bounds a value must fall inside to be accepted. A parsed value that fails either check is quarantined rather than published.

Path parameters

gamestringA game slug from the index.

Response

The registry for one game.

gamestringThe slug this registry governs.
notestringA reminder that names are game-scoped.
fieldsField[]Every declared field.
fields[].fieldstringThe name a fact uses.
fields[].typestringAlways number today.
fields[].unit?string | nullWhat the number is in. Never inferred from magnitude.
fields[].min?number | nullLowest accepted value.
fields[].max?number | nullHighest accepted value.
fields[].factsintegerHow many facts use it. Zero means declared but unused.
fields[].appliesTostringThe entity type it belongs to.

Bounds are measured, not guessed. They come from the real range across the corpus and are then widened. They are a plausibility gate on the parser, not a claim about the game.

Request

curl -s -H "x-api-key: $KB_API_KEY" https://kb.play-ascend.com/api/valorant/fields.json

Response example

{
  "schemaVersion": 3,
  "game": "valorant",
  "note": "Field names are scoped to this game: the same name in another game i…",
  "fields": [
    {
      "field": "ability.equip_time_s",
      "type": "number",
      "unit": "s",
      "min": 0.05,
      "max": 5,
      "facts": 92,
      "appliesTo": "ability"
    },
    {
      "field": "ability.unequip_time_s",
      "type": "number",
      "unit": "s",
      "min": 0,
      "max": 5,
      "facts": 106,
      "appliesTo": "ability"
    },
    "… 55 more"
  ]
}

Field registry

Field names are scoped to their game: the same name in two games is two quantities.