Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Kalshi orders API

Order management endpoints

Kalshi orders API is one of 21 APIs that Kalshi publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include orders. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 16 operations across 12 paths, and defines 38 schemas. It is described by OpenAPI 3.0.0, at version 3.19.0.

Requests are made against 4 base URLs: https://external-api.kalshi.com/trade-api/v2, https://api.elections.kalshi.com/trade-api/v2, https://external-api.demo.kalshi.co/trade-api/v2, https://demo-api.kalshi.co/trade-api/v2.

16 operations 12 paths 38 schemas 4 DELETE4 GET8 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
3.19.0
Base URL
https://api.elections.kalshi.com/trade-api/v2
Authentication
API Key, API Key, API Key
Resource Areas
1

Authentication & Security 3

Kalshi orders API declares 3 security schemes for authenticating requests. An API key is passed in the header as KALSHI-ACCESS-KEY (kalshiAccessKey). An API key is passed in the header as KALSHI-ACCESS-SIGNATURE (kalshiAccessSignature). An API key is passed in the header as KALSHI-ACCESS-TIMESTAMP (kalshiAccessTimestamp).

  • kalshiAccessKey — Your API key ID
  • kalshiAccessSignature — RSA-PSS signature of the request
  • kalshiAccessTimestamp — Request timestamp in milliseconds

Paths & Operations 16

Across 12 paths, the API surfaces 16 operations — 4 DELETE, 4 GET, 8 POST. Each is listed below with its method, path, parameters, and response codes.

orders 16

Order management endpoints

GET
/portfolio/orders
Get Orders
GetOrders 8 params → 200400401500
POST
/portfolio/orders
Create Order
CreateOrder body → 201400401409429500
GET
/portfolio/orders/{order_id}
Get Order
GetOrder 1 param → 200401404500
DELETE
/portfolio/orders/{order_id}
Cancel Order
CancelOrder 3 params → 200401404500
POST
/portfolio/orders/batched
Batch Create Orders
BatchCreateOrders body → 201400401403500
DELETE
/portfolio/orders/batched
Batch Cancel Orders
BatchCancelOrders body → 200400401403500
POST
/portfolio/orders/{order_id}/amend
Amend Order
AmendOrder 1 param body → 200400401404500
POST
/portfolio/orders/{order_id}/decrease
Decrease Order
DecreaseOrder 1 param body → 200400401404500
GET
/portfolio/orders/queue_positions
Get Queue Positions for Orders
GetOrderQueuePositions 3 params → 200400401500
GET
/portfolio/orders/{order_id}/queue_position
Get Order Queue Position
GetOrderQueuePosition 1 param → 200401404500
POST
/portfolio/events/orders
Create Order (V2)
CreateOrderV2 body → 201400401409429500
POST
/portfolio/events/orders/batched
Batch Create Orders (V2)
BatchCreateOrdersV2 body → 201400401403500
DELETE
/portfolio/events/orders/batched
Batch Cancel Orders (V2)
BatchCancelOrdersV2 body → 200400401403500
DELETE
/portfolio/events/orders/{order_id}
Cancel Order (V2)
CancelOrderV2 3 params → 200401404500
POST
/portfolio/events/orders/{order_id}/amend
Amend Order (V2)
AmendOrderV2 2 params body → 200400401404500
POST
/portfolio/events/orders/{order_id}/decrease
Decrease Order (V2)
DecreaseOrderV2 2 params body → 200400401404500

Schemas 38

The contract defines 38 schemas that model the data the API accepts and returns. The most detailed are Order (27 properties), CreateOrderRequest (21 properties), CreateOrderV2Request (14 properties), AmendOrderRequest (13 properties). Each schema is shown below with its type and property counts.

GetOrderQueuePositionResponse
object
1 property 1 required
AmendOrderRequest
object
13 properties 3 required
CreateOrderV2Request
object
14 properties 7 required
DecreaseOrderV2Response
object
4 properties 3 required
CancelOrderResponse
object
2 properties 2 required
AmendOrderV2Response
object
7 properties 2 required
OrderQueuePosition
object
3 properties 3 required
CancelOrderV2Response
object
4 properties 3 required
BatchCancelOrdersRequestOrder
object
3 properties 1 required
BatchCreateOrdersResponse
object
1 property 1 required
DecreaseOrderRequest
object
6 properties
GetOrderResponse
object
1 property 1 required
GetOrdersResponse
object
2 properties 2 required
SelfTradePreventionType
string
The self-trade prevention type for orders. takeratcross cancels the taker order when it would trade against another order from the same user; execution stops a…
ExchangeIndex
integer
Identifier for an exchange shard. Defaults to 0 if unspecified. Note: currently only 0 supported.
ErrorResponse
object
4 properties
Order
object
27 properties 19 required
CreateOrderRequest
object
21 properties 3 required
BatchCreateOrdersIndividualResponse
object
3 properties
BatchCancelOrdersRequest
object
2 properties
FixedPointCount
string
Fixed-point contract count string (2 decimals, e.g., "10.00"; referred to as "fp" in field names). Requests accept 0–2 decimal places (e.g., "10", "10.0", "10.…
CreateOrderV2Response
object
7 properties 4 required
OrderStatus
string
The status of an order
BatchCreateOrdersV2Response
object
1 property 1 required
BatchCancelOrdersV2Response
object
1 property 1 required
DecreaseOrderV2Request
object
3 properties
DecreaseOrderResponse
object
1 property 1 required
BookSide
string
Side of the book for an order or trade. For event markets, this refers to the YES leg only: bid means buy YES, ask means sell YES. (Selling YES is economically…
BatchCancelOrdersIndividualResponse
object
4 properties 2 required
BatchCreateOrdersV2Request
object
1 property 1 required
AmendOrderV2Request
object
7 properties 4 required
FixedPointDollars
string
US dollar amount as a fixed-point decimal string with up to 6 decimal places of precision. This is the maximum supported precision; valid quote intervals for a…
BatchCancelOrdersResponse
object
1 property 1 required
BatchCancelOrdersV2Request
object
1 property 1 required
GetOrderQueuePositionsResponse
object
1 property 1 required
AmendOrderResponse
object
2 properties 2 required
CreateOrderResponse
object
1 property 1 required
BatchCreateOrdersRequest
object
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

kalshi-orders-api-openapi.yml Raw ↑

Other APIs Kalshi publishes across the network.

Kalshi Trade API (Demo)
Kalshi WebSocket Streaming API
Kalshi AsyncAPI Specification
Kalshi Python Starter Kit
Kalshi account API
Kalshi api-keys API
Kalshi communications API
Kalshi events API
Kalshi exchange API
Kalshi fcm API
Kalshi historical API
Kalshi incentive-programs API