Set is a fantasy role playing world where anyone can query and generate the entities inside of the world and reference them anywhere.
The API can be queried from anywhere via HTTP GET and is JSON, CURL, and CORS compatible.
Use this when you want a quick check that the API is up. Returns a tiny `{ hello: "set world" }` payload.
Use this when you want to discover every endpoint without reading source. Returns the full surface map: method, path, query params, a one-line summary, and a two-line scenario per endpoint.
Use this when an agent (or human) wants a one-page how-to that wraps every endpoint with usage patterns, recipes, and examples. Returns a single markdown document with YAML frontmatter (name, description, spec URL, license, canonical paths) — Content-Type: text/markdown.
Use this when you need the canonical stat order before sending stats to /api/attributes or /api/drop. Returns the nine base stats (strength, dexterity, intelligence, wisdom, agility, vitality, perception, resolve, luck) and their inclusive [min, max] bounds. Derived attributes (clarity, initiative, reflexes, accuracy-style channels, max health, etc.) are computed from the 5 primaries — see /api/attributes/spec.
Use this when you want to render a loadout layout or learn which derived attributes a slot influences. Returns every equipment slot in canonical order with its capacity (hand and finger hold two; everything else holds one) and its derived-attribute domain.
Use this when you want the full skills table. Returns every skill name and weight; characters draw 1 to 4 skills from this pool.
Use this when you want the full advantages table to seed a trait picker. Returns every advantage as raw weighted-table entries; pair with /api/traits/impact to score one.
Use this when you want the full disadvantages table to seed a trait picker. Returns every disadvantage as raw weighted-table entries; pair with /api/traits/impact to score one.
Use this when you want a single fresh item with no orb cost — equivalent to /api/craft?orbs=1 for free. Returns the item enriched with score, scoreTier, floored tier, tierName, orbValue, material envelope, and a one-row breakdown matching /api/roll/set.
Use this when you want to outfit something with a full equipment set in one call. Returns the 15-item equipment object plus an aggregate orbValue and a per-slot orbBreakdown walked in canonical slot order.
Use this when you want a complete playable character in a single call. Returns base stats, modifiedStats (after trait deltas), enriched equipment, equipmentOrbValue and equipmentOrbBreakdown, traits with impacts, and the twenty derived attributes.
Use this when you have an item's index or roll vector and need its rarity score, tier, probability, and per-factor breakdown. Returns score, scoreTier, floored tier, probability, orbValue, the rolled material envelope, and the per-factor contribution sorted by −log10(p).
Use this when you want to label a rarity score (Common, Uncommon, Rare, Epic, Legendary, Mythic, Godly). Returns the seven tier definitions with R-range cutoffs and the §2 measured shares from a 200k Monte Carlo.
Use this when you want the up-front orb price to floor a craft at a given tier (1, 5, 25, 125, 625, 3125, 15625). Returns the orb cost and the rejection-sampling budget the server applies before giving up.
Use this when you want to spend orbs — either rejection-sample to a target tier (tier=1..7) or run a best-of-N lottery (orbs=N). Returns the resulting item, score, scoreTier, floored tier, tierName, and material envelope, plus attempts/capped (tier mode) or rolls/rollsExpected (orb mode).
Use this when you want to price a stat upgrade across [from, to] inside the 8 to 24 range. Returns the total orbs and the per-step breakdown; the full 8 to 24 climb costs 53,337 orbs.
Use this when you want to price the orb drop for a kill. Returns the rolled orb amount given the enemy stats, encounter class multiplier, variance, and any optional override.
Use this when you want the canonical list of encounter classes before calling /api/drop. Returns trash, veteran, elite, boss, and world-boss with their drop multipliers (1, 3, 10, 50, 250).
Use this when you have a single trait name and need its deterministic stat modifier without paging through every advantage or disadvantage. Returns the FNV-1a-derived `{primary, primaryDelta, secondary?, secondaryDelta?, tier}` impact for that name and kind.
Use this when you want every trait pre-scored as a stat modifier — flip kind to disadvantage for the negative pool. Returns a deterministic FNV-1a-derived impact per name with its tier (1-4) and primary or secondary stat deltas.
Use this when you want to expand stats into health, damage, speed, dodge, and the rest of the twenty derived attributes. Returns each attribute with its computed value; pair with /api/attributes/spec for the formulas.
Use this when you want the formula behind every derived attribute (base, primary stat, primary coefficient, secondary stat, secondary coefficient). Returns the full attribute spec so a client can recompute attributes locally without calling /api/attributes.