---
title: "Get my Fantacalcio squad, this matchweek's advice and my lineup"
method: GET
path: "/v1/fantasy/fantacalcio/me"
tags: ["fantasy"]
---

# Get my Fantacalcio squad, this matchweek's advice and my lineup

`GET /v1/fantasy/fantacalcio/me`

## Request

- Base URL: `https://api.predixsport.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.predixsport.com/v1/fantasy/fantacalcio/me`
- Auth: none declared

Returns everything Predixsport holds for one of your Fantacalcio teams under this account: the 25 players you saved, the league rules you play under, which matchweek is open and how current its lineup information is, the latest immutable recommendation and the lineup you put on record for it. An account may keep more than one team, one per league. `teams` lists the ones that already hold a squad and `team` picks which one this response is about. A slot with no squad is not an error: it comes back with `roster: null` so a new team can be built in it. The recommendation carries, per player, his chance of starting, his projected fantavoto if he plays and his selection score, the first weighted by the second. The eleven is chosen on the lineup's expected score with substitutions (`selection_total`). `projected_points` is what the eleven is worth if everybody in it plays and it is the number to show a reader. `expected_defence` is the defence modifier and it is always presented separately, never folded into a player's line. `board_not_ready` is a STATE of the matchweek and carries the sentence to show: no projections published yet, the collection window has not opened, or the first match has started. An empty board between two matchweeks is the steady state, not an outage. `board_freshness` says `stale` only when a scheduled update was missed, never on plain age. `matchweeks` is the settled record of past giornate and is null unless this account has it enabled, which is not the same as an empty record. The owner comes exclusively from the bearer token and this endpoint does not accept a user id. The same squad is edited in the web workspace and through the MCP tools. Classic rules only, Mantra is not served. This never signs in to any fantasy platform and never submits a lineup anywhere. The Fantacalcio workspace is in a private beta: this endpoint answers 403 for an account outside it.

## Query parameters

