Skip to content

Create a brand (sub-operator)

POST
/sub-operators

Platform accounts only. Create one brand under your platform, before any traffic reaches it.

Auto-provision still works — a launch or GET /v1/games carrying an unseen sub_operator_ref mints the brand on the spot. This endpoint adds the ability to do it deliberately, which matters in three cases:

  • a platform running require_sub_operator_ref has no lazy path at all, so every brand must exist before it is named;
  • creating a brand at launch time makes the first player pay the cold-path latency (mapping insert, settings seed, selection clone) — pre-creating moves that off the money path;
  • a typo’d ref and a genuine new brand are indistinguishable to auto-provision. Here they are not: creation is a request you made.

Idempotent. An existing ref returns the same identity with 200 rather than a conflict — re-running your brand list on every deploy is a normal thing to do, and turning it into an error would push integrators toward ignoring errors.

The first brand a platform creates becomes its default: the brand a request that omits sub_operator_ref resolves to. There is no reserved default ref.

A new brand starts with the same games and providers your platform already has available, so its catalog is usable immediately.

object
sub_operator_ref

The brand to create. Format: 1-32 characters of [A-Za-z0-9_-], starting and ending alphanumeric; : is not allowed. Matched case-insensitivelyBrand-01 and brand-01 are one brand, not two.

Missing, empty or malformed is a 400 (E6004). Refs are validated and never silently repaired: a repaired typo would mint a phantom brand and split its money across two identities.

string
brand-01

The brand exists and is yours. Returned whether it was created by this call or already present — see the idempotency note above.

object
sub_operator_ref

The canonical (lower-cased, trimmed) ref.

string
brand-01
operator_user_id

The brand’s internal identity — what its sessions, transactions and analytics are attributed to. Reported back so you can join our records to yours; it is not a parameter you ever send.

string
platform:brand-01

Invalid or missing sub_operator_ref (E6004), or your platform is at its brand cap (E6007).

object
error
required
object
code
required

Machine-parseable error code. See https://docs.aggregator.gg/resources/error-codes/.

string
/^E[0-9A-F][0-9]{3}$/
E0001
type

Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction, player_self_excluded). Branch on code; type is for readability.

string
game_blocked_jurisdiction
message
required
string
request_id

Correlation ID for support escalation.

string
details
object
key
additional properties
any

Missing, invalid, or revoked API key.

object
error
required
object
code
required

Machine-parseable error code. See https://docs.aggregator.gg/resources/error-codes/.

string
/^E[0-9A-F][0-9]{3}$/
E0001
type

Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction, player_self_excluded). Branch on code; type is for readability.

string
game_blocked_jurisdiction
message
required
string
request_id

Correlation ID for support escalation.

string
details
object
key
additional properties
any

This key is not a platform key (E6006). Sub-operators exist only under platform accounts; an ordinary operator key already identifies a single operator.

object
error
required
object
code
required

Machine-parseable error code. See https://docs.aggregator.gg/resources/error-codes/.

string
/^E[0-9A-F][0-9]{3}$/
E0001
type

Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction, player_self_excluded). Branch on code; type is for readability.

string
game_blocked_jurisdiction
message
required
string
request_id

Correlation ID for support escalation.

string
details
object
key
additional properties
any

Your platform is not fully provisioned and owns no organization to bill (E6009). Contact support.

object
error
required
object
code
required

Machine-parseable error code. See https://docs.aggregator.gg/resources/error-codes/.

string
/^E[0-9A-F][0-9]{3}$/
E0001
type

Snake-case mnemonic for the code (e.g. game_blocked_jurisdiction, player_self_excluded). Branch on code; type is for readability.

string
game_blocked_jurisdiction
message
required
string
request_id

Correlation ID for support escalation.

string
details
object
key
additional properties
any