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

# Gear & Armor API — GET /v1/gear endpoints

> Fetch all Valorant gear items or retrieve a single gear item by UUID. Gear includes armor and shields purchasable in the buy phase.

The Gear API returns data on all purchasable defensive items in Valorant, including Light Shields and Heavy Shields. Each gear item includes its description, display icon, cost, and shop metadata such as category and priority ordering. You can retrieve the full gear list or look up a specific item 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/gear`        | Returns all gear items             |
| GET    | `/v1/gear/{uuid}` | Returns a single gear item by UUID |

***

## GET /v1/gear

Returns an array of all purchasable gear items.

### 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: `pt-BR`, `zh-TW`.
</ParamField>

### Example request

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

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

### Response

```json theme={null}
{
  "status": 200,
  "data": [
    {
      "uuid": "822bcab2-40a2-324e-c137-e09195ad7692",
      "displayName": "Armadura Pesada",
      "description": "Absorve 66% do dano total sofrido. Quebra após absorver 50 de dano.",
      "displayIcon": "https://valmedia.teamfortuna.xyz/gear/822bcab2-40a2-324e-c137-e09195ad7692/displayicon.png",
      "assetPath": "ShooterGame/Content/Gear/HeavyArmor_PrimaryAsset",
      "shopData": null
    }
  ]
}
```

***

## GET /v1/gear/{uuid}

Returns a single gear item matching the provided UUID.

### Request parameters

<ParamField path="uuid" type="string" required>
  The UUID of the gear item 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/gear/822bcab2-40a2-324e-c137-e09195ad7692" \
  --header "User-Agent: MyApp/1.0 (+https://example.com)"
```

### Response

```json theme={null}
{
  "status": 200,
  "data": {
    "uuid": "822bcab2-40a2-324e-c137-e09195ad7692",
    "displayName": "Heavy Armor",
    "description": "Absorbs 66% of total damage taken. Breaks after it has absorbed 50 damage.",
    "displayIcon": "https://valmedia.teamfortuna.xyz/gear/822bcab2-40a2-324e-c137-e09195ad7692/displayicon.png",
    "assetPath": "ShooterGame/Content/Gear/HeavyArmor_PrimaryAsset",
    "shopData": null
  }
}
```

***

## Response fields

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

<ResponseField name="displayName" type="string" required>
  Localized name of the gear item (e.g., `"Heavy Shields"`, `"Light Shields"`).
</ResponseField>

<ResponseField name="description" type="string">
  Localized description of the gear item's function in gameplay.
</ResponseField>

<ResponseField name="displayIcon" type="string">
  URL to the gear item's display icon.
</ResponseField>

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

<ResponseField name="shopData" type="object">
  Metadata about how the item appears and behaves in the buy phase shop.

  <Expandable title="shopData properties">
    <ResponseField name="cost" type="number">
      Purchase cost in Creds.
    </ResponseField>

    <ResponseField name="category" type="string">
      Internal shop category string (e.g., `"Gear"`).
    </ResponseField>

    <ResponseField name="shopOrderPriority" type="number">
      Sort priority within the shop UI.
    </ResponseField>

    <ResponseField name="categoryText" type="string">
      Localized category label shown in the shop.
    </ResponseField>

    <ResponseField name="gridPosition" type="object">
      Grid slot position in the shop layout. `null` if not assigned.
    </ResponseField>

    <ResponseField name="canBeTrashed" type="boolean">
      Whether the item can be dropped or sold back during the buy phase.
    </ResponseField>

    <ResponseField name="image" type="string">
      Legacy shop image URL. May be `null`.
    </ResponseField>

    <ResponseField name="newImage" type="string">
      Primary shop image URL used in the current UI.
    </ResponseField>

    <ResponseField name="newImage2" type="string">
      Secondary shop image URL. May be `null`.
    </ResponseField>

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