curl --request GET \
--url https://api.rook.pm/v1/scenarios \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rook.pm/v1/scenarios"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rook.pm/v1/scenarios', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"items": [
{
"reference": {
"family_id": "fam_fed_dec_2026",
"scenario_version": "1",
"scenario_id": "scn_cut"
},
"label": "Rate cut",
"description": "The announced policy-rate target is lower than before the decision.",
"representation": "CUT_HOLD_HIKE",
"represented_state_count": 1
},
{
"reference": {
"family_id": "fam_fed_dec_2026",
"scenario_version": "1",
"scenario_id": "scn_hold"
},
"label": "Rate unchanged",
"description": "The announced policy-rate target is unchanged.",
"representation": "CUT_HOLD_HIKE",
"represented_state_count": 1
},
{
"reference": {
"family_id": "fam_fed_dec_2026",
"scenario_version": "1",
"scenario_id": "scn_hike"
},
"label": "Rate hike",
"description": "The announced policy-rate target is higher than before the decision.",
"representation": "CUT_HOLD_HIKE",
"represented_state_count": 1
}
],
"next_page_token": null,
"snapshot_id": "snap_rates_20261019_120000",
"as_of": "2026-10-19T12:00:00Z"
}List scenarios
Retrieve the possible settlement cases published for a Rook family. Supply family_id and scenario_version from /families; optionally select specific scenario_ids. Each item provides a scenario reference, readable label and description, plus how many underlying states it represents.
Pass the returned references unchanged to /payouts:calculate or use the family/version pin in /relationships:analyze and /evaluations:run. Scenario IDs only have meaning within their family and version. A wrong-family or stale reference fails explicitly. Pagination returns more columns from the same published catalog; it does not alter the scenario scope.
curl --request GET \
--url https://api.rook.pm/v1/scenarios \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rook.pm/v1/scenarios"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rook.pm/v1/scenarios', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"items": [
{
"reference": {
"family_id": "fam_fed_dec_2026",
"scenario_version": "1",
"scenario_id": "scn_cut"
},
"label": "Rate cut",
"description": "The announced policy-rate target is lower than before the decision.",
"representation": "CUT_HOLD_HIKE",
"represented_state_count": 1
},
{
"reference": {
"family_id": "fam_fed_dec_2026",
"scenario_version": "1",
"scenario_id": "scn_hold"
},
"label": "Rate unchanged",
"description": "The announced policy-rate target is unchanged.",
"representation": "CUT_HOLD_HIKE",
"represented_state_count": 1
},
{
"reference": {
"family_id": "fam_fed_dec_2026",
"scenario_version": "1",
"scenario_id": "scn_hike"
},
"label": "Rate hike",
"description": "The announced policy-rate target is higher than before the decision.",
"representation": "CUT_HOLD_HIKE",
"represented_state_count": 1
}
],
"next_page_token": null,
"snapshot_id": "snap_rates_20261019_120000",
"as_of": "2026-10-19T12:00:00Z"
}Authorizations
Proposed server-to-server API key. No client request HMAC signing scheme is specified.
Headers
Caller correlation reference; not an idempotency guarantee.
Query Parameters
Rook family ID connecting related markets across original venue events. Narrows the selection to this resource. Opaque text identifier. Preserve its exact value.
1Published family scenario-catalog version. Use together with family_id to pin scenario meaning. Opaque text identifier. Preserve its exact value.
1Return only these scenario IDs within the required family and scenario_version. Repeat the parameter for multiple IDs.
1Opaque text identifier. Preserve its exact value.
1Requested maximum items; service caps disclosed by coverage. Oversize requests fail explicitly.
x >= 1Opaque continuation; reuse the same filters/order. Cursor pins the original snapshot.