---
title: "Current champions"
method: GET
path: "/v1/champions"
tags: ["Rankings"]
---

# Current champions

`GET /v1/champions`

## Request

- Base URL: `https://api.ufcalendar.com`
- URL: `https://api.ufcalendar.com/v1/champions`
- Auth: HTTP bearer

Rank-0 rows of each launch org's latest official board, with the champion's `nationality` and `country_code` (ISO-3166 alpha-2). `org=` narrows to one promotion and `division=` to one weight class; an unknown value 400s (`invalid_org` / `invalid_division`) rather than widening the answer.

## Query parameters

- `org` 'ufc' | 'pfl' | 'oktagon' | 'bkfc' | 'rizin'
- `division` string

## Response `200`

Champions

- ChampionsResponse
  - `data` Champion[], required
    - `org` string, required
    - `division` string, required
    - `snapshot_date` string, date, required
    - `rank` integer, required: 0 = champion.
    - `is_champion` boolean, required
    - `fighter_id` integer, nullable, required
    - `fighter_slug` string, nullable, required
    - `name` string, required
    - `nationality` string, nullable, required: Country NAME as the source spells it.
    - `country_code` string, nullable, required: ISO 3166-1 alpha-2 derived from `nationality`.
    - `fighter` RankedFighterRef, required
      - `id` integer, required
      - `slug` string, nullable, required
      - `name` string, required
  - `meta` EmptyMeta, required: `meta` is always present; `{}` when the endpoint has nothing to add.
    - `ignored_params` string[]: Present only when the request carried query parameters this endpoint does not take — they were ignored. Same list as the `X-UFCalendar-Ignored-Params` header. Sorted, unique.

## Other responses

- `304`: Not Modified — `If-None-Match` matched the current weak `ETag`. Empty body.
- `400`: Invalid input (`invalid_org`, `invalid_division`).
- `401`: Missing/invalid API key (`unauthorized`).
- `403`: No active plan on the key's account (`subscription_required`) — choose a plan or start the free 1-day trial at https://www.ufcalendar.com/account/api.
- `404`: Not found (`not_found`; staged-org data 404s until the org is promoted).
- `429`: Rate limited (`rate_limited`) or monthly quota reached (`quota_exceeded`). Honor `Retry-After`.
- `500`: Something broke on our side (`internal_error`). It has been logged under the `request_id`.

---

[API](https://skmtc.dev/ufcalendar/apis/ufcalendar-fight-api.md) · [All operations](https://skmtc.dev/ufcalendar/apis/ufcalendar-fight-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ufcalendar/apis/ufcalendar-fight-api/revisions/9623cc8fb70b?raw)
