curl --request GET \
--url https://external-api.kalshi.com/trade-api/v2/milestonesimport requests
url = "https://external-api.kalshi.com/trade-api/v2/milestones"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://external-api.kalshi.com/trade-api/v2/milestones', 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://external-api.kalshi.com/trade-api/v2/milestones",
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://external-api.kalshi.com/trade-api/v2/milestones"
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://external-api.kalshi.com/trade-api/v2/milestones")
.asString();require 'uri'
require 'net/http'
url = URI("https://external-api.kalshi.com/trade-api/v2/milestones")
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{
"milestones": [
{
"id": "<string>",
"category": "Sports",
"type": "football_game",
"start_date": "2023-11-07T05:31:56Z",
"related_event_tickers": [
"<string>"
],
"title": "<string>",
"notification_message": "<string>",
"details": {},
"primary_event_tickers": [
"<string>"
],
"last_updated_ts": "2023-11-07T05:31:56Z",
"end_date": "2023-11-07T05:31:56Z",
"source_id": "<string>",
"source_ids": {}
}
],
"cursor": "<string>"
}Get Milestones
Minimum start date to filter milestones. Format: RFC3339 timestamp
curl --request GET \
--url https://external-api.kalshi.com/trade-api/v2/milestonesimport requests
url = "https://external-api.kalshi.com/trade-api/v2/milestones"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://external-api.kalshi.com/trade-api/v2/milestones', 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://external-api.kalshi.com/trade-api/v2/milestones",
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://external-api.kalshi.com/trade-api/v2/milestones"
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://external-api.kalshi.com/trade-api/v2/milestones")
.asString();require 'uri'
require 'net/http'
url = URI("https://external-api.kalshi.com/trade-api/v2/milestones")
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{
"milestones": [
{
"id": "<string>",
"category": "Sports",
"type": "football_game",
"start_date": "2023-11-07T05:31:56Z",
"related_event_tickers": [
"<string>"
],
"title": "<string>",
"notification_message": "<string>",
"details": {},
"primary_event_tickers": [
"<string>"
],
"last_updated_ts": "2023-11-07T05:31:56Z",
"end_date": "2023-11-07T05:31:56Z",
"source_id": "<string>",
"source_ids": {}
}
],
"cursor": "<string>"
}Query Parameters
Number of milestones to return per page
1 <= x <= 500Minimum start date to filter milestones. Format RFC3339 timestamp
Filter by milestone category. E.g. Sports, Elections, Esports, Crypto.
"Sports"
Filter by competition. E.g. Pro Football, Pro Basketball (M), Pro Baseball, Pro Hockey, College Football.
"Pro Football"
Filter by source id
Filter by milestone type. E.g. football_game, basketball_game, soccer_tournament_multi_leg, baseball_game, hockey_match, political_race.
"football_game"
Filter by related event ticker
Pagination cursor. Use the cursor value returned from the previous response to get the next page of results
Filter milestones with metadata updated after this Unix timestamp (in seconds). Use this to efficiently poll for changes.