Player lookup
If BluMint names your players by your own player ids, your lookup URL is required. Register it before your game’s first tournament opens: a player can register for one of your game’s tournaments only after your lookup finds them, so until the URL is registered no one can. An integration names its players one way only, so once you choose your own player ids, every create names every player by the id your lookup answered, never by a linked account. The full lookup schemas are in the API reference, in the callbacks of thesetLookupPlayer endpoint.
BluMint sends one lookup per player. The body has one key for each linked account you chose in the setup form (discord, epic, twitch or lichess) that the player has linked on BluMint, holding that account’s id, plus your secret if you send it in the body. BluMint doesn’t call your lookup for a player who has linked none of them, and asks that player to link one instead. It never calls your lookup for a spectator:
[] when you don’t know the player:
Which lookup answer to send when
BluMint reads only the status of a failed lookup, so the body of a
400 or 500 can be anything. Any other answer counts like the 400 row, including a 200 whose body breaks the rules above, except another 5xx, which counts like the 500 row.
- An unknown player. Answer
200with[]or[null]for that key, or leave the key out. All three mean the same thing. Never answer404: BluMint counts it like the400row, so the player can’t register and a match being set up goes to the host, instead of the player being asked to connect their account. - A brief outage. While you are briefly down or overloaded, answer
503or another status on the down-or-overloaded row, never500or400, which BluMint doesn’t retry, so a match being set up goes to the host at once.
Timing
- When a player registers, BluMint waits 3 seconds for your answer and sends the lookup once, because the player is waiting. Answer in well under that, or the player is told you aren’t responding.
- Before each create, BluMint looks up every player in the match again and waits up to 10 seconds for each. It sends each lookup once per try of the create, and a lookup outage makes BluMint try the whole create again, lookups included, as an outage on your create does.
Bursts
BluMint looks up every player of a match just before its create, and sends one create per match of a round at the same moment, so a 256-team single-elimination tournament with one player per team sends about 256 lookups together, and tournaments of your game that start together add to that. BluMint applies no limit on how many it sends at once. Accept that burst rather than answering429.