Skip to Content
GuidesCreate a League

Create a League

This guide walks through creating a league, adding divisions, and configuring settings in the Admin dashboard.

1. Create the League

  1. Log in to dash.staty.io 
  2. In the sidebar, open Structure (under League Management)
  3. In the Leagues section, click “Add League”
  4. Type the name — e.g. “Spring Soccer 2026” — and confirm with the check

The league appears in the Structure tree. 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.

You may still see separate Tournaments and Leagues tabs in the admin sidebar. These are legacy pages being phased out — use Structure to create and manage tournaments, leagues, and divisions.

2. Add Divisions

Each division holds its own teams, standings, and schedule.

  1. On your league’s row in Structure, click Add Division
  2. Name the division — e.g. “Competitive”, “Recreational”, “Division 1” — and confirm
  3. Repeat for each skill tier or age group
  4. 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 (Structure → Leagues → Add League), naming it for the season (e.g. “Spring 2026”). Add that season’s divisions under it, then open registration when you’re ready.

Can I clone a previous season’s configuration?

Yes. In the Structure 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 edited in the Structure tab — divisions and seasons are created name-only, and the Settings drawer has no date fields. The dates you control per season are the registration open and close dates, set on the registration (see Manage Registrations and its End-Date Gate). If you need to change an existing season’s own startDate, update it via the Leagues API.

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

Last updated on