Get a base event with its events and each event's contracts
curl --request GET \
--url https://api.aries.com/v1/predictions/base-events/{baseEventId}import requests
url = "https://api.aries.com/v1/predictions/base-events/{baseEventId}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.aries.com/v1/predictions/base-events/{baseEventId}', 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/base-events/{baseEventId}",
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/base-events/{baseEventId}"
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/base-events/{baseEventId}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aries.com/v1/predictions/base-events/{baseEventId}")
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": {
"baseEvent": {
"baseEventId": "<string>",
"firstSeenAt": "2023-11-07T05:31:56Z",
"lastSyncedAt": "2023-11-07T05:31:56Z"
},
"events": [
{
"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 Base Event
Returns a base event together with every event beneath it and each event’s contracts, as one nested tree.
Use Case: Load a whole series — for example every monthly unemployment event — in a single request.
GET
/
v1
/
predictions
/
base-events
/
{baseEventId}
Get a base event with its events and each event's contracts
curl --request GET \
--url https://api.aries.com/v1/predictions/base-events/{baseEventId}import requests
url = "https://api.aries.com/v1/predictions/base-events/{baseEventId}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.aries.com/v1/predictions/base-events/{baseEventId}', 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/base-events/{baseEventId}",
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/base-events/{baseEventId}"
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/base-events/{baseEventId}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aries.com/v1/predictions/base-events/{baseEventId}")
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": {
"baseEvent": {
"baseEventId": "<string>",
"firstSeenAt": "2023-11-07T05:31:56Z",
"lastSyncedAt": "2023-11-07T05:31:56Z"
},
"events": [
{
"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
A base event is the top-level series (for exampleUNR for unemployment, HORC for House control). Under it sit the individual events — usually one per period or race — and under each event sit its contracts. This endpoint returns all three levels in one nested response.
GET /v1/predictions/base-events/UNR
Response shape
data.baseEvent carries the series, and data.events is an array where each entry has the same event + contracts shape returned by Get Event Contracts:
{
"success": true,
"data": {
"baseEvent": {
"baseEventId": "UNR",
"firstSeenAt": "2026-01-04T09:00:00Z",
"lastSyncedAt": "2026-04-18T13:45:01.234Z"
},
"events": [
{
"event": {
"eventId": "UNR_0822",
"baseEventId": "UNR",
"timeSpecifier": "2022.08",
"lastSyncedAt": "2026-04-18T13:45:01.234Z"
},
"contracts": [
{
"symbol": "UNR_0822_3.5",
"eventId": "UNR_0822",
"baseEventId": "UNR",
"state": "ACTIVE",
"tradable": true,
"nonTradable": false,
"tickSize": "0.01",
"symbolSubTypes": [],
"lastSyncedAt": "2026-04-18T13:45:01.234Z"
}
]
}
]
}
}
A long-running series can carry a large number of events, each with its own contracts. When you only need one period, call Get Event Contracts with that
eventId instead, or narrow with search using the baseEventId filter.Example
curl -X GET "https://api.aries.com/v1/predictions/base-events/UNR"
Errors
400—baseEventIdmissing or malformed404— no base event with that ID500— unexpected server error
Was this page helpful?