---
title: "Plan my Euroleague Fantasy transfers before a Round"
method: POST
path: "/v1/fantasy/euroleague/me/transfers"
tags: ["fantasy"]
---

# Plan my Euroleague Fantasy transfers before a Round

`POST /v1/fantasy/euroleague/me/transfers`

## 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/euroleague/me/transfers`
- Auth: none declared

Saves the submitted current roster and appends an immutable between-Round transfer plan without applying it. The visible plan is the form rule (form_blend_v1) priced from the frozen market snapshot of the Round: it shows legal incoming and outgoing moves, cash before and after, and the reason for each move. Sale value is the current market price. It never accesses or changes the official fantasy game.

## Headers

- `authorization` string, nullable

## Request body

- EuroleagueFantasyTransfersRequest
  - `season` string, required
  - `roster` EuroleagueFantasyRosterPlayer[], required
    - `position` 'Guard' | 'Forward' | 'Center', required
    - `position_index` integer, required
    - `player_code` string, required
    - `player_name` string, required
    - `slot` 'captain' | 'starting_five' | 'sixth_man' | 'bench', required
    - `excluded` boolean
    - `result_settled` boolean, nullable
    - `result_source` 'official' | 'manual_fallback', nullable
    - `actual_score` number, nullable
  - `bank_credits` number, required: Credits currently in the bank on the official game, copied from the game, never guessed.
  - `max_incoming` integer, nullable: Moves you are willing to make. Defaults to the Round's allowance (4, or 10 in an unlimited window).
  - `locked_codes` string[]: Owned players to keep.
  - `excluded_codes` string[]: Owned players to sell.

## Response `200`

Successful Response

