Create a League
This guide walks through creating a league, adding divisions, and configuring settings in the Admin dashboard.
1. Create the League
- Log in to dash.staty.io
- In the sidebar, open Competitions (under League Management)
- In the Leagues section, click “Add League”
- In the create dialog, type the name (e.g. “Spring Soccer 2026”) and review the divisions pre-filled from your sport’s template; rename, add, or remove them freely
- Leave Include registration checked to open signup in the same step: Basic Registration keeps sensible defaults, Custom Registration takes you straight to the registration’s edit page, and the “Open registration immediately” toggle controls whether signup goes live right away
- Click Create
The league appears in the Competitions tree with its divisions (and registration). Double-click a name to rename it, use the Active switch to archive/unarchive, and open the row’s ⋯ menu for Settings, Payment, Admins, and more.
The old separate Tournaments and Leagues tabs have been removed from the admin sidebar; Competitions is the one place to create and manage tournaments, leagues, and divisions. A tournament or league row’s ⋯ → Settings drawer includes its Start Date (the create dialog has no date fields).
2. Add More Divisions
Your divisions were created with the league; add more any time. Each division holds its own teams, standings, and schedule.
- On your league’s row in Competitions, click Add Division
- Name the division (e.g. “Competitive”, “Recreational”, “Division 1”) and confirm
- Repeat for each skill tier or age group
- Then configure division settings (optional) from the division’s ⋯ → Settings menu:
- Capacity: maximum number of teams
- Min/Max players per team
- Game duration in minutes
Division config takes precedence over league config. See Config Hierarchy for details.
Playoffs for league divisions
A league division’s page offers a Division Format with playoff options:
- Playoffs: a single-elimination bracket (2, 4, or 8 teams)
- Playoffs + Consolation: adds a consolation bracket so every team gets a final placement (quarterfinal losers play consolation semifinals, then 5th and 7th place games; sizes 4 and 8)
Seed teams with Sort by Seed, then Auto-Populate Games to create the bracket; later rounds carry “Winner of …” placeholders and fill in automatically as scores are entered. The bracket can be generated before teams register: empty seed positions show “Seed 1”, “Seed 2”, … placeholders, and re-running Auto-Populate after seeding fills in the real teams. See Create a Tournament: Select a Bracket Size for the full flow.
Once a playoff format and bracket size are set, the league’s public Standings tab displays a visual playoff bracket above the standings table; placeholder slots appear immediately (even with no games yet) and fill in with teams, scores, and game date/time/court as the bracket is generated and played.
How do I create a new season for my league?
In Staty, a season is a standalone league: create one exactly as in step 1 (Competitions → Leagues → Add League), naming it for the season (e.g. “Spring 2026”). The create dialog sets up that season’s divisions and registration in the same step.
Can I clone a previous season’s configuration?
Yes. In the Competitions tab, open the season’s ⋯ menu and choose Clone. Give the copy a name and choose Clone Divisions to bring the division structure and settings along. Cloning copies configuration (and divisions); it does not copy teams, games, or scores, so the new season starts empty and ready for fresh registration.
How do I change the start date for a season?
Season start dates aren’t set at create time; the create dialog has no date fields. To change an existing season’s startDate, open its ⋯ → Settings drawer in Competitions (the Start Date field), or update it via the Leagues API. The dates that gate signup are the registration open and close dates, set on the registration (see Manage Registrations and its End-Date Gate).
3. Configure via API
You can also create leagues and divisions programmatically:
# Create a league
curl -X POST https://api.staty.io/api/v1/leagues \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Spring Soccer 2026",
"contestType": "coed",
"sports": ["soccer"],
"startDate": "2026-04-01",
"endDate": "2026-06-30"
}'# Create a division within the league
curl -X POST https://api.staty.io/api/v1/divisions \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"name": "Competitive",
"league": "league_abc123",
"config": {
"capacity": 12,
"minPlayers": 7,
"maxPlayers": 15
}
}'Next Steps
- Create a Registration: open team enrollment for your league
- Setup Payments: collect registration fees online