Every league in FutsalManager is organized around a season. A season contains groups, and groups contain teams. Fields are independent of seasons but must exist before you can schedule matches. This page walks you through the full setup flow.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/danielsl4/TFG_DAM_2526/llms.txt
Use this file to discover all available pages before exploring further.
Seasons
Only one season can be active at a time. When you create or update a season withis_active: true, the API automatically sets is_active = false on every other season in the same transaction.
Create a season
| Field | Required | Description |
|---|---|---|
name | Yes | Display name for the season. |
start_date | No | ISO date string. |
end_date | No | ISO date string. |
is_active | No | Set to true to make this the active season immediately. |
import_from | No | ID of a previous season to copy groups and player rosters from. |
List all seasons
start_date descending.
Get the active season
Update a season
is_active to true automatically deactivates all other seasons.
Delete a season
Import structure from another season
Groups
Groups are named divisions within a season (for example “Group A”, “Group B”, or “Preferente”). Each match belongs to one group, and standings are tracked per group.Create a group
List groups
season_id to retrieve all groups across all seasons. Results include the parent season name.
Assign a team to a group
team_stats row for the team in this group and season, initializing all counters to zero. Returns a 400 if the team is already in the group.
Remove a team from a group
season_id query parameter is required for precise deletion.
Fields
Fields (playing venues) are shared across all seasons. Create them once and reuse them when scheduling matches.Create a field
name is required. location is optional but recommended.
List all fields
Typical setup flow
Create the season
Call
POST /seasons with a name, dates, and is_active: true. If you are running a second year, provide import_from with the previous season’s ID to carry over groups and rosters automatically.Create groups
Call
POST /groups once for each division in your season. Use the season ID returned in the previous step.Register fields
If the venues do not already exist, create them with
POST /fields. Fields are reused across seasons, so skip this step if the venues from last season are still valid.Enroll teams in groups
For each team that participates in the season, call Once all teams are enrolled, you are ready to schedule matches.
POST /groups/:id/teams to assign them to their group. This creates the standings entry for the team.