- EuroleagueFantasyRecommendation
  - `snapshot_id` integer, required
  - `round_number` integer, required: Round this applicable advice was saved for.
  - `board_run_date` string, required
  - `mode` 'opening' | 'between_turns' | 'transfers', required
  - `policy_version` string, required
  - `board_revision` string, nullable
  - `turn_revision` string, nullable
  - `roster_revision` integer, nullable
  - `applied_at` string, date-time, nullable
  - `recommendation` union, required
    - EuroleagueFantasyRecommendationPayload
      - `mode` 'opening' | 'between_turns', required
      - `formation` string, nullable: The game's formation selector value for this lineup, guards-forwards-centers on the floor, e.g. 3-1-1.
      - `calendar_adjusted` boolean, nullable
      - `opening_strategy` 'static' | 'calendar', nullable
      - `expected_delta` number, required
      - `expected_final_points` number, required
      - `probability_worse` number, nullable
      - `probability_better` number, nullable
      - `actions` EuroleagueFantasyAction[], required
        - `player_code` string, required
        - `player_name` string, required
        - `from` 'captain' | 'starting_five' | 'sixth_man' | 'bench', required
        - `to` 'captain' | 'starting_five' | 'sixth_man' | 'bench', required
        - `played` boolean, required
      - `no_change` boolean, required
      - `roster` EuroleagueFantasyRosterPlayer[], required
        - `position` 'Guard' | 'Forward' | 'Center', required
        - `position_index` integer, required
        - `player_code` string, required
        - `player_name` string, required
        - `slot` 'captain' | 'starting_five' | 'sixth_man' | 'bench', required
        - `excluded` boolean
        - `result_settled` boolean, nullable
        - `result_source` 'official' | 'manual_fallback', nullable
        - `actual_score` number, nullable
      - `official_results` integer, required
      - `manual_results` integer, required
    - EuroleagueFantasyTransferPayload
      - `mode` 'transfers', required
      - `champion` 'form_blend_v1', required: The visible transfer rule: the exact optimisation over the 50/50 mean of prior season-to-date and last-five PIR, times selection propensity, at frozen market prices. No model uplift is claimed.
      - `round_number` integer, required
      - `max_incoming` integer, required
      - `sale_value_basis` 'current_price', required
      - `bank_before` number, required
      - `roster_value` number, required
      - `purchasing_power` number, required
      - `hold` EuroleagueFantasyTransferOption, required
        - `formation` string, nullable: Formation selector value of this roster, e.g. 2-2-1.
        - `moves` integer, required
        - `expected_points` number, required
        - `gain_vs_hold` number, required
        - `cost` number, required
        - `cash_after` number, required
        - `incoming` EuroleagueFantasyTransferMove[], required
          - `player_code` string, required
          - `player_name` string, required
          - `team_code` string, required
          - `position` 'Guard' | 'Forward' | 'Center', required
          - `price` number, required: Frozen market price in credits.
          - `expected_points` number, required: Expected Round points on the visible form rule, zero when the rule cannot value the player.
          - `status` 'form_valued' | 'no_form_record' | 'outside_projected_rotation', required
          - `reason` string, required
        - `outgoing` EuroleagueFantasyTransferMove[], required
          - `player_code` string, required
          - `player_name` string, required
          - `team_code` string, required
          - `position` 'Guard' | 'Forward' | 'Center', required
          - `price` number, required: Frozen market price in credits.
          - `expected_points` number, required: Expected Round points on the visible form rule, zero when the rule cannot value the player.
          - `status` 'form_valued' | 'no_form_record' | 'outside_projected_rotation', required
          - `reason` string, required
        - `roster` EuroleagueFantasyRosterPlayer[], required
          - `position` 'Guard' | 'Forward' | 'Center', required
          - `position_index` integer, required
          - `player_code` string, required
          - `player_name` string, required
          - `slot` 'captain' | 'starting_five' | 'sixth_man' | 'bench', required
          - `excluded` boolean
          - `result_settled` boolean, nullable
          - `result_source` 'official' | 'manual_fallback', nullable
          - `actual_score` number, nullable
      - `options` EuroleagueFantasyTransferOption[], required
        - `formation` string, nullable: Formation selector value of this roster, e.g. 2-2-1.
        - `moves` integer, required
        - `expected_points` number, required
        - `gain_vs_hold` number, required
        - `cost` number, required
        - `cash_after` number, required
        - `incoming` EuroleagueFantasyTransferMove[], required
          - `player_code` string, required
          - `player_name` string, required
          - `team_code` string, required
          - `position` 'Guard' | 'Forward' | 'Center', required
          - `price` number, required: Frozen market price in credits.
          - `expected_points` number, required: Expected Round points on the visible form rule, zero when the rule cannot value the player.
          - `status` 'form_valued' | 'no_form_record' | 'outside_projected_rotation', required
          - `reason` string, required
        - `outgoing` EuroleagueFantasyTransferMove[], required
          - `player_code` string, required
          - `player_name` string, required
          - `team_code` string, required
          - `position` 'Guard' | 'Forward' | 'Center', required
          - `price` number, required: Frozen market price in credits.
          - `expected_points` number, required: Expected Round points on the visible form rule, zero when the rule cannot value the player.
          - `status` 'form_valued' | 'no_form_record' | 'outside_projected_rotation', required
          - `reason` string, required
        - `roster` EuroleagueFantasyRosterPlayer[], required
          - `position` 'Guard' | 'Forward' | 'Center', required
          - `position_index` integer, required
          - `player_code` string, required
          - `player_name` string, required
          - `slot` 'captain' | 'starting_five' | 'sixth_man' | 'bench', required
          - `excluded` boolean
          - `result_settled` boolean, nullable
          - `result_source` 'official' | 'manual_fallback', nullable
          - `actual_score` number, nullable
      - `alternatives` EuroleagueFantasyTransferOption[]
        - `formation` string, nullable: Formation selector value of this roster, e.g. 2-2-1.
        - `moves` integer, required
        - `expected_points` number, required
        - `gain_vs_hold` number, required
        - `cost` number, required
        - `cash_after` number, required
        - `incoming` EuroleagueFantasyTransferMove[], required
          - `player_code` string, required
          - `player_name` string, required
          - `team_code` string, required
          - `position` 'Guard' | 'Forward' | 'Center', required
          - `price` number, required: Frozen market price in credits.
          - `expected_points` number, required: Expected Round points on the visible form rule, zero when the rule cannot value the player.
          - `status` 'form_valued' | 'no_form_record' | 'outside_projected_rotation', required
          - `reason` string, required
        - `outgoing` EuroleagueFantasyTransferMove[], required
          - `player_code` string, required
          - `player_name` string, required
          - `team_code` string, required
          - `position` 'Guard' | 'Forward' | 'Center', required
          - `price` number, required: Frozen market price in credits.
          - `expected_points` number, required: Expected Round points on the visible form rule, zero when the rule cannot value the player.
          - `status` 'form_valued' | 'no_form_record' | 'outside_projected_rotation', required
          - `reason` string, required
        - `roster` EuroleagueFantasyRosterPlayer[], required
          - `position` 'Guard' | 'Forward' | 'Center', required
          - `position_index` integer, required
          - `player_code` string, required
          - `player_name` string, required
          - `slot` 'captain' | 'starting_five' | 'sixth_man' | 'bench', required
          - `excluded` boolean
          - `result_settled` boolean, nullable
          - `result_source` 'official' | 'manual_fallback', nullable
          - `actual_score` number, nullable
      - `recommended_moves` integer, required
      - `recommended` EuroleagueFantasyTransferOption, required
        - `formation` string, nullable: Formation selector value of this roster, e.g. 2-2-1.
        - `moves` integer, required
        - `expected_points` number, required
        - `gain_vs_hold` number, required
        - `cost` number, required
        - `cash_after` number, required
        - `incoming` EuroleagueFantasyTransferMove[], required
          - `player_code` string, required
          - `player_name` string, required
          - `team_code` string, required
          - `position` 'Guard' | 'Forward' | 'Center', required
          - `price` number, required: Frozen market price in credits.
          - `expected_points` number, required: Expected Round points on the visible form rule, zero when the rule cannot value the player.
          - `status` 'form_valued' | 'no_form_record' | 'outside_projected_rotation', required
          - `reason` string, required
        - `outgoing` EuroleagueFantasyTransferMove[], required
          - `player_code` string, required
          - `player_name` string, required
          - `team_code` string, required
          - `position` 'Guard' | 'Forward' | 'Center', required
          - `price` number, required: Frozen market price in credits.
          - `expected_points` number, required: Expected Round points on the visible form rule, zero when the rule cannot value the player.
          - `status` 'form_valued' | 'no_form_record' | 'outside_projected_rotation', required
          - `reason` string, required
        - `roster` EuroleagueFantasyRosterPlayer[], required
          - `position` 'Guard' | 'Forward' | 'Center', required
          - `position_index` integer, required
          - `player_code` string, required
          - `player_name` string, required
          - `slot` 'captain' | 'starting_five' | 'sixth_man' | 'bench', required
          - `excluded` boolean
          - `result_settled` boolean, nullable
          - `result_source` 'official' | 'manual_fallback', nullable
          - `actual_score` number, nullable
      - `roster` EuroleagueFantasyRosterPlayer[], required
        - `position` 'Guard' | 'Forward' | 'Center', required
        - `position_index` integer, required
        - `player_code` string, required
        - `player_name` string, required
        - `slot` 'captain' | 'starting_five' | 'sixth_man' | 'bench', required
        - `excluded` boolean
        - `result_settled` boolean, nullable
        - `result_source` 'official' | 'manual_fallback', nullable
        - `actual_score` number, nullable
      - `no_change` boolean, required
      - `counts` object, required
      - `market` EuroleagueFantasyMarketReference, required
        - `snapshot_id` integer, required
        - `revision` integer, required
        - `cutoff_at` string, date-time, nullable
        - `source_observed_at` string, date-time, nullable
        - `player_count` integer, required
  - `created_at` string, date-time, required

## 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)
