v56

latestOpenAPI 3.0.0raw.githubusercontent.com2026-08-03113163377.5 KB
Orders

Modify order

Modify an existing open limit order or TPSL order by changing its price, size, and/or trigger_price.

For untriggered TPSL orders, you can modify trigger_price, price (limit orders only), and size. Once a TPSL limit order triggers you can modify its price and size just like a regular limit order, but the trigger_price is no longer modifiable.

TPSL market orders execute immediately when triggered and cannot be modified afterwards.

The modified order maintains its original order ID.

put/orders/{order_id}

Path parameters

order_idstring required

Order Id

Request body

idstring required

Order ID to be modified

marketstring required

Market for which order is modified

on_behalf_of_accountstring

ID corresponding to the configured isolated margin account. Only for isolated margin orders

pricestring required

Existing or modified price of the order

sidestring required

Existing side of the order

signaturestring required

Order signature in as a string "[r,s]" signed by account's paradex private key

signature_timestampinteger required

Unix timestamp in milliseconds of order creation, used for signature verification

sizestring required

Existing or modified size of the order

trigger_pricestring

Existing or modified trigger price of a TPSL order

typestring required

Existing type of the order

Example request

{
  "market": "BTC-USD-PERP",
  "on_behalf_of_account": "0x1234567890abcdef",
  "price": "29500.12",
  "side": "BUY",
  "size": "1.213",
  "trigger_price": "29500.12",
  "type": "LIMIT"
}

Response

OK

accountstring

Paradex Account

avg_fill_pricestring

Average fill price of the order

cancel_reasonstring

Reason for order cancellation if it was closed by cancel

client_idstring

Client order id provided by the client at order creation

created_atinteger

Order creation time

flagsResponsesOrderFlag[]

Order flags, allow flag: REDUCE_ONLY

idstring

Unique order identifier generated by Paradex

instruction'GTC' | 'POST_ONLY' | 'IOC' | 'RPI'
last_updated_atinteger

Order last update time. No changes once status=CLOSED

marketstring

Market

pricestring

Order price. 0 for MARKET orders

published_atinteger

Timestamp in milliseconds when order was sent to the client

received_atinteger

Timestamp in milliseconds when order was received by API service

remaining_sizestring

Remaining size of the order

seq_nointeger

Unique increasing number (non-sequential) that is assigned to this order update and changes on every order update. Can be used to deduplicate multiple feeds. WebSocket and REST responses use independently generated seq_no per event.

side'BUY' | 'SELL'
sizestring

Order size

status'NEW' | 'UNTRIGGERED' | 'OPEN' | 'CLOSED'
stp'EXPIRE_MAKER' | 'EXPIRE_TAKER' | 'EXPIRE_BOTH'
timestampinteger

Order signature timestamp

trigger_pricestring

Trigger price for stop order

type'MARKET' | 'LIMIT' | 'STOP_LIMIT' | 'STOP_MARKET' | 'TAKE_PROFIT_LIMIT' | 'TAKE_PROFIT_MARKET' | 'STOP_LOSS_MARKET' | 'STOP_LOSS_LIMIT'

Example response

{
  "account": "0x4638e3041366aa71720be63e32e53e1223316c7f0d56f7aa617542ed1e7512x",
  "avg_fill_price": "26000",
  "cancel_reason": "NOT_ENOUGH_MARGIN",
  "client_id": "x1234",
  "created_at": 1681493746016,
  "id": "123456",
  "last_updated_at": 1681493746016,
  "market": "BTC-USD-PERP",
  "price": "26000",
  "published_at": 1681493746016,
  "received_at": 1681493746016,
  "remaining_size": "0",
  "seq_no": 1681471234972000000,
  "size": "0.05",
  "timestamp": 1681493746016,
  "trigger_price": "26000"
}