Skip to main content
POST
Registers your create-lobby callback URL.

Authorizations

X-Api-Key
string
header
required

Body

application/json
createMatchUrl
string<uri>
required

The https URL of your create-lobby endpoint.

Example:

"https://www.yourgame.com/api/match/create"

authentication
object

The secret BluMint sends when it calls your create-lobby endpoint. When omitted, any secret registered earlier stays in place.

Callbacks

POST
{$request.body#/createMatchUrl}matchCreation

Body

application/json
teams
object[]
required

Every team in the match, within the teams-per-match range you gave in the setup form, which is exactly two on a best-of series. Admit only these players, even when someone else learns the join link or lobby code.

spectators
object[]
required

The host, streamers and moderators of the tournament who chose to watch, never a player in the match or anyone registered in the tournament. Always present, and empty when nobody is listed. It can list more spectators than your lobby admits. If your game supports watching, admit listed identities as spectators, in list order, until your lobby holds as many as it admits; a spectator can never play or report a result. Otherwise ignore the field. Never refuse a create because of its spectators.

Maximum array length: 16
matchSettings
object
required

The match settings the host chose, passed to you unchanged, so hosts can run custom events of your game, such as a one-map tournament or a short time limit for a fast bracket. Its keys are the settings of your game you listed in the setup form. Set up the lobby with each one. An empty object means the host chose none, so use your defaults. Answer 400 match_unsupported for a setting you cannot run.

readyWithinSeconds
integer
required

The tournament's hold length in seconds, which the host sets between 5 and 30 minutes, 10 by default. BluMint tells every player to be ready this long after their match starts, or be disqualified, and BluMint times that itself. If your game ends a lobby on its own when a player doesn't show up, let that happen no earlier than this after you answer the create; otherwise ignore the field. The host can lengthen the hold while a match waits, so a repeat of one Idempotency-Key can carry a larger value. Leave it out when you compare a repeat's body.

Required range: 300 <= x <= 1800
series
object

Present on every best-of series create, and absent on single game sessions.

Response

The lobby exists. Answer matchId and one of three ways for players to get in, the one your integration declared in the setup form. A join link: send matchUrl, which players open. A lobby code: send lobbyCode, which players type into your game. Neither, because your own game client puts players into the lobby: send spectateUrl, a watch link BluMint offers the host so they can follow the match. Send only the field of your own way in. A missing field, a field of another way in, or a link on another hostname fails the create for good: the host takes the match and starts it manually.

matchId
string
required

Your id for this lobby. BluMint treats it as opaque, sends it back unchanged, and you name it in every report.

Required string length: 1 - 256
matchUrl
string<uri>

On an integration whose players join by a link, the link players open, to a page on your site or your game client directly. It is https, carries no user:pass@, and its hostname is exactly one of the join-link hostnames you gave BluMint for this environment; a subdomain does not match. A lobby code in the fragment after # is fine, since BluMint sends the link byte for byte.

Maximum string length: 2048
lobbyCode
string

On an integration whose players join by a code, the code players type into your game, using only ASCII letters, digits, spaces, _, *, ., the backtick and -. BluMint shows it in chat, so it is never wrapped in *, _ or backticks and holds no link or email address.

Required string length: 1 - 32
spectateUrl
string<uri>

On an integration whose own game client puts players into the lobby, the https watch link BluMint offers the host, on one of the watch-link hostnames you gave BluMint. Anyone viewing the tournament can read it, so it lets its holder watch and nothing more: never play, control the match, or get the access you give the spectators listed in the create.

Maximum string length: 2048

Response

The create-lobby callback URL is registered.

message
string
required
Example:

"Success - Match creation callback URL set successfully."