Live contest for a series
const url = 'https://api.cotes.ai/v1/contests/active?series=KXBTC15M';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.cotes.ai/v1/contests/active?series=KXBTC15M' \ --header 'Authorization: Bearer <token>'Returns the live contest for the given series prefix (e.g. KXBTC15M), including all Cotes AI signals for that contest.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Series prefix, e.g. KXBTC15M. Match is exact and case-sensitive on the prefix. A full ticker also resolves while that round is live, but use /v1/contests/{ticker} for a specific round.
Example
KXBTC15MResponses
Section titled “Responses”Active contest
object
object
Strike / to-beat underlying price in USD, if known.
Oracle settled underlying price (expiration value) in USD once the contest is settled; null while live or if the oracle did not report it.
All Cotes AI signals for this contest (consumers apply their own thresholds).
object
Contest ticker this signal belongs to (same as parent Contest.ticker).
Model probability on side (0–100).
Venue quote for side on the 0–100¢ scale ($0.54 → 54). Same denomination as edge_cents.
Confidence − entry_price_cents. Signed probability points, not settlement money.
Version tag of the model that produced this reading. Stable across a model’s life and changes only when a new model is deployed, so it groups readings by the model behind them. Null on readings stored before the tag was recorded.
Example
{ "state": "live", "settled_side": "up", "signals": [ { "side": "up", "outcome": "pending", "model_version": "c5456da6" } ]}Missing or invalid API key
object
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example"}No matching contest
object
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example"}Too many requests
object
Examplegenerated
{ "type": "https://example.com", "title": "example", "status": 1, "detail": "example"}