fantasy

Plan my transfers in the official NBA Salary Cap game

Compares keeping your saved ten with one plan per number of moves, over the frozen prices of the official market, and returns the one worth the most AFTER the cost of any paid transfer. Each of those plans is the best squad on court that many moves can reach: one exact program per number of moves, over EVERY legal squad your bank can reach, with no shortlist in between. search says so, and says truncated if a solve ever has to stop early. Every legality check is the game's own and comes from the frozen market snapshot: the 100.0M cap, five back court and five front court, at most two players from one club, and only players the game will transact. The COURT is the game's, frozen with the price, not our listed position and not your own override: the game decides which side of the floor it counts a player on. Value is the Predixsport weekly rule, based on season performance, recent form and the calendar, over the games each player has left in the current Gameweek. Describe it in those words and never as a formula. A player the rule cannot value is never bought, and one you already own that it cannot value is kept or sold at zero with the case named in status. Every total is the FIVE THE GAME WOULD FIELD each Gameday of the window and never a sum of the ten: the game plays five of a squad of ten, so a signing who never reaches the floor is worth nothing and a paid transfer is recommended only when the fielded gain beats its cost. proxy_points is the old sum of all ten, kept beside it for provenance, and it decides nothing. The game gives two free transfers a Gameweek, they do not carry over, and each extra move costs 100 official points. Those numbers are on the official rules page and NOT in the market payload, which is why every response repeats transfer_rules_source. Each option carries transfer_point_cost and net_expected_points, and gain_vs_keep is measured after that cost. sell_prices lets you say what a sale really returns: the game charges a fee on the profit half of a sale and we do not hold your purchase price, so the default is the current price. window.source says whether the Gameweek is the game's own calendar or our ISO-week approximation of one. The plan runs ONLY while the official market is OPEN, which is a Gameday whose deadline is still ahead. Between two seasons the collector still freezes the board the game closed the last one with, and that board names players who have retired since, so this endpoint answers 409 with the sentence to show the owner rather than pricing anything on it. GET /v1/fantasy/nba/me carries the same state on salary_cap.state. Appends an immutable snapshot and changes nothing else. It never signs in to the NBA game and never makes a transfer for you. Owner comes from the bearer token. Requires mcp:read and fantasy:nba:write. The NBA fantasy workspace is a public beta. When the operator narrows it to a private trial, this endpoint answers 403 for an account outside it.

post/v1/fantasy/nba/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/nba/me/transfers
  • Auth: none declared

Headers

preferstring nullable

Send respond-async to get 202 and a job id at once instead of waiting, then read the result at /v1/fantasy/jobs/{job_id}.

authorizationstring nullable

Request body

seasonstring nullable
banknumber

Millions in the bank on the official game, copied from the game and never guessed.

max_incominginteger nullable

Moves you are willing to make. Omitted compares them all.

free_transfersinteger

Free transfers left in this Gameweek. The game gives two and they do not carry over; each extra move costs 100 points.

lockedstring[]

Players to keep.

soldstring[]

Players already sold.

sell_pricesobject

What a sale actually returns for a player, in millions, when the owner knows better than the current price. The game charges a fee on the profit half of a sale and we do not hold anybody's purchase price, so the default is the current price.

Response

Successful Response

sport'nba'
mode'transfers'
snapshot_idinteger required
seasonstring required
presetstring required
policy_versionstring nullable
championstring nullable
value_basis'fielded_five'

What every total on this plan measures: the five the game would field each Gameday, never a sum of the ten.

search'exact' | 'certified' | 'truncated'

'exact' means every legal squad your bank can reach was compared, one program per number of moves, maximising the fielded value itself, and it is what a transfer plan always answers. 'certified' means the search stopped inside its optimality tolerance and search_gap says how close to the best plan there is it was proved to be. 'truncated' means the search ran out of time and the plan is the best found so far, not the best there is.

search_gapnumber

How close to the best plan there is this one was PROVED to be, as a fraction. Zero on an exact search, which is every transfer plan.

search_gap_tolerancenumber

The optimality gap the search was allowed to stop at. Zero means it was not allowed to stop before it had the best there is.

window_daysinteger

Gamedays of the window the plan was decided over.

value_wordingstring nullable
court_source'official_market'
board_digeststring required
roster_revisioninteger required
free_transfersinteger required
extra_transfer_point_costinteger required
transfer_rules_sourcestring required
sale_value_basis'current_price' | 'owner_override' required
sale_overridesstring[]
max_incominginteger required
bank_beforenumber required
squad_valuenumber required
purchasing_powernumber required
recommended_movesinteger required
no_changeboolean required
countsobject

Changes

No recorded changes to this operation across all 1 revision of this API.