- `season` string, nullable: Season label, e.g. 2026-27. Omitted = latest saved.
- `team` integer, nullable: Which of your teams. Omitted = the first. Slots outside [1, 2, 3] are refused.
- `board_limit` integer, nullable: Optional cap on how many players the recommendation returns. The starting eleven is always kept and the bench is trimmed behind it, with the total and omitted counts reported.

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- FantacalcioStateResponse
  - `sport` 'fantacalcio'
  - `season` string, required
  - `team` integer, required
  - `teams` FantacalcioTeamSummary[]
    - `team` integer, required
    - `mode` string, required
    - `team_name` string, required
    - `revision` integer, required
    - `players` integer, required
    - `updated_at` string, date-time, required
  - `roster` FantacalcioSavedRoster
    - `season` string, required
    - `team` integer, required
    - `mode` string, required
    - `team_name` string, required
    - `status` string, required
    - `revision` integer, required
    - `updated_at` string, date-time, required
    - `roster` FantacalcioSavedPlayer[], required
      - `player_code` string, required
      - `role` 'P' | 'D' | 'C' | 'A', required
      - `name` string, required
      - `club` string, required: Club identifier, the join key of the module.
      - `club_name` string, required: The same club as a label.
      - `credits` integer, required
    - `league_rules` FantacalcioLeagueRules, required: The Classic options a league may change, all optional. An omitted field keeps the engine default. The field names mirror ``fantasy_solver/conf/fantacalcio.yml::league_overrides`` one for one and a drift test holds them to it.
      - `bonus_clean_sheet` number, nullable: Porta imbattuta: points the goalkeeper earns when he is fielded, gets a vote and his team concedes nothing. 0 (the default) means the league does not pay it, 1 is the value fantacalcio.it recommends. The forecast prices it as the bonus times the probability of a clean sheet, reported per player as clean_sheet_expected and never folded into a projected fantavoto.
      - `defence_enabled` boolean, nullable: Whether the league pays the defence modifier at all.
      - `defence_ladder` array[], nullable: Pairs of [average pure vote, points], thresholds increasing from 0 to 10 and values non-decreasing from -30 to 30. Every value, negative ones included, is added to your own score. A modifier your league charges to the opponent instead is not modelled.
        - number[]
      - `defence_include_keeper` boolean, nullable: Whether the goalkeeper's pure vote enters the modifier average. True (the default) averages the keeper and the best three defenders, false averages the best four defenders and ignores the keeper.
      - `defence_min_defenders` integer, nullable: Fielded defenders required before the modifier pays anything. Four is the Leghe Fantacalcio rule, so a three-defender formation earns nothing there. Three and five exist on other league managers.
      - `sv_value` number, nullable: Vote given to a fielded player who did not get one. Null is the default (he scores nothing after substitutions), 6.0 is a '6 politico' league.
      - `max_subs` integer, nullable: How many substitutions the league makes in a matchweek. Three is the Classic default, Leghe Fantacalcio leagues often run five.
      - `substitution_mode` 'traditional' | 'hybrid' | 'dynamic', nullable: How a starter who gets no vote is replaced. 'traditional': only a reserve of the same role enters, otherwise the slot stays empty. 'hybrid' (the default, the Leghe Fantacalcio 'Ibrido'): a reserve of the same role first, otherwise the first voted reserve in bench order that leaves one of the league's allowed formations, so a midfielder can replace a forward and 4-3-3 becomes 4-4-2. 'dynamic': bench order rules, the first voted reserve that leaves an allowed formation enters even when a same-role one sits lower. The goalkeeper is only ever replaced by a goalkeeper. On Leghe Fantacalcio it sits under league management, options, substitutions.
      - `bench_size` integer, nullable: Null means every non-starter sits on the bench, in order.
      - `modules` string[], nullable: The formations this league allows, e.g. ['3-4-3', '4-4-2']. The three outfield lines must add up to ten, and the list is enforced when a lineup is declared, not only when it is optimised.
  - `board` FantacalcioBoard: Identity of the matchweek the advice is priced on.
    - `giornata` integer, required
    - `revision` string, required: Content revision, used to detect advice that went stale.
    - `run_id` string, required
    - `first_kickoff_utc` string, date-time, required
    - `last_kickoff_utc` string, date-time, required
    - `player_count` integer, required
  - `board_not_ready` string, nullable: Present when no advice can be given yet, with the reason to show the reader. It is a state of the matchweek, not a failure.
  - `board_freshness` FantacalcioBoardFreshness: How current the published lineup information behind the board is. ``stale`` means a scheduled collection slot came and went without an update, never plain age: the slots are 48, 24, 12 and 2 hours before the first kick-off, so a board can legitimately be a day old inside the gap between two of them.
    - `status` 'fresh' | 'stale', required
    - `collected_at` string, date-time, nullable
    - `expected_slot` string, date-time, nullable
  - `latest_recommendation` FantacalcioRecommendation
    - `snapshot_id` integer, required
    - `season` string, required
    - `team` integer, required
    - `giornata` integer, required
    - `created_at` string, date-time, required
    - `applied_at` string, date-time, nullable
    - `stale` boolean: True when the squad or the board moved after this advice was computed. Run the optimiser again rather than acting on it.
    - `policy_version` string, required
    - `module` string, required
    - `starters` string[], required
    - `bench_order` string[], required
    - `selection_total` number, required: The optimiser's own objective. Since policy_version fantacalcio-lineup-v3 it is the expected score of this eleven AND its bench under your league's substitution rule: a starter who does not play is replaced from the bench the way the league's substitution_mode says (same role only, or a module change when no same-role reserve has a vote), while your league's substitution limit lasts, plus the defence modifier weighted by the chance it is paid. Older snapshots (v2 and earlier) carry the plain sum of selection scores, which ignored substitutions.
    - `expected_substitutions` number: How many substitutions the league's rule is expected to make for this lineup. 0 on snapshots older than fantacalcio-lineup-v3.
    - `hole_probability` number: Probability of NOT fielding eleven voted players: at least one slot stays without a vote after every substitution the league's substitution_mode allows, because no eligible reserve is left on the bench or the substitution limit is spent. Since fantacalcio-lineup-v4 it follows the league's mode (a module change can fill a slot the same-role rule could not). 0 on snapshots older than fantacalcio-lineup-v3.
    - `substitution_mode` 'traditional' | 'hybrid' | 'dynamic': The substitution rule this advice was priced under, echoed from the league rules at the time. Snapshots older than fantacalcio-lineup-v4 report 'traditional', the same-role walk they were computed with.
    - `projected_points` number, required: What this eleven is worth if everybody in it plays: the starters' projected fantavoti plus the expected defence modifier. This is the number to show a reader.
    - `expected_defence` number, required: The defence modifier in points. Always shown separately.
    - `players` object, required
    - `ballottaggi` FantacalcioBallottaggio[]
      - `role` 'P' | 'D' | 'C' | 'A', required
      - `last_in` string, required
      - `first_out` string, required
      - `gap` number, required
    - `what_if` FantacalcioWhatIf[]
      - `player_code` string, required
      - `replaces` string[], required
      - `gain` number, required
    - `modules` FantacalcioModuleOption[]
      - `module` string, required
      - `expected_points` number, required
      - `expected_defence` number, required
    - `player_count` integer, required
    - `omitted_player_count` integer
  - `declared_lineup` FantacalcioDeclaredLineup: The lineup on record for a matchweek.
    - `giornata` integer, required
    - `module` string, required
    - `starters` string[], required
    - `bench_order` string[], required
    - `provenance` string, required: declared is your own eleven, applied is ours after you confirmed it, assumed is ours standing in until you do either. Rows recorded before 21 September 2026 say declared for a confirmation too.
    - `declared_at` string, date-time, nullable
    - `snapshot_id` integer, nullable
  - `matchweeks` FantacalcioMatchweek[], nullable: The matchweek record. Null means this account does not have it enabled, which is not the same as an empty record.
    - `giornata` integer, required
    - `status` 'open' | 'locked' | 'final', required
    - `score` number, nullable
    - `score_source` string, nullable
    - `finalized_at` string, date-time, nullable
    - `provenance` string, nullable
    - `comparison` FantacalcioMatchweekComparison
      - `status` string, required
      - `recommended_score` number, nullable
      - `delta` number, nullable: Our advice minus the lineup that was played. Positive means the advice would have scored more.
      - `snapshot_id` integer, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/predixsport/apis/predixsport-api.md) · [All operations](https://skmtc.dev/predixsport/apis/predixsport-api/llms.txt) · [OpenAPI document](https://skmtc.dev/predixsport/apis/predixsport-api/revisions/02014aee733d?raw)
