> ## Documentation Index
> Fetch the complete documentation index at: https://docs.teamfortuna.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Competitive Tiers API — GET /v1/competitivetiers

> Fetch all Valorant competitive tier sets or a single tier set by UUID. Returns ranked tier names, division labels, RGBA hex colors, and rank icons.

The Competitive Tiers API returns the ranked ladder definitions used across Valorant's history. Each tier set is versioned per episode, so the data reflects how the rank system has changed over time — including tier count, names, and iconography. Within each tier set you get the full ladder from Iron to Radiant, with display names, division labels, hex color codes, and icon URLs for both the rank icon and the triangle indicators used in the end-of-match summary.

<Note>
  The `User-Agent` header is required for all requests. Use the format `AppName/Version (+URL)` — for example, `MyApp/1.0 (+https://example.com)`.
</Note>

<Note>
  Multiple tier sets exist because Riot has adjusted the competitive system between episodes. Use the Seasons API's `competitiveTiersUuid` field to identify which tier set was active during a specific act.
</Note>

## Endpoints

| Method | Path                          | Description                       |
| ------ | ----------------------------- | --------------------------------- |
| GET    | `/v1/competitivetiers`        | Returns all competitive tier sets |
| GET    | `/v1/competitivetiers/{uuid}` | Returns a single tier set by UUID |

***

## GET /v1/competitivetiers

Returns an array of all competitive tier set versions.

### Request parameters

<ParamField header="User-Agent" type="string" required>
  Identifies your application. Format: `AppName/Version (+URL)`.
</ParamField>

<ParamField query="language" type="string" default="en-US">
  Locale for localized tier display names. Example: `ja-JP`, `es-MX`.
</ParamField>

### Example request

<CodeGroup>
  ```bash cURL theme={null}
  curl --request GET \
    --url "https://astra.teamfortuna.xyz/v1/competitivetiers" \
    --header "User-Agent: MyApp/1.0 (+https://example.com)"
  ```

  ```bash cURL with language theme={null}
  curl --request GET \
    --url "https://astra.teamfortuna.xyz/v1/competitivetiers?language=ja-JP" \
    --header "User-Agent: MyApp/1.0 (+https://example.com)"
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "status": 200,
  "data": [
    {
      "uuid": "c1ba423d-25f5-30a3-8637-b516efc92670",
      "assetObjectName": "Episode1_CompetitiveTierDataTable",
      "assetPath": "ShooterGame/Content/UI/Screens/Shared/Competitive/Episode1_CompetitiveTierDataTable",
      "tiers": [
        {
          "tier": 0,
          "tierName": "UNRANKED",
          "division": "ECompetitiveDivision::UNRANKED",
          "divisionName": "UNRANKED",
          "color": "ffffffff",
          "backgroundColor": "00000000",
          "smallIcon": "https://valmedia.teamfortuna.xyz/competitivetiers/c1ba423d-25f5-30a3-8637-b516efc92670/0/smallicon.png",
          "largeIcon": "https://valmedia.teamfortuna.xyz/competitivetiers/c1ba423d-25f5-30a3-8637-b516efc92670/0/largeicon.png",
          "rankTriangleDownIcon": "https://valmedia.teamfortuna.xyz/competitivetiers/c1ba423d-25f5-30a3-8637-b516efc92670/0/ranktriangledownicon.png",
          "rankTriangleUpIcon": "https://valmedia.teamfortuna.xyz/competitivetiers/c1ba423d-25f5-30a3-8637-b516efc92670/0/ranktriangleupicon.png"
        }
      ]
    }
  ]
}
```

***

## GET /v1/competitivetiers/{uuid}

Returns a single competitive tier set matching the provided UUID.

### Request parameters

<ParamField path="uuid" type="string" required>
  The UUID of the competitive tier set to retrieve.
</ParamField>

<ParamField header="User-Agent" type="string" required>
  Identifies your application. Format: `AppName/Version (+URL)`.
</ParamField>

<ParamField query="language" type="string" default="en-US">
  Locale for localized tier display names.
</ParamField>

### Example request

```bash cURL theme={null}
curl --request GET \
  --url "https://astra.teamfortuna.xyz/v1/competitivetiers/03702c14-f54b-f194-edd7-5faa8a8e0a72" \
  --header "User-Agent: MyApp/1.0 (+https://example.com)"
```

***

## Response fields

<ResponseField name="uuid" type="string" required>
  Unique identifier for this competitive tier set.
</ResponseField>

<ResponseField name="assetObjectName" type="string">
  Asset object name for the competitive tier table (used in asset path resolution).
</ResponseField>

<ResponseField name="tiers" type="object[]">
  Ordered list of all ranks within this tier set, from Unranked (0) to Radiant.

  <Expandable title="tier properties">
    <ResponseField name="tier" type="number">
      Numeric tier index. Lower numbers are lower ranks; `0` is Unranked.
    </ResponseField>

    <ResponseField name="tierName" type="string">
      Localized tier name (e.g., `"IRON 1"`, `"PLATINUM 3"`, `"RADIANT"`).
    </ResponseField>

    <ResponseField name="division" type="string">
      Internal division enum string (e.g., `"ECompetitiveDivision::IRON"`).
    </ResponseField>

    <ResponseField name="divisionName" type="string">
      Localized division label, typically matching the base rank name without the subdivision number.
    </ResponseField>

    <ResponseField name="color" type="string">
      8-character RGBA hex color code for the rank's primary display color (e.g., `"f2a900ff"`).
    </ResponseField>

    <ResponseField name="backgroundColor" type="string">
      8-character RGBA hex color code for the rank's background (e.g., `"f5f0e8ff"`).
    </ResponseField>

    <ResponseField name="smallIcon" type="string">
      URL to the small rank icon, used in scoreboard and player card contexts.
    </ResponseField>

    <ResponseField name="largeIcon" type="string">
      URL to the large rank icon, used in profile and end-of-match screens.
    </ResponseField>

    <ResponseField name="rankTriangleUpIcon" type="string">
      URL to the upward triangle icon shown on rank-up screens. May be `null` for tiers where this is not applicable.
    </ResponseField>

    <ResponseField name="rankTriangleDownIcon" type="string">
      URL to the downward triangle icon shown on rank-down screens. May be `null` for tiers where this is not applicable.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="assetPath" type="string">
  Internal Unreal Engine asset path.
</ResponseField>

<Tip>
  Color values use 8-character RGBA hex format rather than the standard 6-character RGB. Strip the last two characters (the alpha channel) if you need a plain RGB hex value for CSS.
</Tip>
