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

# Agents & Roles API — GET /v1/agents endpoints

> Fetch all Valorant agents or retrieve a single agent by UUID. Returns role, abilities, portrait images, and localized display names.

Valorant agents are the playable characters at the heart of every match. Each agent belongs to one of four roles — Duelist, Initiator, Controller, or Sentinel — and comes with a unique set of abilities. The Agents API gives you access to localized display names, rich visual assets (portraits, icons, background images), role metadata, and full ability descriptions for every agent in the game.

***

## List all agents

Retrieve the full list of all Valorant agents.

### Endpoint

```
GET https://astra.teamfortuna.xyz/v1/agents
```

### Query parameters

<ParamField query="language" type="string" default="en-US">
  Locale code for response text. Defaults to `en-US`. Supported values: `ar-AE`, `de-DE`, `en-US`, `es-ES`, `es-MX`, `fr-FR`, `id-ID`, `it-IT`, `ja-JP`, `ko-KR`, `pl-PL`, `pt-BR`, `ru-RU`, `th-TH`, `tr-TR`, `vi-VN`, `zh-CN`, `zh-TW`, `all`.
</ParamField>

### Request

```bash theme={null}
curl "https://astra.teamfortuna.xyz/v1/agents?language=en-US" \
  -H "User-Agent: MyApp/1.0 (+https://example.com)"
```

### Response

The `data` field contains an array of agent objects. One representative entry is shown below.

```json theme={null}
{
  "status": 200,
  "data": [
    {
      "uuid": "41fb69c1-4189-7b37-f117-bcaf1e96f1bf",
      "displayName": "Astra",
      "description": "Ghanaian Agent Astra harnesses the energies of the cosmos to reshape battlefields to her whim. With full command of her astral form and a talent for deep strategic foresight, she's always eons ahead of her enemy's next move.",
      "developerName": "Rift",
      "characterTags": null,
      "displayIcon": "https://valmedia.teamfortuna.xyz/agents/41fb69c1-4189-7b37-f117-bcaf1e96f1bf/displayicon.png",
      "displayIconSmall": null,
      "bustPortrait": "https://valmedia.teamfortuna.xyz/agents/41fb69c1-4189-7b37-f117-bcaf1e96f1bf/fullportrait.png",
      "fullPortrait": "https://valmedia.teamfortuna.xyz/agents/41fb69c1-4189-7b37-f117-bcaf1e96f1bf/fullportrait.png",
      "fullPortraitV2": null,
      "killfeedPortrait": "https://valmedia.teamfortuna.xyz/agents/41fb69c1-4189-7b37-f117-bcaf1e96f1bf/killfeedportrait.png",
      "background": "https://valmedia.teamfortuna.xyz/agents/41fb69c1-4189-7b37-f117-bcaf1e96f1bf/characterbackground.png",
      "backgroundGradientColors": [
        "040126ff"
      ],
      "assetPath": "ShooterGame/Content/Characters/Rift/Rift_PrimaryAsset",
      "isFullPortraitRightFacing": false,
      "isPlayableCharacter": true,
      "isAvailableForTest": true,
      "isBaseContent": true,
      "role": {
        "uuid": "4ee40330-ecdd-4f2f-98a8-eb1243428373",
        "displayName": "Controller",
        "description": "Controllers are experts in slicing up dangerous territory to set their team up for success.",
        "displayIcon": null,
        "assetPath": "ShooterGame/Content/Characters/_Core/Roles/Strategist_PrimaryDataAsset"
      },
      "recruitmentData": null,
      "abilities": [
        {
          "slot": "Ability1",
          "displayName": "Nova Pulse",
          "description": "Place Stars in Astral Form (Ultimate Key).\r\n\r\nACTIVATE a Star to detonate a Nova Pulse. The Nova Pulse charges briefly then strikes, Concussing all players in its area.",
          "displayIcon": "./assets/agents/41fb69c1-4189-7b37-f117-bcaf1e96f1bf/abilities/displayicon.png"
        }
      ],
      "voiceLine": null
    }
  ]
}
```

***

## Get single agent

Retrieve a specific agent by their UUID.

### Endpoint

```
GET https://astra.teamfortuna.xyz/v1/agents/{uuid}
```

### Path parameters

<ParamField path="uuid" type="string" required>
  The unique identifier for the agent (e.g. `e370fa57-4757-3604-3648-499e1f642d3f`).
</ParamField>

### Query parameters

<ParamField query="language" type="string" default="en-US">
  Locale code for response text. Defaults to `en-US`. Supported values: `ar-AE`, `de-DE`, `en-US`, `es-ES`, `es-MX`, `fr-FR`, `id-ID`, `it-IT`, `ja-JP`, `ko-KR`, `pl-PL`, `pt-BR`, `ru-RU`, `th-TH`, `tr-TR`, `vi-VN`, `zh-CN`, `zh-TW`, `all`.
</ParamField>

### Request

```bash theme={null}
curl "https://astra.teamfortuna.xyz/v1/agents/e370fa57-4757-3604-3648-499e1f642d3f?language=en-US" \
  -H "User-Agent: MyApp/1.0 (+https://example.com)"
```

<Note>
  When fetching a single agent, the `data` field in the response is an object rather than an array. The structure of the object is identical to individual entries returned by the list endpoint.
</Note>
