Skip to main content
PUT
/
groups
/
{group_id}
/
instruments
/
bulk
Bulk Upsert Group Instruments
curl --request PUT \
  --url https://api.{your-broker}.slate-labs.com/groups/{group_id}/instruments/bulk \
  --header 'Content-Type: application/json' \
  --data '
{
  "symbols": [
    "<string>"
  ],
  "patch": {
    "tradeability": "<string>",
    "spread": 50,
    "margin_rate": 0.5005,
    "swap_type": "<string>",
    "swap_long": 0,
    "swap_short": 0,
    "commission_type": "<string>",
    "commission_value": 25,
    "min_lot": 500.0005,
    "max_lot": 5000.0005,
    "lot_step": 50.0005,
    "max_symbol_exposure": 1
  }
}
'
[
  {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "group_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "instrument_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "symbol": "<string>",
    "tradeability": "<string>",
    "spread": 123,
    "margin_rate": 123,
    "swap_type": "<string>",
    "swap_long": 123,
    "swap_short": 123,
    "commission_type": "<string>",
    "commission_value": 123,
    "min_lot": 123,
    "max_lot": 123,
    "lot_step": 123,
    "max_symbol_exposure": 123
  }
]

Path Parameters

group_id
string<uuid>
required

Body

application/json

Apply ONE partial patch to MANY symbols in a single transaction.

patch reuses the per-symbol validation (ranges, commission pairing, min<=max, enum checks). symbols is the set of broker-instrument symbols to apply it to. Empty symbols is rejected — a no-op bulk write is almost certainly a frontend bug, and we want the 422 to surface it.

symbols
string[]
required
Required array length: 1 - 2000 elements
patch
GroupInstrumentUpsertRequest · object
required

All override fields are optional. group_instruments is the sole source of commercial terms — there is no fallback to instruments master. Safety limits enforced on all numeric overrides.

Response

Successful Response

id
string<uuid>
required
group_id
string<uuid>
required
instrument_id
string<uuid>
required
symbol
string
required
tradeability
string | null
required
spread
number | null
required
margin_rate
number | null
required
swap_type
string | null
required
swap_long
number | null
required
swap_short
number | null
required
commission_type
string | null
required
commission_value
number | null
required
min_lot
number | null
required
max_lot
number | null
required
lot_step
number | null
required
max_symbol_exposure
number | null