{"version":1,"endpoints":[{"method":"GET","path":"/api","summary":"health check","scenario":{"use":"to confirm the world yet lives and answers.","returns":"a single greeting that the service is present and willing."}},{"method":"GET","path":"/api/spec","summary":"this document","scenario":{"use":"to discover every endpoint and its purpose without reading source.","returns":"the full surface map of method, path, query, summary, and scenario for each endpoint the world provides."}},{"method":"GET","path":"/api/skill","summary":"agent-readable skill describing how to use the API, also reachable at /skill, /skill.md, /.well-known/skill, /.well-known/skill.md, /llms.txt","scenario":{"use":"to obtain the complete guide for agents and developers, that all usage patterns and recipes may be learned from a single page.","returns":"a markdown document with YAML frontmatter containing the full instruction for building upon this world."}},{"method":"GET","path":"/api/craft-guide","summary":"crafting and economy skill, also reachable at /craft-guide, /craft-guide.md","scenario":{"use":"to learn the full crafting and economy system, that orb costs, crafting modes, stat boosting, and monster drops may be composed into a progression loop.","returns":"a markdown document teaching the economy from first principles through end-game."}},{"method":"GET","path":"/api/stats","summary":"canonical 9 base stats and inclusive [min, max] bounds","scenario":{"use":"to obtain the canonical stat order before sending values to /api/attributes or /api/drop, that there be no ambiguity in the array.","returns":"the nine base stats in their fixed order and their inclusive bounds from 8 to 24."}},{"method":"GET","path":"/api/slots","summary":"equipment slots, per-slot capacity, derived-attribute domain, and canonical iteration order","scenario":{"use":"to learn which slots exist, how many items each holds, and which derived attributes each slot governs.","returns":"every equipment slot in canonical order with its capacity and derived-attribute domain."}},{"method":"GET","path":"/api/skills","summary":"all skills with flavor text","scenario":{"use":"to obtain the full table of 288 skills from which characters draw their distinctions.","returns":"every skill with id, name, and the prose that describes its nature."}},{"method":"GET","path":"/api/advantages","summary":"all advantages","scenario":{"use":"to obtain the full advantages table for building trait pickers and character creation.","returns":"every advantage as a weighted-table entry, ready to be scored via /api/traits/impact."}},{"method":"GET","path":"/api/disadvantages","summary":"all disadvantages","scenario":{"use":"to obtain the full disadvantages table for building flaw systems and challenge modifiers.","returns":"every disadvantage as a weighted-table entry, ready to be scored via /api/traits/impact."}},{"method":"GET","path":"/api/classes","summary":"all character classes with mainhand weapon mapping","scenario":{"use":"to obtain the 116 classes and the mainhand weapon each is bound to.","returns":"the full class list with name, flavor text, and the weapon that defines the class."}},{"method":"GET","path":"/api/effects","summary":"all status effects with descriptions","scenario":{"use":"to obtain every status effect that items and combat may inflict upon the living.","returns":"the full effects list with name and the prose describing its mechanical consequence."}},{"method":"GET","path":"/api/roll/item","summary":"roll a fresh item with score, grade, material, and breakdown","scenario":{"use":"to summon a single item from the weighted tables at no cost.","returns":"the item enriched with its grade, material, orb value, and a breakdown row showing its place among all possible outcomes."}},{"method":"GET","path":"/api/roll/set","summary":"roll a full 15-item equipment set with per-slot breakdown","scenario":{"use":"to outfit a character with a complete equipment set in one call.","returns":"the full equipment object, an aggregate orb value, and a per-slot breakdown walked in canonical order."}},{"method":"GET","path":"/api/roll/character","summary":"roll a complete character with stats, traits, equipment, and derived attributes","scenario":{"use":"to bring forth a complete playable character with all systems resolved.","returns":"base stats, modified stats after traits, final stats after equipment, enriched gear, orb breakdown, trait impacts, class, and twenty-three derived attributes."}},{"method":"GET","path":"/api/rarity","query":"indexes | rolls","summary":"score and tier an item by its roll or index vector","scenario":{"use":"to appraise an item and learn its material grade, tier, quality score, and the contribution of each factor.","returns":"the grade, tier, probability, orb value, material envelope, and per-factor breakdown sorted by rarity contribution."}},{"method":"GET","path":"/api/rarity/tiers","summary":"tier definitions and grade ranges","scenario":{"use":"to learn the seven grade definitions from F through S and the boundaries between them.","returns":"the tier table with cumulative-weight share descriptions and grade counts for tools and wearables."}},{"method":"GET","path":"/api/craft/cost","query":"tier=1..7","summary":"orb cost to craft at a target tier","example":"/api/craft/cost?tier=5","scenario":{"use":"to learn the orb price required before attempting a craft at the given tier.","returns":"the orb cost and the budget of attempts the server will expend before declaring the craft capped."}},{"method":"GET","path":"/api/craft","query":"tier=1..7 | orbs=N, seed?, budget?","summary":"craft an item by rejection-sampling to a tier or spending orbs in a lottery","example":"/api/craft?orbs=125","scenario":{"use":"to spend orbs and receive an item, either by targeting a material tier or by rolling the best of many.","returns":"the resulting item with its score, grade, tier, and material, plus the number of attempts or the expected percentile band."}},{"method":"GET","path":"/api/boost/cost","query":"from=8..23, to=9..24","summary":"orb cost to push a stat from one value to another","example":"/api/boost/cost?from=14&to=18","scenario":{"use":"to price the orb cost of raising a stat across the given range.","returns":"the total orbs and each per-step cost along the climb."}},{"method":"GET","path":"/api/drop","query":"stats=9-ints, class, seed?, override?","summary":"calculate the orb drop for slaying an enemy","example":"/api/drop?stats=12-14-10-11-13-16-12-14-11&class=elite","scenario":{"use":"to determine how many orbs a slain enemy yields, given its stats and encounter class.","returns":"the rolled orb amount with the base drop, class multiplier, and variance laid bare."}},{"method":"GET","path":"/api/drop/classes","summary":"encounter classes and their drop multipliers","scenario":{"use":"to learn the five encounter classes and the multiplier each bestows upon the base drop.","returns":"trash, veteran, elite, boss, and world-boss with multipliers 1, 3, 10, 50, and 250."}},{"method":"GET","path":"/api/traits/impact","query":"name, kind=advantage|disadvantage","summary":"deterministic stat modifier for a single trait","scenario":{"use":"to learn the exact stat modifier a trait name produces, for the hash is deterministic and does not vary.","returns":"the primary stat, its delta, the secondary stat if the tier warrants one, and the tier of the impact."}},{"method":"GET","path":"/api/traits/impacts","query":"kind=advantage|disadvantage","summary":"precomputed bulk trait impact map","example":"/api/traits/impacts?kind=advantage","scenario":{"use":"to obtain every trait pre-scored with its stat modifier in a single call.","returns":"each trait name with its tier and the primary and secondary deltas the hash has ordained."}},{"method":"GET","path":"/api/attributes","query":"stats=9-ints","summary":"derive 23 attributes from the 5 primary stats","example":"/api/attributes?stats=14-12-10-11-13-16-12-14-11","scenario":{"use":"to expand base stats into health, damage, speed, dodge, and the remaining derived attributes.","returns":"each of the twenty-three attributes with its computed value."}},{"method":"GET","path":"/api/attributes/spec","summary":"attribute formula spec","scenario":{"use":"to obtain the formula behind every derived attribute, that a client may recompute them locally.","returns":"the full formula table with base, primary coefficient, secondary coefficient, and the stats each attribute draws from."}}]}