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

# Player Titles API — GET /v1/playertitles endpoints

> Fetch all Valorant player titles or retrieve a single title by UUID. Player titles display as text beneath a player's name in the in-game UI.

Player titles are short text strings that appear beneath a player's name in Valorant's in-game UI. They can be earned through ranked progression, events, or the store. Some titles have no text at all — these are blank titles that effectively hide the subtitle. You can fetch the full catalog of titles or look up any individual title by UUID.

<Note>
  All requests must include a `User-Agent` header in the format `AppName/Version (+URL)`. Requests without it will be rejected.
</Note>

***

## GET /v1/playertitles

Returns a list of all player titles.

<Tip>
  Use the `language` query parameter to receive localized `displayName` and `titleText` values for your users.
</Tip>

### Query parameters

<ParamField query="language" type="string" default="en-US">
  BCP 47 locale string for response localization. Example: `es-ES`, `ar-AE`, `pl-PL`.
</ParamField>

### Example request

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

### Response

```json theme={null}
{
  "status": 200,
  "data": [
    {
      "uuid": "d13e579c-435e-44d4-cec2-6eae5a3c5ed4",
      "displayName": "",
      "titleText": "",
      "isHiddenIfNotOwned": false,
      "assetPath": "ShooterGame/Content/Personalization/Titles/PlayerTitle_Default_PrimaryAsset"
    }
  ]
}
```

### Response fields

<ResponseField name="status" type="number" required>
  HTTP status code of the response.
</ResponseField>

<ResponseField name="data" type="object[]" required>
  Array of player title objects.

  <Expandable title="player title properties">
    <ResponseField name="uuid" type="string" required>
      Unique identifier for the player title.
    </ResponseField>

    <ResponseField name="displayName" type="string" required>
      Localized name for this title as shown in menus and the store.
    </ResponseField>

    <ResponseField name="titleText" type="string" required>
      The text string rendered beneath a player's name in-game. This field is an empty string (`""`) for blank titles.
    </ResponseField>

    <ResponseField name="isHiddenIfNotOwned" type="boolean" required>
      Whether this title is hidden in the store when the player does not own it.
    </ResponseField>

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

<Note>
  Titles where `titleText` is an empty string are intentional blank titles. Players equip these to show no subtitle beneath their name.
</Note>

***

## GET /v1/playertitles/\{uuid}

Returns a single player title by its UUID.

### Path parameters

<ParamField path="uuid" type="string" required>
  The UUID of the player title to retrieve.
</ParamField>

### Query parameters

<ParamField query="language" type="string" default="en-US">
  BCP 47 locale string for response localization.
</ParamField>

### Example request

<CodeGroup>
  ```bash cURL theme={null}
  curl --request GET \
    --url "https://astra.teamfortuna.xyz/v1/playertitles/d13e579c-435e-44d4-cec2-6eae5a3c5ed4?language=en-US" \
    --header "User-Agent: MyApp/1.0 (+https://example.com)"
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "status": 200,
  "data": {
    "uuid": "d13e579c-435e-44d4-cec2-6eae5a3c5ed4",
    "displayName": "",
    "titleText": "",
    "isHiddenIfNotOwned": false,
    "assetPath": "ShooterGame/Content/Personalization/Titles/PlayerTitle_Default_PrimaryAsset"
  }
}
```
