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

# Game Modes API — GET /v1/gamemodes endpoints

> Retrieve all Valorant game modes or a single mode by UUID. Also fetch mode-specific equippable items like the Snowball Launcher for limited-time modes.

The Game Modes API provides data on every available Valorant game mode — from Unrated and Competitive to Deathmatch and Spike Rush — along with their configuration flags. You can also query equippable items tied to specific modes, such as the Snowball Launcher available in the Snowball Fight limited-time mode.

<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/gamemodes`                    | Returns all game modes              |
| GET    | `/v1/gamemodes/{uuid}`             | Returns a single game mode by UUID  |
| GET    | `/v1/gamemodes/equippables`        | Returns all equippable items        |
| GET    | `/v1/gamemodes/equippables/{uuid}` | Returns a single equippable by UUID |

***

## GET /v1/gamemodes

Returns an array of all Valorant game modes.

### 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. Example: `fr-FR`, `ko-KR`.
</ParamField>

### Example request

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

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

### Response

```json theme={null}
{
  "status": 200,
  "data": [
    {
      "uuid": "31392216-4b4e-6914-b040-e2872bb40314",
      "displayName": "",
      "description": "",
      "duration": null,
      "economyType": null,
      "allowsMatchTimeouts": false,
      "isTeamVoiceAllowed": false,
      "isMinimapHidden": false,
      "orbCount": 0,
      "roundsPerHalf": 0,
      "allowsCustomGameReplays": false,
      "teamRoles": null,
      "gameFeatureOverrides": null,
      "gameRuleBoolOverrides": null,
      "displayIcon": null,
      "listViewIconTall": null,
      "assetPath": "ShooterGame/Content/GameModes/Orbs/OrbGameMode_PrimaryAsset"
    }
  ]
}
```

***

## GET /v1/gamemodes/{uuid}

Returns a single game mode matching the provided UUID.

### Request parameters

<ParamField path="uuid" type="string" required>
  The UUID of the game mode 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.
</ParamField>

### Example request

```bash cURL theme={null}
curl --request GET \
  --url "https://astra.teamfortuna.xyz/v1/gamemodes/96bd3920-4f36-d026-2b28-c683eb0bcac5" \
  --header "User-Agent: MyApp/1.0 (+https://example.com)"
```

***

## GET /v1/gamemodes/equippables

Returns all equippable items associated with game modes. Equippables are special items available only in specific modes, such as the Snowball Launcher in the Snowball Fight limited-time mode.

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

### Example request

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

***

## GET /v1/gamemodes/equippables/{uuid}

Returns a single equippable item by UUID.

### Request parameters

<ParamField path="uuid" type="string" required>
  The UUID of the equippable 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.
</ParamField>

### Example request

```bash cURL theme={null}
curl --request GET \
  --url "https://astra.teamfortuna.xyz/v1/gamemodes/equippables/f14571f8-5b3a-4f23-a7ce-e5f1f0c26b07" \
  --header "User-Agent: MyApp/1.0 (+https://example.com)"
```

***

## Response fields

### Game mode fields

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

<ResponseField name="displayName" type="string" required>
  Localized display name of the game mode (e.g., `"Competitive"`, `"Deathmatch"`).
</ResponseField>

<ResponseField name="duration" type="string">
  Match time limit, if applicable. `null` for standard modes without a hard time cap.
</ResponseField>

<ResponseField name="economyType" type="string">
  Internal economy type string (e.g., `"EAresEconomyType::Standard"`).
</ResponseField>

<ResponseField name="allowsMatchTimeouts" type="boolean">
  Whether match timeouts are permitted in this mode.
</ResponseField>

<ResponseField name="isTeamVoiceAllowed" type="boolean">
  Whether team voice chat is enabled for this mode.
</ResponseField>

<ResponseField name="isMinimapAllowed" type="boolean">
  Whether the minimap is available to players in this mode.
</ResponseField>

<ResponseField name="orbCount" type="number">
  Number of ability orbs present on the map in this mode.
</ResponseField>

<ResponseField name="teamRoles" type="string[]">
  Team role assignments if the mode uses asymmetric teams. `null` for standard modes.
</ResponseField>

<ResponseField name="gameFeatureOverrides" type="object[]">
  Overrides for game features specific to this mode. `null` when no overrides apply.
</ResponseField>

<ResponseField name="gameRuleBoolOverrides" type="object[]">
  Boolean rule overrides for this mode. `null` when no overrides apply.
</ResponseField>

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

<ResponseField name="listViewIconTall" type="string">
  URL to a tall variant of the icon used in list views. May be `null`.
</ResponseField>

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