Get an event and all contracts under it
curl --request GET \
--url https://api.aries.com/v1/predictions/events/{eventId}/contractsimport requests
url = "https://api.aries.com/v1/predictions/events/{eventId}/contracts"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.aries.com/v1/predictions/events/{eventId}/contracts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aries.com/v1/predictions/events/{eventId}/contracts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aries.com/v1/predictions/events/{eventId}/contracts"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aries.com/v1/predictions/events/{eventId}/contracts")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aries.com/v1/predictions/events/{eventId}/contracts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"event": {
"eventId": "<string>",
"baseEventId": "<string>",
"lastSyncedAt": "2023-11-07T05:31:56Z",
"eventDisplayName": "<string>",
"eventQuestion": "<string>",
"sourceAgency": "<string>",
"sourceAgencyUrl": "<string>",
"underlyingSpec": "<string>",
"calculationMethod": "<string>",
"timeSpecifier": "2026.06",
"expectedPayoutTime": "2023-11-07T05:31:56Z",
"expectedLastTradeTime": "2023-11-07T05:31:56Z",
"expectedResolutionTime": "2023-11-07T05:31:56Z"
},
"contracts": [
{
"symbol": "<string>",
"eventId": "<string>",
"baseEventId": "<string>",
"state": "<string>",
"tradable": true,
"nonTradable": true,
"tickSize": "0.01",
"symbolSubTypes": [
"<string>"
],
"lastSyncedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"question": "<string>",
"strikeValue": "<string>",
"strikeUnit": "<string>",
"evaluationType": "<string>",
"baseCurrency": "<string>",
"multiplier": 123,
"minTradeQty": "<string>",
"startDate": "2023-11-07T05:31:56Z",
"expirationDate": "2023-11-07T05:31:56Z",
"terminationDate": "2023-11-07T05:31:56Z",
"lastTradeDate": "2023-11-07T05:31:56Z",
"priceScale": "<string>",
"priceLimit": "<unknown>",
"tradingSchedule": "<unknown>",
"rawPayload": "<unknown>"
}
]
}
}{
"success": false,
"error": {
"type": "VALIDATION",
"code": "SYMBOL_REQUIRED",
"message": "string"
}
}{
"success": false,
"error": {
"type": "NOT_FOUND",
"code": "EVENT_NOT_FOUND",
"message": "string"
}
}{
"success": false,
"error": {
"type": "INTERNAL",
"code": "INTERNAL_ERROR",
"message": "string"
}
}Reference Data
Get Event Contracts
Returns a single event together with every contract defined under it, read live from the catalogue.
Use Case: Enumerate the tradable strikes of one event, and read current tradability before acting on a search hit.
GET
/
v1
/
predictions
/
events
/
{eventId}
/
contracts
Get an event and all contracts under it
curl --request GET \
--url https://api.aries.com/v1/predictions/events/{eventId}/contractsimport requests
url = "https://api.aries.com/v1/predictions/events/{eventId}/contracts"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.aries.com/v1/predictions/events/{eventId}/contracts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aries.com/v1/predictions/events/{eventId}/contracts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aries.com/v1/predictions/events/{eventId}/contracts"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aries.com/v1/predictions/events/{eventId}/contracts")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aries.com/v1/predictions/events/{eventId}/contracts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"event": {
"eventId": "<string>",
"baseEventId": "<string>",
"lastSyncedAt": "2023-11-07T05:31:56Z",
"eventDisplayName": "<string>",
"eventQuestion": "<string>",
"sourceAgency": "<string>",
"sourceAgencyUrl": "<string>",
"underlyingSpec": "<string>",
"calculationMethod": "<string>",
"timeSpecifier": "2026.06",
"expectedPayoutTime": "2023-11-07T05:31:56Z",
"expectedLastTradeTime": "2023-11-07T05:31:56Z",
"expectedResolutionTime": "2023-11-07T05:31:56Z"
},
"contracts": [
{
"symbol": "<string>",
"eventId": "<string>",
"baseEventId": "<string>",
"state": "<string>",
"tradable": true,
"nonTradable": true,
"tickSize": "0.01",
"symbolSubTypes": [
"<string>"
],
"lastSyncedAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"question": "<string>",
"strikeValue": "<string>",
"strikeUnit": "<string>",
"evaluationType": "<string>",
"baseCurrency": "<string>",
"multiplier": 123,
"minTradeQty": "<string>",
"startDate": "2023-11-07T05:31:56Z",
"expirationDate": "2023-11-07T05:31:56Z",
"terminationDate": "2023-11-07T05:31:56Z",
"lastTradeDate": "2023-11-07T05:31:56Z",
"priceScale": "<string>",
"priceLimit": "<unknown>",
"tradingSchedule": "<unknown>",
"rawPayload": "<unknown>"
}
]
}
}{
"success": false,
"error": {
"type": "VALIDATION",
"code": "SYMBOL_REQUIRED",
"message": "string"
}
}{
"success": false,
"error": {
"type": "NOT_FOUND",
"code": "EVENT_NOT_FOUND",
"message": "string"
}
}{
"success": false,
"error": {
"type": "INTERNAL",
"code": "INTERNAL_ERROR",
"message": "string"
}
}Overview
An event is one real-world question (for exampleHORC_1126). The contracts under it are the individual tradable outcomes or strikes. This endpoint returns the event’s metadata plus the full contract list in one response.
GET /v1/predictions/events/HORC_1126/contracts
This is the current view
Search reads a full-text index that trails the catalogue by seconds. This endpoint reads the catalogue itself. Anything that must be current — in particularstate and tradable — should be read here, using the symbol from a search hit as the key, rather than taken from the hit.
Response
data.event carries the event, data.contracts the array of contracts:
{
"success": true,
"data": {
"event": {
"eventId": "HORC_1126",
"baseEventId": "HORC",
"eventQuestion": "Which party will control the House after the 2026 election?",
"timeSpecifier": "2026.11",
"lastSyncedAt": "2026-04-18T13:45:01.234Z"
},
"contracts": [
{
"symbol": "HORC_1126_Republican",
"eventId": "HORC_1126",
"baseEventId": "HORC",
"state": "ACTIVE",
"tradable": true,
"nonTradable": false,
"tickSize": "0.01",
"symbolSubTypes": [],
"lastSyncedAt": "2026-04-18T13:45:01.234Z"
}
]
}
}
Fields worth knowing
| Field | Notes |
|---|---|
tickSize | Exact decimal as a string. Parse with a decimal type. |
timeSpecifier | Published precision of the event, one of YYYY, YYYY.MM, or YYYY.MM.DD. |
expectedPayoutTime, expectedLastTradeTime, expectedResolutionTime | Venue wall-clock times. The feed carries no time zone, so the trailing Z is a label, not a conversion — do not shift these into local time. |
priceLimit, tradingSchedule, rawPayload | Venue JSON passed through unchanged; shape is not guaranteed stable. |
Example
curl -X GET "https://api.aries.com/v1/predictions/events/HORC_1126/contracts"
Errors
400—eventIdmissing or malformed404— no event with that ID500— unexpected server error
Was this page helpful?