Skip to content

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/config

No 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": []
}
FieldNotes
dataVersionPayload 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.collectiblesEnabledtrue 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.shippingEnabledtrue 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.minShipmentValueMinorThe 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.currencyThe currency minShipmentValueMinor is in.
cashback.paysWinTimeValueInCreditstrue 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.disabledtrue while cashback is off for your whole operator (Catalog → Settings).
cashback.collectibleRisePolicyThe 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.collectibleFallPolicyThe 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.defaultPercentThe 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.nuggetsCostPercentWhat 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.
lockedSettingsThe 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.