Place derivatives orders
Places up to 500 orders in one request — the same bulk path the CSV import uses in the app. Responds 202: the batch is handed to a workflow rather than written straight to the book, and if the workspace requires approvals the orders wait for them. required_approvals says how many are outstanding (0 means the batch is already on its way), and the orders appear under GET /v2/derivatives/orders once it completes. The batch is all-or-nothing: if any order is rejected, none are placed. Placing orders requires the Workspace Owner, Workspace Admin or Derivatives Admin role and a signed ISDA agreement; without either the request is rejected with 403.
Authorization
LuxorAPIKey Use your API key here.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/v2/derivatives/orders" \ -H "Content-Type: application/json" \ -d '{ "orders": [ { "contract": "1226", "denomination": "BTC", "side": "BUY", "unit_hashprice": 0.0005, "daily_hashrate_ph": 10 } ] }'{ "action_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "accepted_orders": 12, "required_approvals": 0, "orders_url": "/v2/derivatives/orders"}{ "statusCode": 400, "code": "FST_ERR_VALIDATION", "error": "Bad Request", "message": "body/end_date Required"}{ "statusCode": 403, "code": "7", "error": "Forbidden", "message": "[permission_denied] site_id does not belong to this workspace"}