Operator config
GET /api/s2s/config reports your operator’s setup in LootBox Solutions: the optional
capabilities that are enabled, the shipping minimum and its currency, the share
of a cashback paid in Credits, and the settings the platform has locked. Read it
when your own surface needs to know before it calls anything — e.g. to
render “not available for this operator” instead of an empty section, or to
tell a player the shipping minimum before they pick items.
Every limit is still enforced on the call itself, through its
error codes (an unconfigured currency returns
UNSUPPORTED_CURRENCY, shipping-off returns SHIPPING_DISABLED, an order under
the minimum returns SHIPMENT_BELOW_MINIMUM). This endpoint tells you in
advance what those calls would otherwise only tell you by refusing.
Request
GET https://{operator}.app.lootboxsolutions.com/api/s2s/configNo parameters. Signed like every other S2S call.
Response — 200
{ "dataVersion": 2, "capabilities": { "collectiblesEnabled": true, "shippingEnabled": true }, "shipping": { "minShipmentValueMinor": 2000, "currency": "USD" }, "cashback": { "paysWinTimeValueInCredits": false, "disabled": false, "collectibleRisePolicy": "current", "collectibleFallPolicy": "current", "defaultPercent": { "physical": 50, "digital": 50 } }, "lockedSettings": []}| Field | Notes |
|---|---|
dataVersion | Payload version, currently 2. One version is shared by every API body and webhook except kyc_status_changed; it went to 2 when round results gained their round facts, with no change to this body. New capability flags do not bump it. |
capabilities.collectiblesEnabled | true when collectibles are enabled for your operator. While false, collectible boxes are absent from the catalog and unreachable by id — but any collectible a player already owns stays fully serviceable. |
capabilities.shippingEnabled | true while players can have items shipped. While false, every shipping order is refused with SHIPPING_DISABLED: hide your ship action. Cashback keeps working for every item. |
shipping.minShipmentValueMinor | The smallest total value, in minor units of shipping.currency (the operator currency), the items of one shipping order may add up to; 0 means no minimum. Below it the order is refused with SHIPMENT_BELOW_MINIMUM. Only the request is checked: an order that later drops under the minimum ships as it is. |
shipping.currency | The currency minShipmentValueMinor is in. |
cashback.paysWinTimeValueInCredits | true while every cashback pays at least the item’s value at win time in Credits: cashback on, a collectible whose price fell counted at its value at win time, and every item that can be cashed back at 100% (or a fixed amount at least its value). |
cashback.disabled | true while cashback is off for your whole operator (Catalog → Settings). |
cashback.collectibleRisePolicy | The value a cashback counts for a collectible whose price rose since it was won: original (its value at win time; the rise is reported as uncredited.priceRiseMinor) or current (today’s value). |
cashback.collectibleFallPolicy | The value a cashback counts for a collectible whose price fell since it was won: original (its value at win time) or current (today’s value; the fall is reported as uncredited.priceFallMinor). |
cashback.defaultPercent | The default cashback percentage per item type (physical, digital), a number, or null for no cashback by default. An item with its own percentage or fixed amount uses that instead; see The cashback percentage and the fee. |
noLoss.nuggetsCostPercent | What one Credit’s worth of Nuggets costs the operator, as a percent of a Credit (a number), set in Settings → No-loss; null while unset. While it is null the platform prices and watches boxes as if no-loss were off: warn your admins if your no-loss is on. |
lockedSettings | The settings the platform has locked for your operator: an array of setting identifiers (strings), empty when nothing is locked. A locked setting keeps its current value and cannot be changed from the LootBox Solutions admin by anyone; the platform changes it on request. Informational: show it to your admins beside your own locks, never branch game logic on an identifier. |
If your item payout pays part of an item’s value in Nuggets, or a fallen collectible at less than its value at win time, do so only while paysWinTimeValueInCredits is true, and read it again when you quote the payout, since the operator can change a percentage at any time. That way a player always has one way to take the whole value at win time out without Nuggets.
Growth contract
capabilities is an open map, and so is the envelope (lockedSettings
was added without a dataVersion bump). New flags are added over time; treat an
unknown key as informational and a missing key as “capability not
advertised” (fall back to your current behaviour). Flags are never renamed or
removed in place — that would be a dataVersion bump.
Cache it, but fail closed on a stale read. The flags change rarely, so cache the response. If the read fails, prefer the last known-good value; with no known-good value, treat an optional capability as off rather than rendering a section that will come back empty.