Place Basket Order¶
The Place Basket Order endpoint enables the simultaneous execution of multiple buy or sell orders across various instruments by grouping them into a single request.
Method: POST
Endpoint: orders/basket
cURL¶
curl --location 'https://api.nubra.io/orders/basket' \
--header 'x-device-id: TEST21234' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer Bearer eyJh...6Pno' \
--data '
 {
  "orders": [{
      "ref_id": 76969,
      "request_type": "ORDER_REQUEST_NEW",
      "order_type": "ORDER_TYPE_MARKET",
      "order_qty": 1,
      "order_side": "ORDER_SIDE_BUY",
      "order_delivery_type": "ORDER_DELIVERY_TYPE_IDAY",
      "execution_type": "STRATEGY_TYPE_MARKET"
    },
    {
      "ref_id": 77128,
      "request_type": "ORDER_REQUEST_NEW",
      "order_type": "ORDER_TYPE_MARKET",
      "order_qty": 1,
      "order_side": "ORDER_SIDE_BUY",
      "order_delivery_type": "ORDER_DELIVERY_TYPE_IDAY",
      "execution_type": "STRATEGY_TYPE_MARKET"
    }]
 }'
Payload¶
{
  "orders": [{
      "ref_id": 76969,
      "request_type": "ORDER_REQUEST_NEW",
      "order_type": "ORDER_TYPE_MARKET",
      "order_qty": 1,
      "order_side": "ORDER_SIDE_BUY",
      "order_delivery_type": "ORDER_DELIVERY_TYPE_IDAY",
      "execution_type": "STRATEGY_TYPE_MARKET"
    },
    {
      "ref_id": 77128,
      "request_type": "ORDER_REQUEST_NEW",
      "order_type": "ORDER_TYPE_MARKET",
      "order_qty": 1,
      "order_side": "ORDER_SIDE_BUY",
      "order_delivery_type": "ORDER_DELIVERY_TYPE_IDAY",
      "execution_type": "STRATEGY_TYPE_MARKET"
}]
}
Request Parameters¶
| Field | Type | Required | Description | 
|---|---|---|---|
| orders | array | Yes | Array of order objects | 
Each order object in the array should contain:
| Parameter | Type | Required | Description | 
|---|---|---|---|
| ref_id | int | Yes | The instrument reference id received from Instrument API (e.g., "69353") | 
| request_type | string | Yes | Always use ORDER_REQUEST_NEW | 
| order_type | string | Yes | ORDER_TYPE_LIMIT / ORDER_TYPE_MARKET | 
| order_qty | int | Yes | Quantity of contracts or shares | 
| order_price | int | Yes | Price at which order is placed ( in paise ) | 
| order_side | string | Yes | ORDER_SIDE_BUY or ORDER_SIDE_SELL | 
| order_delivery_type | string | Yes | ORDER_DELIVERY_TYPE_IDAY, ORDER_DELIVERY_TYPE_CNC | 
| execution_type | string | Yes | Strategy type – MARKET, LIMIT, IOC, etc. | 
| leg_size | int | No | Required for ICEBERG strategy | 
| trigger_price | int | No | Mandatory for STOPLOSS orders (in paise) | 
Response Structure¶
{
    "basket_id": 4,
    "user_id": 6,
    "basket_name": "",
    "orders": [
        {
            "order_id": 182,
            "client_code": "UAT00006",
            "basket_id": 0,
            "ref_id": 76969,
            "order_source": "ORDER_SOURCE_NORMAL",
            "order_type": "ORDER_TYPE_MARKET",
            "order_side": "ORDER_SIDE_BUY",
            "order_price": 7474,
            "order_qty": 1,
            "leg_size": 0,
            "filled_qty": 0,
            "avg_filled_price": 0,
            "order_status": "ORDER_STATUS_PENDING",
            "order_time": -6795364578871345152,
            "ack_time": null,
            "filled_time": null,
            "last_modified": null,
            "updated_by": 0,
            "ref_data": null,
            "LTP": null,
            "order_delivery_type": "ORDER_DELIVERY_TYPE_IDAY",
            "display_name": "",
            "brokerage": null,
            "exchange_order_id": 0,
            "duration": 0,
            "trigger_price": 0,
            "execution_type": "STRATEGY_TYPE_MARKET",
            "max_prate": 0
        },
        {
            "order_id": 183,
            "client_code": "UAT00006",
            "basket_id": 0,
            "ref_id": 77128,
            "order_source": "ORDER_SOURCE_NORMAL",
            "order_type": "ORDER_TYPE_MARKET",
            "order_side": "ORDER_SIDE_BUY",
            "order_price": 68040,
            "order_qty": 1,
            "leg_size": 0,
            "filled_qty": 0,
            "avg_filled_price": 0,
            "order_status": "ORDER_STATUS_PENDING",
            "order_time": -6795364578871345152,
            "ack_time": null,
            "filled_time": null,
            "last_modified": null,
            "updated_by": 0,
            "ref_data": null,
            "LTP": null,
            "order_delivery_type": "ORDER_DELIVERY_TYPE_IDAY",
            "display_name": "",
            "brokerage": null,
            "exchange_order_id": 0,
            "duration": 0,
            "trigger_price": 0,
            "execution_type": "STRATEGY_TYPE_MARKET",
            "max_prate": 0
        }
    ]
}
Response Attributes¶
| Fields | Description | 
|---|---|
| basket_id | Unique identifier assigned to the basket | 
| user_id | ID of the user who placed the basket order | 
| basket_name | (Optional) Name assigned to the basket | 
| orders | List of order responses (see CreateOrderResponse) | 
Note: The basket order response includes a few additional fields like basket_id, basket_name, and user_id. Apart from these, each order inside the orders list follows the same structure as the CreateOrderResponse.