Universes

A Universe is a named collection of dimension mappings that define how assets are grouped across 4 dimensions: Region, Sector, Industry, and Type. Each universe can define custom mappings for any dimension; undefined dimensions fall back to the macro universe.

Universe path segments and key scopes share one vocabulary — the universe slugs (e.g. macro, global-trends-200). Requesting a universe outside your key’s scope returns 403; see Authentication.

List Universes

Returns all available universes with their dimension coverage and config summaries.

curl https://api.bytetree.io/api/universes

Response

FieldTypeDescription
countnumberNumber of universes
dataarrayArray of universe objects

Each universe object:

FieldTypeDescription
universestringUniverse slug (e.g. macro, global-trends-200)
dimensionsstring[]Dimensions this universe explicitly defines (e.g. ["region"])
fallbacksstring[]Dimensions inherited from macro (e.g. ["sector", "industry", "type"])
configsarraySummary of each config: slug, label, category, type, sourceField, enabled
{
  "count": 2,
  "data": [
    {
      "universe": "macro",
      "dimensions": ["region", "sector", "industry", "type"],
      "fallbacks": [],
      "configs": [
        { "slug": "macro/region", "label": "Region", "category": "region", "type": "direct", "sourceField": "region", "enabled": true }
      ]
    },
    {
      "universe": "global-trends-200",
      "dimensions": ["region", "sector", "industry"],
      "fallbacks": ["type"],
      "configs": [
        { "slug": "global-trends-200/region", "label": "GT Region", "category": "region", "type": "mapped", "sourceField": "country", "enabled": true }
      ]
    }
  ]
}

Get Dimension Config

Returns the GroupingConfig for a specific dimension within a universe. If the universe doesn’t define that dimension, automatically falls back to the macro universe’s config.

# Direct config
curl https://api.bytetree.io/api/universes/global-trends-200/region/config

# Fallback to macro (Global Trends doesn't define type)
curl https://api.bytetree.io/api/universes/global-trends-200/type/config

Response includes "fallback": true when the config comes from the macro universe.

Config Object Fields

FieldTypeDescription
slugstringUnique identifier: universe/category (e.g. macro/region, global-trends-200/region)
labelstringDisplay name
universestringUniverse slug
categorystringDimension: region, sector, industry, type, or country
typestringResolution type: direct or mapped
sourceFieldstringAsset field used as input (e.g. region, country, sector, industry, type)
mappingobject | nullFor mapped type: lookup table from source value to group label. null for direct.
unmappedStrategystringexclude (skip unmapped values) or fallback (assign to the configured fallback group)
fallbackGroupstring | nullGroup label for unmapped values when strategy is fallback
enabledbooleanWhether this dimension is actively computed

Resolution Types

Direct (type: "direct") — The asset’s field value is used as the group name directly.

Mapped (type: "mapped") — The asset’s field value is looked up in the mapping object. For example, sourceField: "country" with {"US": "Americas", "GB": "Europe"} maps country codes to broader regions.