---
title: "Update a league."
method: PUT
path: "/api/league/{league}"
tags: ["League"]
---

# Update a league.

`PUT /api/league/{league}`

## Request

- Base URL: `https://api.sponsorunited.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.sponsorunited.com/api/league/{league}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/sponsorunited/apis/sponsorunited-api/docs/api/league/:league/put.ts> (a function with typed inputs; its response is checked against the schema)

Updates a league and, when date fields are provided, batch-updates the dates across all of its seasons. Also syncs assistants, divisions and rejected companies, and reorders sibling leagues.

## Path parameters

- `league` integer, required

## Request body

- LeagueUpdateRequest
  - `name` string, nullable: League name.
  - `short_name` string, nullable: League short name.
  - `currency` string, nullable: ISO currency code.
  - `is_continuous` boolean: Whether the league runs continuously (no fixed season window). Accepts true/false or 1/0; null is not accepted.
  - `logo_url` string, nullable: URL of the league logo image.
  - `website_url` string, nullable: League website URL.
  - `sport_id` integer, nullable: Associated sport ID.
  - `owner_id` integer, nullable: League owner user ID.
  - `scouting_priority` integer, nullable: Scouting priority.
  - `platforms_scouted` integer, nullable: Number of platforms scouted.
  - `times_scouted_per_year` integer, nullable: Times scouted per year.
  - `genre_id` integer, nullable: Genre ID.
  - `subgenre_id` integer, nullable: Subgenre ID.
  - `notes` string, nullable: Free-text notes.
  - `assistants` integer[]: User IDs to assign as league assistants.
  - `divisions` object[]: League divisions to sync.
  - `rejected_companies` object[]: Companies to mark as rejected.
    - `id` integer, required
  - `order` integer: Display order within its genre/subgenre group.
  - `separator_text` string, nullable: Separator label used in listings.
  - `release_date` string, nullable: Season release date (MM/DD); applied across the league's seasons.
  - `start_date` string, nullable: Season start date (MM/DD); applied across the league's seasons.
  - `end_date` string, nullable: Season end date (MM/DD); applied across the league's seasons.
  - `social_start_date` string, nullable: Social scraping start date (MM/DD); applied across the league's seasons.
  - `social_end_date` string, nullable: Social scraping end date (MM/DD); applied across the league's seasons.

## Response `200`

The updated league with its seasons, rejected companies, notes and assistants.

## Other responses

- `400`: Wrong parameters (e.g. too many assistants, invalid date order, or seasons not set up).
- `403`: The user lacks the permission required to edit leagues.
- `500`: Server error

---

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