curl --request POST \
--url https://api.rook.pm/v1/markets:resolve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"client_reference": "rfq_leg_1",
"venue": "polymarket",
"venue_market_id": "1000001"
},
{
"client_reference": "rfq_leg_2",
"venue": "polymarket",
"venue_market_id": "1000002"
}
]
}
'import requests
url = "https://api.rook.pm/v1/markets:resolve"
payload = { "inputs": [
{
"client_reference": "rfq_leg_1",
"venue": "polymarket",
"venue_market_id": "1000001"
},
{
"client_reference": "rfq_leg_2",
"venue": "polymarket",
"venue_market_id": "1000002"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
inputs: [
{client_reference: 'rfq_leg_1', venue: 'polymarket', venue_market_id: '1000001'},
{client_reference: 'rfq_leg_2', venue: 'polymarket', venue_market_id: '1000002'}
]
})
};
fetch('https://api.rook.pm/v1/markets:resolve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"items": [
{
"client_reference": "rfq_leg_1",
"status": "RESOLVED",
"market_id": "mkt_fed_dec_2026_cut",
"market_version": "1",
"input": {
"client_reference": "rfq_leg_1",
"venue": "polymarket",
"venue_market_id": "1000001"
},
"event_ids": [
"evt_pm_900001"
],
"family_ids": [
"fam_fed_dec_2026"
],
"outcomes": [
{
"outcome_id": "out_fed_dec_2026_cut_yes",
"label": "YES",
"listings": [
{
"listing_id": "lst_pm_fed_dec_2026_cut_yes",
"venue": "polymarket",
"venue_market_id": "1000001",
"venue_outcome_id": "YES",
"outcome_id": "out_fed_dec_2026_cut_yes",
"mapping_version": "1",
"status": "OPEN",
"trading_rules": {
"quantity_unit": "shares",
"quote_currency": "USDC",
"payout_currency": "USDC",
"payout_unit": "1",
"quantity_increment": "1",
"tick_bands": [
{
"lower_price": "0",
"upper_price": "1",
"tick_size": "0.01"
}
]
},
"observed_at": "2026-10-19T12:00:00Z",
"venue_event_ids": [
"900001"
]
}
]
},
{
"outcome_id": "out_fed_dec_2026_cut_no",
"label": "NO",
"listings": []
}
]
},
{
"client_reference": "rfq_leg_2",
"status": "RESOLVED",
"market_id": "mkt_fed_dec_2026_hold",
"market_version": "1",
"input": {
"client_reference": "rfq_leg_2",
"venue": "polymarket",
"venue_market_id": "1000002"
},
"event_ids": [
"evt_pm_900002"
],
"family_ids": [
"fam_fed_dec_2026"
],
"outcomes": [
{
"outcome_id": "out_fed_dec_2026_hold_yes",
"label": "YES",
"listings": []
},
{
"outcome_id": "out_fed_dec_2026_hold_no",
"label": "NO",
"listings": []
}
]
}
],
"as_of": "2026-10-19T12:00:00Z"
}Resolve markets
Translate a batch of native venue market identifiers into Rook IDs before requesting analytics. Each input requires venue and a unique client_reference. A venue_market_id alone resolves a market and returns its outcomes and listings; add venue_outcome_id to resolve one outcome side. Token IDs, or supported ticker/slug plus outcome forms, can resolve an individual listing.
For Polymarket, venue_market_id is the numeric market ID, encoded as decimal text. It is distinct from a numeric venue_event_id, a condition ID and a CLOB token ID. To look up an event, use /events with venue and venue_event_id. A market selector must never be populated with an event ID.
Each result echoes the native input and returns RESOLVED, UNRESOLVED or AMBIGUOUS. A resolved market includes market_id, market_version, event_ids, family_ids and outcomes; a resolved outcome also includes outcome_id, listing_id and mapping_version. Unknown or ambiguous inputs carry a reason and are never guessed. One failed item does not hide the results for other inputs. Use returned outcome/listing IDs in payouts, relationships and evaluations.
curl --request POST \
--url https://api.rook.pm/v1/markets:resolve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"client_reference": "rfq_leg_1",
"venue": "polymarket",
"venue_market_id": "1000001"
},
{
"client_reference": "rfq_leg_2",
"venue": "polymarket",
"venue_market_id": "1000002"
}
]
}
'import requests
url = "https://api.rook.pm/v1/markets:resolve"
payload = { "inputs": [
{
"client_reference": "rfq_leg_1",
"venue": "polymarket",
"venue_market_id": "1000001"
},
{
"client_reference": "rfq_leg_2",
"venue": "polymarket",
"venue_market_id": "1000002"
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
inputs: [
{client_reference: 'rfq_leg_1', venue: 'polymarket', venue_market_id: '1000001'},
{client_reference: 'rfq_leg_2', venue: 'polymarket', venue_market_id: '1000002'}
]
})
};
fetch('https://api.rook.pm/v1/markets:resolve', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"items": [
{
"client_reference": "rfq_leg_1",
"status": "RESOLVED",
"market_id": "mkt_fed_dec_2026_cut",
"market_version": "1",
"input": {
"client_reference": "rfq_leg_1",
"venue": "polymarket",
"venue_market_id": "1000001"
},
"event_ids": [
"evt_pm_900001"
],
"family_ids": [
"fam_fed_dec_2026"
],
"outcomes": [
{
"outcome_id": "out_fed_dec_2026_cut_yes",
"label": "YES",
"listings": [
{
"listing_id": "lst_pm_fed_dec_2026_cut_yes",
"venue": "polymarket",
"venue_market_id": "1000001",
"venue_outcome_id": "YES",
"outcome_id": "out_fed_dec_2026_cut_yes",
"mapping_version": "1",
"status": "OPEN",
"trading_rules": {
"quantity_unit": "shares",
"quote_currency": "USDC",
"payout_currency": "USDC",
"payout_unit": "1",
"quantity_increment": "1",
"tick_bands": [
{
"lower_price": "0",
"upper_price": "1",
"tick_size": "0.01"
}
]
},
"observed_at": "2026-10-19T12:00:00Z",
"venue_event_ids": [
"900001"
]
}
]
},
{
"outcome_id": "out_fed_dec_2026_cut_no",
"label": "NO",
"listings": []
}
]
},
{
"client_reference": "rfq_leg_2",
"status": "RESOLVED",
"market_id": "mkt_fed_dec_2026_hold",
"market_version": "1",
"input": {
"client_reference": "rfq_leg_2",
"venue": "polymarket",
"venue_market_id": "1000002"
},
"event_ids": [
"evt_pm_900002"
],
"family_ids": [
"fam_fed_dec_2026"
],
"outcomes": [
{
"outcome_id": "out_fed_dec_2026_hold_yes",
"label": "YES",
"listings": []
},
{
"outcome_id": "out_fed_dec_2026_hold_no",
"label": "NO",
"listings": []
}
]
}
],
"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.
Body
One or more native identifier tuples; unique client_reference per tuple. Each returns a status-bearing mapping result.
1Supply venue and at least one exact native identity form. A venue_market_id alone resolves the whole market; add venue_outcome_id to select a side. Token, ticker+outcome and slug+outcome forms select an individual listing. If multiple forms are provided they must identify the same source record or fail validation. Unknown/ambiguous mappings are not guessed. Event IDs belong in /events?venue=...&venue_event_id=..., never venue_market_id.
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes