curl --request GET \
--url https://api.parlayx.com/v1/kalshi/orders/{orderId} \
--header 'PX-Content-Sha256: <px-content-sha256>' \
--header 'PX-Key-Id: <px-key-id>' \
--header 'PX-Signature: <px-signature>' \
--header 'PX-Timestamp: <px-timestamp>'import requests
url = "https://api.parlayx.com/v1/kalshi/orders/{orderId}"
headers = {
"PX-Key-Id": "<px-key-id>",
"PX-Timestamp": "<px-timestamp>",
"PX-Signature": "<px-signature>",
"PX-Content-Sha256": "<px-content-sha256>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'PX-Key-Id': '<px-key-id>',
'PX-Timestamp': '<px-timestamp>',
'PX-Signature': '<px-signature>',
'PX-Content-Sha256': '<px-content-sha256>'
}
};
fetch('https://api.parlayx.com/v1/kalshi/orders/{orderId}', 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.parlayx.com/v1/kalshi/orders/{orderId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"PX-Content-Sha256: <px-content-sha256>",
"PX-Key-Id: <px-key-id>",
"PX-Signature: <px-signature>",
"PX-Timestamp: <px-timestamp>"
],
]);
$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.parlayx.com/v1/kalshi/orders/{orderId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("PX-Key-Id", "<px-key-id>")
req.Header.Add("PX-Timestamp", "<px-timestamp>")
req.Header.Add("PX-Signature", "<px-signature>")
req.Header.Add("PX-Content-Sha256", "<px-content-sha256>")
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.parlayx.com/v1/kalshi/orders/{orderId}")
.header("PX-Key-Id", "<px-key-id>")
.header("PX-Timestamp", "<px-timestamp>")
.header("PX-Signature", "<px-signature>")
.header("PX-Content-Sha256", "<px-content-sha256>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.parlayx.com/v1/kalshi/orders/{orderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["PX-Key-Id"] = '<px-key-id>'
request["PX-Timestamp"] = '<px-timestamp>'
request["PX-Signature"] = '<px-signature>'
request["PX-Content-Sha256"] = '<px-content-sha256>'
response = http.request(request)
puts response.read_body{
"orderId": "3f8b2c9a-2d18-4f7e-9c2a-1b6e1f0c8a4d",
"ticker": "KXPRES-2028",
"side": "BID",
"type": "LIMIT",
"count": "10",
"yesPrice": "<string>",
"noPrice": "<string>",
"outcomeSide": "YES",
"price": "0.38",
"postOnly": false,
"status": "OPEN",
"venueOrderId": "b4d9e1f2-3a6c-4d8e-9f1a-2b3c4d5e6f70",
"createdAt": "2026-07-26T12:00:00.000Z",
"updatedAt": "2026-07-26T12:05:00.000Z",
"filledCount": "4",
"averageYesPrice": "<string>",
"averageNoPrice": "<string>",
"averagePrice": "0.3725",
"feesCents": 6,
"feesUsd": "0.063000",
"closedAt": "2026-07-26T12:10:00.000Z",
"clientOrderId": "order-1",
"queuePosition": "<string>"
}{
"error": {
"code": "INVALID_REQUEST",
"message": "<string>",
"orderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>"
}
}{
"error": {
"code": "INVALID_REQUEST",
"message": "<string>",
"orderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>"
}
}{
"error": {
"code": "INVALID_REQUEST",
"message": "<string>",
"orderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>"
}
}Get Order
Fetches a Kalshi order by its issued order id.
curl --request GET \
--url https://api.parlayx.com/v1/kalshi/orders/{orderId} \
--header 'PX-Content-Sha256: <px-content-sha256>' \
--header 'PX-Key-Id: <px-key-id>' \
--header 'PX-Signature: <px-signature>' \
--header 'PX-Timestamp: <px-timestamp>'import requests
url = "https://api.parlayx.com/v1/kalshi/orders/{orderId}"
headers = {
"PX-Key-Id": "<px-key-id>",
"PX-Timestamp": "<px-timestamp>",
"PX-Signature": "<px-signature>",
"PX-Content-Sha256": "<px-content-sha256>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {
'PX-Key-Id': '<px-key-id>',
'PX-Timestamp': '<px-timestamp>',
'PX-Signature': '<px-signature>',
'PX-Content-Sha256': '<px-content-sha256>'
}
};
fetch('https://api.parlayx.com/v1/kalshi/orders/{orderId}', 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.parlayx.com/v1/kalshi/orders/{orderId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"PX-Content-Sha256: <px-content-sha256>",
"PX-Key-Id: <px-key-id>",
"PX-Signature: <px-signature>",
"PX-Timestamp: <px-timestamp>"
],
]);
$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.parlayx.com/v1/kalshi/orders/{orderId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("PX-Key-Id", "<px-key-id>")
req.Header.Add("PX-Timestamp", "<px-timestamp>")
req.Header.Add("PX-Signature", "<px-signature>")
req.Header.Add("PX-Content-Sha256", "<px-content-sha256>")
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.parlayx.com/v1/kalshi/orders/{orderId}")
.header("PX-Key-Id", "<px-key-id>")
.header("PX-Timestamp", "<px-timestamp>")
.header("PX-Signature", "<px-signature>")
.header("PX-Content-Sha256", "<px-content-sha256>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.parlayx.com/v1/kalshi/orders/{orderId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["PX-Key-Id"] = '<px-key-id>'
request["PX-Timestamp"] = '<px-timestamp>'
request["PX-Signature"] = '<px-signature>'
request["PX-Content-Sha256"] = '<px-content-sha256>'
response = http.request(request)
puts response.read_body{
"orderId": "3f8b2c9a-2d18-4f7e-9c2a-1b6e1f0c8a4d",
"ticker": "KXPRES-2028",
"side": "BID",
"type": "LIMIT",
"count": "10",
"yesPrice": "<string>",
"noPrice": "<string>",
"outcomeSide": "YES",
"price": "0.38",
"postOnly": false,
"status": "OPEN",
"venueOrderId": "b4d9e1f2-3a6c-4d8e-9f1a-2b3c4d5e6f70",
"createdAt": "2026-07-26T12:00:00.000Z",
"updatedAt": "2026-07-26T12:05:00.000Z",
"filledCount": "4",
"averageYesPrice": "<string>",
"averageNoPrice": "<string>",
"averagePrice": "0.3725",
"feesCents": 6,
"feesUsd": "0.063000",
"closedAt": "2026-07-26T12:10:00.000Z",
"clientOrderId": "order-1",
"queuePosition": "<string>"
}{
"error": {
"code": "INVALID_REQUEST",
"message": "<string>",
"orderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>"
}
}{
"error": {
"code": "INVALID_REQUEST",
"message": "<string>",
"orderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>"
}
}{
"error": {
"code": "INVALID_REQUEST",
"message": "<string>",
"orderId": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "<string>"
}
}Headers
The key id issued for your signing keypair.
Unix seconds at signing, valid within 30 seconds of the server clock.
Ed25519 signature of the request
Hex SHA-256 of the request body, or the SHA-256 of the empty string when there is no body.
Path Parameters
Issued order id.
"3f8b2c9a-2d18-4f7e-9c2a-1b6e1f0c8a4d"
Response
Order found
Issued order id.
"3f8b2c9a-2d18-4f7e-9c2a-1b6e1f0c8a4d"
Kalshi market ticker the order trades.
"KXPRES-2028"
Order direction on the market's YES book.
| Side | Meaning |
|---|---|
BID | Buy YES contracts, profiting if the market resolves YES. |
ASK | Sell YES contracts, profiting if the market resolves NO. |
Selling YES is the same order as buying NO, so ASK covers both.
BID, ASK "BID"
Order type. Kalshi orders are limit orders.
LIMIT "LIMIT"
Order size in contracts, as a decimal string.
"10"
Limit price per YES contract in dollars, or null when unavailable.
Complementary limit price per NO contract in dollars, or null when unavailable.
Economic direction of an order, YES for BID and NO for ASK.
YES, NO "YES"
Deprecated; use yesPrice for the limit price per YES contract in dollars.
"0.38"
Whether the order was placed as maker-only.
false
Order lifecycle status.
| Status | Meaning |
|---|---|
PENDING | Accepted, not yet sent to the venue. |
SUBMITTED | At the venue, outcome not yet known. Either not yet acknowledged, or an immediate-or-cancel order acknowledged but not yet settled. |
OPEN | Resting on the venue, and cancellable. |
FILLED | Fully filled. |
CANCELLED / REJECTED | Terminal. |
PENDING, SUBMITTED, OPEN, FILLED, CANCELLED, REJECTED "OPEN"
Kalshi order id, or null until the venue acknowledges the order.
"b4d9e1f2-3a6c-4d8e-9f1a-2b3c4d5e6f70"
Time the order was created, in ISO-8601.
"2026-07-26T12:00:00.000Z"
Time the order was last updated, in ISO-8601.
"2026-07-26T12:05:00.000Z"
Contracts filled so far as a decimal string, or null before any fill.
"4"
Fill-weighted average price per YES contract in dollars, or null before any fill.
Complementary fill-weighted average price per NO contract in dollars, or null before any fill.
Deprecated; use averageYesPrice for the fill-weighted average price per YES contract in dollars.
"0.3725"
Total fees charged, rounded to the nearest whole cent, or null before any fill.
6
Total fees charged in dollars, exact to the granularity the venue charges, or null before any fill. Charged on top of the executed notional, so it is additive to cost on a buy and deducted from proceeds on a sell.
"0.063000"
Time the order reached a terminal state, or null while still open.
"2026-07-26T12:10:00.000Z"
Your own identifier for this order as you supplied it, otherwise its orderId.
"order-1"
Contracts ahead of this order in price-time priority, or null when unavailable.