curl --request POST \
--url https://api.bullionwale.com/api/trading/v1/limit-orders \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'X-API-Key: <api-key>' \
--data '
{
"client_order_id": "bot-limit-7",
"quantity": 10,
"symbol_code": "GOLD_TRADE_999",
"trade_type": "buy",
"trigger_price": 140500
}
'import requests
url = "https://api.bullionwale.com/api/trading/v1/limit-orders"
payload = {
"client_order_id": "bot-limit-7",
"quantity": 10,
"symbol_code": "GOLD_TRADE_999",
"trade_type": "buy",
"trigger_price": 140500
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"actions": [
"<string>"
],
"id": "<string>",
"quantity": "<string>",
"status": "<string>",
"status_detail": "<string>",
"symbol_code": "<string>",
"total": "<string>",
"trade_type": "<string>",
"trigger_price": "<string>",
"unit": "<string>",
"blocked_reason": "<string>",
"cancel_reason": "<string>",
"client_order_id": "<string>",
"created_at": "<string>",
"environment": "production",
"order_id": "<string>",
"source": "<string>"
}{
"actions": [
"edit",
"cancel"
],
"client_order_id": "bot-limit-7",
"created_at": "2026-10-21T09:31:05.120000+00:00",
"environment": "production",
"id": "8a4d1f62-3c7e-4b90-b5e1-2d6f0a9c8e17",
"quantity": "10",
"source": "api",
"status": "pending",
"status_detail": "pending",
"symbol_code": "GOLD_TRADE_999",
"total": "140500.00",
"trade_type": "buy",
"trigger_price": "140500.00",
"unit": "g"
}{
"actions": [],
"blocked_reason": "Being confirmed — this limit is not active yet.",
"client_order_id": "bot-limit-7",
"created_at": "2026-10-21T09:31:05.120000+00:00",
"environment": "production",
"id": "8a4d1f62-3c7e-4b90-b5e1-2d6f0a9c8e17",
"quantity": "10",
"source": "api",
"status": "confirming",
"status_detail": "placing",
"symbol_code": "GOLD_TRADE_999",
"total": "140500.00",
"trade_type": "buy",
"trigger_price": "140500.00",
"unit": "g"
}{
"detail": {
"code": "<string>",
"message": "<string>"
}
}{
"detail": {
"code": "<string>",
"message": "<string>"
}
}{
"detail": {
"code": "production_trading_disabled",
"message": "Trading through the production API is not available.",
"reason": "global"
}
}{
"detail": {
"code": "<string>",
"message": "<string>"
}
}{
"detail": {
"code": "limit_order_rejected",
"limit_order": {
"actions": [],
"cancel_reason": "The hedge for this limit order could not be placed.",
"client_order_id": "bot-limit-7",
"created_at": "2026-10-21T09:31:05.120000+00:00",
"environment": "production",
"id": "8a4d1f62-3c7e-4b90-b5e1-2d6f0a9c8e17",
"quantity": "10",
"source": "api",
"status": "cancelled",
"status_detail": "cancelled",
"symbol_code": "GOLD_TRADE_999",
"total": "140500.00",
"trade_type": "buy",
"trigger_price": "140500.00",
"unit": "g"
},
"limit_order_id": "8a4d1f62-3c7e-4b90-b5e1-2d6f0a9c8e17",
"message": "The limit order could not be confirmed. Please try again."
}
}{
"detail": {
"code": "<string>",
"message": "<string>"
}
}{
"detail": {
"code": "<string>",
"message": "<string>"
}
}{
"detail": {
"code": "<string>",
"message": "<string>"
}
}Place a REAL limit order (production)
Switched off. Production trading is implemented but not available: orders are refused with 403 production_trading_disabled. Once it opens, Bullionwale enables production access per account (see Production access requirements).
A REAL resting limit order: it executes as a market order when the price reaches trigger_price, if your weight allocation still has room then. Idempotency-Key is required (1-64 characters) and is per ACCOUNT. 201 = pending; 202 = confirming (the hedge is confirming it: poll GET /limit-orders/{limit_order_id}); 200 + Idempotent-Replayed: true = replay of the same key and body; 409 limit_order_rejected = it was not placed (a replay answers 409 again). If the placement fails after submission the answer is what was committed, or 503 booking_not_completed / booking_outcome_unknown: retry with the same key.
curl --request POST \
--url https://api.bullionwale.com/api/trading/v1/limit-orders \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'X-API-Key: <api-key>' \
--data '
{
"client_order_id": "bot-limit-7",
"quantity": 10,
"symbol_code": "GOLD_TRADE_999",
"trade_type": "buy",
"trigger_price": 140500
}
'import requests
url = "https://api.bullionwale.com/api/trading/v1/limit-orders"
payload = {
"client_order_id": "bot-limit-7",
"quantity": 10,
"symbol_code": "GOLD_TRADE_999",
"trade_type": "buy",
"trigger_price": 140500
}
headers = {
"Idempotency-Key": "<idempotency-key>",
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"actions": [
"<string>"
],
"id": "<string>",
"quantity": "<string>",
"status": "<string>",
"status_detail": "<string>",
"symbol_code": "<string>",
"total": "<string>",
"trade_type": "<string>",
"trigger_price": "<string>",
"unit": "<string>",
"blocked_reason": "<string>",
"cancel_reason": "<string>",
"client_order_id": "<string>",
"created_at": "<string>",
"environment": "production",
"order_id": "<string>",
"source": "<string>"
}{
"actions": [
"edit",
"cancel"
],
"client_order_id": "bot-limit-7",
"created_at": "2026-10-21T09:31:05.120000+00:00",
"environment": "production",
"id": "8a4d1f62-3c7e-4b90-b5e1-2d6f0a9c8e17",
"quantity": "10",
"source": "api",
"status": "pending",
"status_detail": "pending",
"symbol_code": "GOLD_TRADE_999",
"total": "140500.00",
"trade_type": "buy",
"trigger_price": "140500.00",
"unit": "g"
}{
"actions": [],
"blocked_reason": "Being confirmed — this limit is not active yet.",
"client_order_id": "bot-limit-7",
"created_at": "2026-10-21T09:31:05.120000+00:00",
"environment": "production",
"id": "8a4d1f62-3c7e-4b90-b5e1-2d6f0a9c8e17",
"quantity": "10",
"source": "api",
"status": "confirming",
"status_detail": "placing",
"symbol_code": "GOLD_TRADE_999",
"total": "140500.00",
"trade_type": "buy",
"trigger_price": "140500.00",
"unit": "g"
}{
"detail": {
"code": "<string>",
"message": "<string>"
}
}{
"detail": {
"code": "<string>",
"message": "<string>"
}
}{
"detail": {
"code": "production_trading_disabled",
"message": "Trading through the production API is not available.",
"reason": "global"
}
}{
"detail": {
"code": "<string>",
"message": "<string>"
}
}{
"detail": {
"code": "limit_order_rejected",
"limit_order": {
"actions": [],
"cancel_reason": "The hedge for this limit order could not be placed.",
"client_order_id": "bot-limit-7",
"created_at": "2026-10-21T09:31:05.120000+00:00",
"environment": "production",
"id": "8a4d1f62-3c7e-4b90-b5e1-2d6f0a9c8e17",
"quantity": "10",
"source": "api",
"status": "cancelled",
"status_detail": "cancelled",
"symbol_code": "GOLD_TRADE_999",
"total": "140500.00",
"trade_type": "buy",
"trigger_price": "140500.00",
"unit": "g"
},
"limit_order_id": "8a4d1f62-3c7e-4b90-b5e1-2d6f0a9c8e17",
"message": "The limit order could not be confirmed. Please try again."
}
}{
"detail": {
"code": "<string>",
"message": "<string>"
}
}{
"detail": {
"code": "<string>",
"message": "<string>"
}
}{
"detail": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Headers
Required, 1-64 characters. Per account: the same key with the same body replays the order.
64Body
A weight in the symbol's measure (grams or kilograms), at most 4 decimal places.
x <= 100000032buy or sell.
Rupees per the symbol's quoted measure. A buy limit must be below the current buy price, a sell limit above the current sell price.
x <= 10000000064Response
Replay of an earlier request with the same key and body.
edit and cancel while pending; else empty.
pending, confirming, triggered or cancelled.
The desk's raw status: placing / cancelling read confirming.
The order's value at the trigger price, in rupees.
Rupees, 2 decimals, as a string.
g or kg.
Why it would not execute if its price were reached now, or that it is confirming.
The market order a triggered limit became (see GET /orders); otherwise null.
api when placed through this API; null when placed in the app or on the web.