Skip to main content
The Level Borders API provides data on the decorative frame overlays that appear around a player’s portrait in the Valorant UI. Borders change as players reach account level milestones — for example, at levels 20, 100, 200, and beyond — giving long-time players a visible marker of their playtime. Each border entry includes its starting level threshold and image assets for both the portrait frame and level number appearance.
The User-Agent header is required for all requests. Use the format AppName/Version (+URL) — for example, MyApp/1.0 (+https://example.com).

Endpoints

MethodPathDescription
GET/v1/levelbordersReturns all level border definitions
GET/v1/levelborders/{uuid}Returns a single level border by UUID

GET /v1/levelborders

Returns an array of all account level border frame definitions.

Request parameters

User-Agent
string
required
Identifies your application. Format: AppName/Version (+URL).
language
string
default:"en-US"
Locale for localized display names. Example: id-ID, ko-KR.

Example request

curl --request GET \
  --url "https://astra.teamfortuna.xyz/v1/levelborders" \
  --header "User-Agent: MyApp/1.0 (+https://example.com)"

Response

{
  "status": 200,
  "data": [
    {
      "uuid": "ebc736cd-4b6a-137b-e2b0-1486e31312c9",
      "displayName": "Border Level 1",
      "startingLevel": 1,
      "levelNumber": null,
      "levelNumberAppearance": "https://valmedia.teamfortuna.xyz/levelborders/ebc736cd-4b6a-137b-e2b0-1486e31312c9/levelnumberappearance.png",
      "smallPlayerCardAppearance": "https://valmedia.teamfortuna.xyz/levelborders/ebc736cd-4b6a-137b-e2b0-1486e31312c9/smallplayercardappearance.png",
      "assetPath": "ShooterGame/Content/Personalization/LevelBorders/BorderLevel01Tier01_PrimaryAsset"
    }
  ]
}

GET /v1/levelborders/

Returns a single level border definition matching the provided UUID.

Request parameters

uuid
string
required
The UUID of the level border to retrieve.
User-Agent
string
required
Identifies your application. Format: AppName/Version (+URL).
language
string
default:"en-US"
Locale for localized display names.

Example request

cURL
curl --request GET \
  --url "https://astra.teamfortuna.xyz/v1/levelborders/ebc736cd-4b6a-137b-e2b0-1486e31312c9" \
  --header "User-Agent: MyApp/1.0 (+https://example.com)"

Response

{
  "status": 200,
  "data": {
    "uuid": "ebc736cd-4b6a-137b-e2b0-1486e31312c9",
    "displayName": "Level 1 Border",
    "startingLevel": 1,
    "levelNumber": null,
    "levelNumberAppearance": "https://valmedia.teamfortuna.xyz/levelborders/ebc736cd-4b6a-137b-e2b0-1486e31312c9/levelnumberappearance.png",
    "smallPlayerCardAppearance": "https://valmedia.teamfortuna.xyz/levelborders/ebc736cd-4b6a-137b-e2b0-1486e31312c9/smallplayercardappearance.png",
    "assetPath": "ShooterGame/Content/Personalization/LevelBorders/BorderLevel01Tier01_PrimaryAsset"
  }
}

Response fields

uuid
string
required
Unique identifier for the level border.
displayName
string
required
Localized display name of the border (e.g., "Level Border 1", "Level Border 5").
startingLevel
number
The account level at which this border first becomes active. Use this value to determine which border a player at a given level should display.
levelNumberAppearance
string
URL to the image asset defining how the level number is rendered within this border style.
smallPlayerCardAppearance
string
URL to the small player card frame image. This is the border overlay applied to portrait thumbnails shown in scoreboards and pre-game lobby screens.
assetPath
string
Internal Unreal Engine asset path.
To resolve a player’s current border, sort all borders by startingLevel in descending order and select the first entry where startingLevel is less than or equal to the player’s account level.