Start a league (no account needed)
beleeg_start_leagueCreates a real league on Beleeg right away for someone who does not have a Beleeg account yet: the league, its first season with registration open, optional teams, and a public page. It is held for the organizer whose email you give: to take it over they open the claim_url, sign in at beleeg.com with THAT email address (email code, Google or Apple), and choose to keep it. Signing in alone does not make it theirs. Always give the person the claim_url exactly as returned (never build a link from the name) and tell them which email to sign in with. Ask the person for their email; never guess one. If Beleeg refuses, tell the person to sign in to Beleeg with that email and ask again. After signing in, the organizer is asked whether to keep the league or discard it; it is theirs only once they keep it. Invited people are saved but not emailed until the organizer has kept the league and sends them. If the organizer has not kept it within 30 days, the league is removed. Limits: 3 per organizer email per day, 5 per caller per day, and at most 3 leagues or brackets waiting on the organizer. Team names that differ only by capitals or spacing are treated as one team. Tell the person what you are about to create and get a yes BEFORE calling this; there is no separate confirm step.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| city | No | Town or city, shown on the public page. | |
| name | Yes | League name, plain text, for example "Tuesday Night Pickleball". | |
| sport | Yes | Sport key, for example pickleball, platform-tennis, tennis, softball, volleyball. | |
| teams | No | Team names to create right away (up to 64). | |
| client | No | Which assistant this is, for example muse, claude, chatgpt, cursor. | |
| timezone | Yes | IANA time zone the league plays in, for example America/Chicago. | |
| inviteEmails | No | People to invite (up to 200). They are only SAVED as pending invites: no email goes out until the organizer has signed in, kept the league, and sends them. | |
| organizerEmail | Yes | The organizer's own email address. They sign in with it to take over the league. Ask for it; never guess. | |
| organizationName | No | Club or group name. Defaults to the league name. | |
| registrationClosesOn | No | Last day to register, YYYY-MM-DD. Defaults to 30 days from today. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| slug | Yes | ||
| teams | Yes | ||
| claim_url | Yes | Give this to the organizer: it explains how to take over the league. | |
| league_id | Yes | ||
| public_url | Yes | The public league page. Works right away, and says the league is waiting for its organizer until it is kept. Use it exactly as returned: while the league waits its address ends in a few extra characters. Once kept it moves to the short address if that is free, and this one keeps working. | |
| invites_pending | Yes | Invites saved but NOT sent. | |
| organization_id | Yes | ||
| organizer_email | Yes | ||
| claim_instructions | Yes | Read this to the person. | |
| unclaimed_expires_on | Yes | If the organizer has not signed in and kept the league by this date, it is removed. |