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

# Bundles API — GET /v1/bundles endpoints

> Retrieve all Valorant store bundles or a single bundle by UUID. Bundles are themed cosmetic packages that appear in the Valorant featured store.

The Bundles API gives you access to every themed cosmetic collection that has appeared in the Valorant featured store. Bundles group skins, gun buddies, sprays, and player cards under a shared theme — such as the Prime 2.0 Bundle — and are typically sold at a discounted price compared to purchasing each item individually. You can retrieve the full bundle catalog or fetch details for a specific bundle by UUID.

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

## Endpoints

| Method | Path                 | Description                     |
| ------ | -------------------- | ------------------------------- |
| GET    | `/v1/bundles`        | Returns all bundles             |
| GET    | `/v1/bundles/{uuid}` | Returns a single bundle by UUID |

***

## GET /v1/bundles

Returns an array of all Valorant store bundles.

### 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 display names and descriptions. Example: `es-ES`, `it-IT`.
</ParamField>

### Example request

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

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

### Response

```json theme={null}
{
  "status": 200,
  "data": [
    {
      "uuid": "89443dca-429b-a9b0-afa1-5fa10b2446e5",
      "displayName": "Remasterizado 5 Years // Beta",
      "displayNameSubText": null,
      "description": "Remasterizado 5 Years // Beta",
      "extraDescription": null,
      "promoDescription": null,
      "useAdditionalContext": false,
      "displayIcon": "https://valmedia.teamfortuna.xyz/bundles/89443dca-429b-a9b0-afa1-5fa10b2446e5/displayicon.png",
      "displayIcon2": "https://valmedia.teamfortuna.xyz/bundles/89443dca-429b-a9b0-afa1-5fa10b2446e5/displayicon2.png",
      "displayIcon3": null,
      "logoIcon": null,
      "verticalPromoImage": "https://valmedia.teamfortuna.xyz/bundles/89443dca-429b-a9b0-afa1-5fa10b2446e5/verticalpromoimage.png",
      "assetPath": "ShooterGame/Content/UI/OutOfGame/MainMenu/Store/Bundles/StorefrontItem_Val5BetaThemeBundle_DataAsset"
    }
  ]
}
```

***

## GET /v1/bundles/{uuid}

Returns a single bundle matching the provided UUID.

### Request parameters

<ParamField path="uuid" type="string" required>
  The UUID of the bundle 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 display names and descriptions.
</ParamField>

### Example request

```bash cURL theme={null}
curl --request GET \
  --url "https://astra.teamfortuna.xyz/v1/bundles/89443dca-429b-a9b0-afa1-5fa10b2446e5" \
  --header "User-Agent: MyApp/1.0 (+https://example.com)"
```

### Response

```json theme={null}
{
  "status": 200,
  "data": {
    "uuid": "89443dca-429b-a9b0-afa1-5fa10b2446e5",
    "displayName": "5 Years // Beta Remastered",
    "displayNameSubText": null,
    "description": "5 Years // Beta Remastered",
    "extraDescription": null,
    "promoDescription": null,
    "useAdditionalContext": false,
    "displayIcon": "https://valmedia.teamfortuna.xyz/bundles/89443dca-429b-a9b0-afa1-5fa10b2446e5/displayicon.png",
    "displayIcon2": "https://valmedia.teamfortuna.xyz/bundles/89443dca-429b-a9b0-afa1-5fa10b2446e5/displayicon2.png",
    "displayIcon3": null,
    "logoIcon": null,
    "verticalPromoImage": "https://valmedia.teamfortuna.xyz/bundles/89443dca-429b-a9b0-afa1-5fa10b2446e5/verticalpromoimage.png",
    "assetPath": "ShooterGame/Content/UI/OutOfGame/MainMenu/Store/Bundles/StorefrontItem_Val5BetaThemeBundle_DataAsset"
  }
}
```

***

## Response fields

<ResponseField name="uuid" type="string" required>
  Unique identifier for the bundle.
</ResponseField>

<ResponseField name="displayName" type="string" required>
  Localized name of the bundle (e.g., `"Prime 2.0 Bundle"`).
</ResponseField>

<ResponseField name="displayNameSubText" type="string">
  Secondary localized name or subtitle. May be `null`.
</ResponseField>

<ResponseField name="description" type="string">
  Localized marketing description of the bundle's theme or contents. May be `null`.
</ResponseField>

<ResponseField name="extraDescription" type="string">
  Additional localized description text. May be `null`.
</ResponseField>

<ResponseField name="promoDescription" type="string">
  Promotional copy shown during featured store events. May be `null`.
</ResponseField>

<ResponseField name="useAdditionalContext" type="boolean">
  Whether the bundle uses additional context data for display purposes.
</ResponseField>

<ResponseField name="displayIcon" type="string">
  URL to the primary bundle display icon.
</ResponseField>

<ResponseField name="displayIcon2" type="string">
  URL to a secondary display icon variant. May be `null`.
</ResponseField>

<ResponseField name="logoIcon" type="string">
  URL to the bundle's logo icon. May be `null`.
</ResponseField>

<ResponseField name="assetPath" type="string">
  Internal Unreal Engine asset path for the bundle data object.
</ResponseField>

<Tip>
  Bundle UUIDs are stable across patches. You can safely store and reference them to track which bundles have appeared in the featured store over time.
</Tip>
