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

# Cosmetic Themes API — GET /v1/themes endpoints

> Fetch all Valorant cosmetic themes or a single theme by UUID. Themes group related skins, buddies, sprays, and cards from the same collection.

Themes are the cosmetic collections that unite related skins, buddies, sprays, and player cards under a single brand — for example "Prime", "Glitchpop", or "Elderflame". The Themes API lets you retrieve every theme available in the game or look up an individual theme by its UUID. You can use the returned `uuid` to cross-reference themed cosmetics across other endpoints.

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

***

## GET /v1/themes

Returns a list of all cosmetic themes.

<Tip>
  Use the `language` query parameter to retrieve localized `displayName` values for each theme.
</Tip>

### Query parameters

<ParamField query="language" type="string" default="en-US">
  BCP 47 locale string for response localization. Example: `ja-JP`, `zh-CN`, `ko-KR`.
</ParamField>

### Example request

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

### Response

```json theme={null}
{
  "status": 200,
  "data": [
    {
      "uuid": "271874eb-491b-eae3-51f8-6f93f93035f9",
      "displayName": ".EXE",
      "displayIcon": null,
      "storeFeaturedImage": null,
      "assetPath": "ShooterGame/Content/Themes/Theme_Grid_PrimaryAsset"
    }
  ]
}
```

### Response fields

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

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

  <Expandable title="theme properties">
    <ResponseField name="uuid" type="string" required>
      Unique identifier for the theme. Use this UUID to filter themed cosmetics across other endpoints (e.g. buddies, sprays, player cards).
    </ResponseField>

    <ResponseField name="displayName" type="string" required>
      Localized display name of the theme (e.g. `"Prime"`, `"Elderflame"`).
    </ResponseField>

    <ResponseField name="storeFeaturedImage" type="string">
      URL of the image used to feature this theme in the Valorant store. May be `null` for themes without store placements.
    </ResponseField>

    <ResponseField name="displayIcon" type="string">
      URL of the theme's display icon. May be `null`.
    </ResponseField>

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

***

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

Returns a single cosmetic theme by its UUID.

### Path parameters

<ParamField path="uuid" type="string" required>
  The UUID of the theme 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/themes/271874eb-491b-eae3-51f8-6f93f93035f9?language=en-US" \
    --header "User-Agent: MyApp/1.0 (+https://example.com)"
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "status": 200,
  "data": {
    "uuid": "271874eb-491b-eae3-51f8-6f93f93035f9",
    "displayName": ".EXE",
    "displayIcon": null,
    "storeFeaturedImage": null,
    "assetPath": "ShooterGame/Content/Themes/Theme_Grid_PrimaryAsset"
  }
}
```
