orders

Amend Order (V2)

Changed on

Endpoint for amending the price, max fillable count, and/or expiration time of an existing event-market order. The request count is the updated total/max fillable count, equal to already filled count plus desired resting remaining count. This behavior matches the v1 amend endpoints; only the request/response shape differs.

post/portfolio/events/orders/{order_id}/amend

Request

  • Base URL
    https://external-api.kalshi.com/trade-api/v2
  • URL
    https://external-api.kalshi.com/trade-api/v2/portfolio/events/orders/{order_id}/amend
  • Auth
    API key in header KALSHI-ACCESS-KEY and API key in header KALSHI-ACCESS-SIGNATURE and API key in header KALSHI-ACCESS-TIMESTAMP

Path parameters

order_idstring required

Order ID

Query parameters

subaccountinteger

Subaccount number (0 for primary, 1-63 for subaccounts). Defaults to 0. Subaccount-restricted API keys default to their locked subaccount and must omit this parameter or pass their locked subaccount.

Request body

tickerstring required

Market ticker

side'bid' | 'ask' required

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 equivalent to buying NO at 1 - price, but this endpoint quotes everything from the YES side.)

pricestring required

Fixed-point US dollar string. Most request fields accept 2-4 decimal places (e.g., "0.56", "0.5600"); responses emit up to 6. Valid quote intervals for a given market are constrained by that market's price level structure.

countstring required

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.00"); responses always emit 2 decimals. Fractional contract values (e.g., "2.50") are supported; the minimum granularity is 0.01 contracts.

client_order_idstring

The original client-specified order ID to be amended

updated_client_order_idstring

The new client-specified order ID after amendment

expiration_timeinteger

New Unix expiration timestamp in seconds. Omit to preserve the current expiry, or use 0 to remove it (good-till-canceled). A nonzero expiry must be in the future. Send the current price and total quantity for an expiry-only amendment; this preserves queue position.

exchange_indexinteger

Identifier for an exchange shard.

Example request

{
  "ticker": "HIGHNY-24JAN01-T60",
  "side": "bid",
  "price": "0.5700",
  "count": "8.00",
  "client_order_id": "8c35ecb3-328f-4f52-8c7c-0f4b9862f8d1",
  "updated_client_order_id": "2a0e3fc9-b593-4aa3-96e5-82f7f7566c2a",
  "exchange_index": 0
}

Response

Order amended successfully

order_idstring required
client_order_idstring
remaining_countstring

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.00"); responses always emit 2 decimals. Fractional contract values (e.g., "2.50") are supported; the minimum granularity is 0.01 contracts.

fill_countstring

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.00"); responses always emit 2 decimals. Fractional contract values (e.g., "2.50") are supported; the minimum granularity is 0.01 contracts.

average_fill_pricestring

Fixed-point US dollar string. Most request fields accept 2-4 decimal places (e.g., "0.56", "0.5600"); responses emit up to 6. Valid quote intervals for a given market are constrained by that market's price level structure.

average_fee_paidstring

Fixed-point US dollar string. Most request fields accept 2-4 decimal places (e.g., "0.56", "0.5600"); responses emit up to 6. Valid quote intervals for a given market are constrained by that market's price level structure.

ts_msinteger required

Matching engine timestamp at which the amend was processed, as Unix epoch milliseconds.

Example response

{
  "order_id": "3b23c1c7-f4ef-4f0d-8b9a-9e53c61f1a0d",
  "client_order_id": "2a0e3fc9-b593-4aa3-96e5-82f7f7566c2a",
  "remaining_count": "8.00",
  "fill_count": "0.00",
  "ts_ms": 1715793690123
}

Changes