This guide walks you through the five steps you need to go from zero to actively using Futsal League Manager via the REST API. All endpoints are served by the Node.js/Express backend on port 3000. ReplaceDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/Danielsl4/TFG_DAM_2526_Consulta2/llms.txt
Use this file to discover all available pages before exploring further.
http://localhost:3000 with your deployment URL if you are running against a hosted environment.
You must verify your email address within 24 hours of registering. Unverified accounts are deleted automatically by a scheduled job. You cannot log in until verification is complete.
Register an account
Send a A successful registration returns HTTP 201 and sends a verification email to the address you provided.Open the email and click the verification link. The link calls
POST /register request with a unique username, a valid email address, and a password. All three fields are required.GET /verify-email/:token on the backend, marks your account as verified, and returns a JWT token for automatic login. You can also proceed to step 2 and log in manually after clicking the link.Log in and obtain a JWT token
Once your email is verified, send a The response contains a signed JWT token.Save this token. You will include it as a bearer token in every authenticated request.
POST /login request with your username (or email) and password.Browse matches
The match list endpoint is public — no token required. You can filter by season, group, status, or phase using query parameters.The response returns an array of match objects. Each match includes the teams, date, field, phase, status (To view the full detail for a single match — including match events, vote distribution, and player stats — call
pendiente, en_curso, or finalizado), and the current score.GET /matches/:id with the match ID.Vote on a match outcome
Authenticated users can predict the result of any upcoming match. Send a Each user can cast one vote per match. A successful vote returns HTTP 200.Your vote earns you points if the prediction is correct. Track your score and ranking via
POST /matches/:id/vote with one of three vote values: local (home win), empate (draw), or visitante (away win).GET /statistics/user-ranking or your personal stats at GET /statistics/user-stats (requires a token).Check the standings
The standings endpoint is public and returns the current league table, sorted by points. You can pass a Each entry in the response shows a team’s full record for the selected season and group.The table updates automatically each time a referee finalises a match result.
season_id or group_id query parameter to filter the results.