> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rook.pm/llms.txt
> Use this file to discover all available pages before exploring further.

# Families and scenarios

> Readable settlement outcomes with stable, versioned references.

A Rook family groups related markets across original venue events and venues. The navigation structure is Family → venue events → markets; each venue's event identity and market membership stay intact. Events and markets return `family_ids`; a family returns `event_ids` and `market_ids`. Membership and analytical coverage are separate. Market memberships can overlap; that does not authorize counting a holding twice.

## Use the published catalog

[`GET /families`](/api-reference/list-families) returns applicable family references. [`GET /scenarios`](/api-reference/list-scenarios) lists the published columns for an explicit family and scenario version.

A scenario has a readable label and description, a representation and a reference:

```json theme={null}
{
  "family_id": "fam_rates",
  "scenario_version": "7",
  "scenario_id": "scn_017"
}
```

These IDs are illustrative. A real integration obtains issued IDs from the catalog and sends them back unchanged. An arbitrary economic description or a customer Monte Carlo sample is not a supported launch scenario input.

## Pin the meaning

Supply `scenario_pins` to reproduce a published analysis:

```json theme={null}
{
  "scenario_pins": [{"family_id": "fam_rates", "scenario_version": "7"}]
}
```

Without explicit pins, a calculation selects current compatible versions once and returns them. Explicit scenario references and pins must agree. Wrong-family, stale or incompatible references fail explicitly.

## Cross-family columns

A joint column contains compatible components:

```json theme={null}
{
  "components": [
    {"family_id": "fam_a", "scenario_version": "2", "scenario_id": "scn_a"},
    {"family_id": "fam_b", "scenario_version": "5", "scenario_id": "scn_b"}
  ]
}
```

Component scopes must be distinct and compatible. Matching array indexes across two families does not establish a joint outcome. Joint admissibility expresses settlement feasibility, not a probability or independence assumption.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.