Skip to content

Content Registry

The content registry is a feature for managing static metadata of in-game maps, items, skills, and more, and linking them to telemetry data.

With generic telemetry tools, there is no way to know what the IDs in event data refer to. By using the content registry:

  • item_id: "sword_01" → “Flame Sword (Rare / Weapons category)”
  • map_id: "map_desert" → “Desert Arena (PvP map)”

It adds game context to your telemetry, enabling meaningful analysis.

TypeDescriptionExamples
mapGame mapsStages, arenas, worlds
itemIn-game itemsWeapons, consumables, equipment
skillSkills/abilitiesAttacks, buffs, passives
characterCharactersPlayable characters, NPCs
customCustom definitionsAny game element

Content registry data is synchronized with your game’s master data.

Register individually from the dashboard, or via the REST API. The POST /v1/content endpoint requires the X-Project-Id header and wraps entries in an entries envelope:

Terminal window
curl -X POST https://app.framedash.dev/api/v1/content \
-H "X-API-Key: fd_your_api_key_here" \
-H "X-Project-Id: your-project-uuid" \
-H "Content-Type: application/json" \
-d '{
"entries": [
{
"contentType": "item",
"contentId": "item_hp_01",
"displayName": "Health Potion",
"metadata": { "rarity": "common", "category": "consumable" }
}
]
}'

Import master data as JSON from your CI pipeline using the CLI. The CLI accepts a bare JSON array of entries (no entries envelope needed):

Terminal window
framedash content import ./game-content.json

Format of game-content.json:

[
{
"contentType": "item",
"contentId": "item_hp_01",
"displayName": "Health Potion",
"metadata": { "rarity": "common", "category": "consumable" }
}
]

Each entry requires contentType, contentId, and displayName; metadata is optional.

When sending events with the SDK, include the matching content ID (map_id, item_id, etc., corresponding to contentId) and the content name and metadata will be automatically displayed in the dashboard.