Skip to main content
POST
/
portfolio
/
events
/
orders
/
batched
Batch Create Orders (V2)
curl --request POST \
  --url https://api.elections.kalshi.com/trade-api/v2/portfolio/events/orders/batched \
  --header 'Content-Type: application/json' \
  --header 'KALSHI-ACCESS-KEY: <api-key>' \
  --header 'KALSHI-ACCESS-SIGNATURE: <api-key>' \
  --header 'KALSHI-ACCESS-TIMESTAMP: <api-key>' \
  --data '
{
  "orders": [
    {
      "ticker": "<string>",
      "client_order_id": "<string>",
      "side": "bid",
      "count": "10.00",
      "price": "0.5600",
      "time_in_force": "fill_or_kill",
      "self_trade_prevention_type": "taker_at_cross",
      "expiration_time": 123,
      "post_only": true,
      "cancel_order_on_pause": true,
      "reduce_only": true,
      "subaccount": 0,
      "order_group_id": "<string>"
    }
  ]
}
'
{
  "orders": [
    {
      "order_id": "<string>",
      "client_order_id": "<string>",
      "fill_count": "10.00",
      "remaining_count": "10.00",
      "average_fill_price": "0.5600",
      "error": {
        "code": "<string>",
        "message": "<string>",
        "details": "<string>",
        "service": "<string>"
      }
    }
  ]
}
Rate limit: 10 tokens per order in the batch — billed per item, so total cost for a batch of N orders is N × 10. Other endpoints cost 10 tokens per request (not per item) unless noted on their own page. See Rate Limits and Tiers.

Authorizations

KALSHI-ACCESS-KEY
string
header
required

Your API key ID

KALSHI-ACCESS-SIGNATURE
string
header
required

RSA-PSS signature of the request

KALSHI-ACCESS-TIMESTAMP
string
header
required

Request timestamp in milliseconds

Body

application/json
orders
object[]
required

Response

Batch order creation completed

orders
object[]
required