> ## Documentation Index
> Fetch the complete documentation index at: https://docs.henrikdev.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Get valorantv3by puuidmatches 



## OpenAPI

````yaml https://api.henrikdev.xyz/openapi.json get /valorant/v3/by-puuid/matches/{affinity}/{puuid}
openapi: 3.1.0
info:
  title: HenrikDev API
  description: ''
  license:
    name: ''
  version: 4.6.0
servers:
  - url: https://api.henrikdev.xyz
security: []
tags:
  - name: valorant
    description: Valorant public API endpoints
paths:
  /valorant/v3/by-puuid/matches/{affinity}/{puuid}:
    get:
      tags:
        - valorant
      operationId: get_matches_v3_by_id
      parameters:
        - name: affinity
          in: path
          description: Region/affinity (e.g., na, eu, ap, kr)
          required: true
          schema:
            type: string
        - name: puuid
          in: path
          description: Player UUID
          required: true
          schema:
            type: string
        - name: mode
          in: query
          description: Game mode filter (optional)
          required: false
          schema:
            type: string
        - name: map
          in: query
          description: Map filter (optional)
          required: false
          schema:
            type: string
        - name: size
          in: query
          description: Number of results (optional)
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Match history retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MatchesV3ListResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendError'
        '404':
          description: Account not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendError'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SendError'
components:
  schemas:
    MatchesV3ListResponse:
      type: object
      required:
        - status
        - data
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV3ListResponseData'
        status:
          type: integer
          format: int32
          minimum: 0
    SendError:
      type: object
      required:
        - errors
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/APIError'
    MatchesV3ListResponseData:
      type: object
      required:
        - is_available
        - observers
        - coaches
        - rounds
        - kills
      properties:
        coaches:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV2DataCoach'
        is_available:
          type: boolean
        kills:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV2DataKill'
        metadata:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/MatchesV2DataMetadata'
        observers:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV2DataObserver'
        players:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/MatchesV2DataPlayers'
        rounds:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV2DataRound'
        teams:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/MatchesV2DataTeams'
    APIError:
      type: object
      required:
        - code
        - message
        - status
      properties:
        code:
          type: integer
          format: int32
          minimum: 0
        details: {}
        message:
          type: string
        status:
          type: integer
          format: int32
          minimum: 0
    MatchesV2DataCoach:
      type: object
      required:
        - puuid
        - team
      properties:
        puuid:
          type: string
        team:
          type: string
    MatchesV2DataKill:
      type: object
      required:
        - kill_time_in_round
        - kill_time_in_match
        - round
        - killer_puuid
        - killer_display_name
        - killer_team
        - victim_puuid
        - victim_display_name
        - victim_team
        - victim_death_location
        - damage_weapon_id
        - damage_weapon_assets
        - secondary_fire_mode
        - player_locations_on_kill
        - assistants
      properties:
        assistants:
          type: array
          items:
            $ref: >-
              #/components/schemas/MatchesV2DataRoundPlayerStatsKillEventsAssistants
        damage_weapon_assets:
          $ref: '#/components/schemas/MatchesV2DataRoundPlayerStatsKillEventsAssets'
        damage_weapon_id:
          type: string
        damage_weapon_name:
          type:
            - string
            - 'null'
        kill_time_in_match:
          type: integer
          format: int64
          minimum: 0
        kill_time_in_round:
          type: integer
          format: int64
          minimum: 0
        killer_display_name:
          type: string
        killer_puuid:
          type: string
        killer_team:
          type: string
        player_locations_on_kill:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV2DataRoundPlayerLocationsOnEvent'
        round:
          type: integer
          format: int32
          minimum: 0
        secondary_fire_mode:
          type: boolean
        victim_death_location:
          $ref: '#/components/schemas/MatchesV2DataRoundEventLocation'
        victim_display_name:
          type: string
        victim_puuid:
          type: string
        victim_team:
          type: string
    MatchesV2DataMetadata:
      type: object
      required:
        - game_version
        - game_length
        - game_start
        - game_start_patched
        - rounds_played
        - mode_id
        - season_id
        - platform
        - matchid
        - premier_info
      properties:
        cluster:
          type:
            - string
            - 'null'
        game_length:
          type: integer
          format: int64
          minimum: 0
        game_start:
          type: integer
          format: int64
          minimum: 0
        game_start_patched:
          type: string
        game_version:
          type: string
        map:
          type:
            - string
            - 'null'
        matchid:
          type: string
        mode:
          type:
            - string
            - 'null'
        mode_id:
          type: string
        platform:
          type: string
        premier_info:
          $ref: '#/components/schemas/MatchesV2DataMetadataPremierInfo'
        queue:
          type:
            - string
            - 'null'
        region:
          type:
            - string
            - 'null'
        rounds_played:
          type: integer
          format: int32
          minimum: 0
        season_id:
          type: string
    MatchesV2DataObserver:
      type: object
      required:
        - puuid
        - name
        - tag
        - platform
        - session_playtime
        - team
        - level
        - player_card
        - player_title
        - party_id
      properties:
        level:
          type: integer
          format: int32
          minimum: 0
        name:
          type: string
        party_id:
          type: string
        platform:
          $ref: '#/components/schemas/MatchesV2DataPlatform'
        player_card:
          type: string
        player_title:
          type: string
        puuid:
          type: string
        session_playtime:
          $ref: '#/components/schemas/MatchesV2DataPlayerSessionPlaytime'
        tag:
          type: string
        team:
          type: string
    MatchesV2DataPlayers:
      type: object
      required:
        - all_players
        - red
        - blue
      properties:
        all_players:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV2DataPlayer'
        blue:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV2DataPlayer'
        red:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV2DataPlayer'
    MatchesV2DataRound:
      type: object
      required:
        - winning_team
        - end_type
        - bomb_planted
        - bomb_defused
        - plant_events
        - defuse_events
        - player_stats
      properties:
        bomb_defused:
          type: boolean
        bomb_planted:
          type: boolean
        defuse_events:
          $ref: '#/components/schemas/MatchesV2DataRoundDefuseEvents'
        end_type:
          type: string
        plant_events:
          $ref: '#/components/schemas/MatchesV2DataRoundPlantEvents'
        player_stats:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV2DataRoundPlayerStats'
        winning_team:
          type: string
    MatchesV2DataTeams:
      type: object
      required:
        - red
        - blue
      properties:
        blue:
          $ref: '#/components/schemas/MatchesV2DataTeam'
        red:
          $ref: '#/components/schemas/MatchesV2DataTeam'
    MatchesV2DataRoundPlayerStatsKillEventsAssistants:
      type: object
      required:
        - assistant_puuid
        - assistant_display_name
        - assistant_team
      properties:
        assistant_display_name:
          type: string
        assistant_puuid:
          type: string
        assistant_team:
          type: string
    MatchesV2DataRoundPlayerStatsKillEventsAssets:
      type: object
      properties:
        display_icon:
          type:
            - string
            - 'null'
        killfeed_icon:
          type:
            - string
            - 'null'
    MatchesV2DataRoundPlayerLocationsOnEvent:
      type: object
      required:
        - player_puuid
        - player_display_name
        - player_team
        - location
        - view_radians
      properties:
        location:
          $ref: '#/components/schemas/MatchesV2DataRoundEventLocation'
        player_display_name:
          type: string
        player_puuid:
          type: string
        player_team:
          type: string
        view_radians:
          type: number
          format: float
    MatchesV2DataRoundEventLocation:
      type: object
      required:
        - x
        - 'y'
      properties:
        x:
          type: integer
          format: int32
        'y':
          type: integer
          format: int32
    MatchesV2DataMetadataPremierInfo:
      type: object
      properties:
        matchup_id:
          type:
            - string
            - 'null'
        tournament_id:
          type:
            - string
            - 'null'
    MatchesV2DataPlatform:
      type: object
      required:
        - type
        - os
      properties:
        os:
          $ref: '#/components/schemas/MatchesV2DataPlatformOs'
        type:
          type: string
    MatchesV2DataPlayerSessionPlaytime:
      type: object
      required:
        - minutes
        - seconds
        - milliseconds
      properties:
        milliseconds:
          type: integer
          format: int32
          minimum: 0
        minutes:
          type: integer
          format: int32
          minimum: 0
        seconds:
          type: integer
          format: int32
          minimum: 0
    MatchesV2DataPlayer:
      type: object
      required:
        - puuid
        - name
        - tag
        - team
        - level
        - currenttier
        - currenttier_patched
        - player_card
        - player_title
        - party_id
        - session_playtime
        - behavior
        - platform
        - ability_casts
        - assets
        - stats
        - economy
        - damage_made
        - damage_received
      properties:
        ability_casts:
          $ref: '#/components/schemas/MatchesV2DataPlayerAbilityCasts'
        assets:
          $ref: '#/components/schemas/MatchesV2DataPlayerAssets'
        behavior:
          $ref: '#/components/schemas/MatchesV2DataPlayerBehavior'
        character:
          type:
            - string
            - 'null'
        currenttier:
          type: integer
          format: int32
          minimum: 0
        currenttier_patched:
          type: string
        damage_made:
          type: integer
          format: int32
        damage_received:
          type: integer
          format: int32
        economy:
          $ref: '#/components/schemas/MatchesV2DataPlayerEconomy'
        level:
          type: integer
          format: int32
          minimum: 0
        name:
          type: string
        party_id:
          type: string
        platform:
          $ref: '#/components/schemas/MatchesV2DataPlatform'
        player_card:
          type: string
        player_title:
          type: string
        puuid:
          type: string
        session_playtime:
          $ref: '#/components/schemas/MatchesV2DataPlayerSessionPlaytime'
        stats:
          $ref: '#/components/schemas/MatchesV2DataPlayerStats'
        tag:
          type: string
        team:
          type: string
    MatchesV2DataRoundDefuseEvents:
      type: object
      properties:
        defuse_location:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/MatchesV2DataRoundEventLocation'
        defuse_time_in_round:
          type:
            - integer
            - 'null'
          format: int64
          minimum: 0
        defused_by:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/MatchesV2DataRoundPlayer'
        player_locations_on_defuse:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/MatchesV2DataRoundPlayerLocationsOnEvent'
    MatchesV2DataRoundPlantEvents:
      type: object
      properties:
        plant_location:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/MatchesV2DataRoundEventLocation'
        plant_site:
          type:
            - string
            - 'null'
        plant_time_in_round:
          type:
            - integer
            - 'null'
          format: int64
          minimum: 0
        planted_by:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/MatchesV2DataRoundPlayer'
        player_locations_on_plant:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/MatchesV2DataRoundPlayerLocationsOnEvent'
    MatchesV2DataRoundPlayerStats:
      type: object
      required:
        - ability_casts
        - player_puuid
        - player_display_name
        - player_team
        - damage_events
        - damage
        - headshots
        - bodyshots
        - legshots
        - kill_events
        - kills
        - score
        - economy
        - was_afk
        - was_penalized
        - stayed_in_spawn
      properties:
        ability_casts:
          $ref: '#/components/schemas/MatchesV2DataRoundPlayerStatsAbilityCasts'
        bodyshots:
          type: integer
          format: int32
          minimum: 0
        damage:
          type: integer
          format: int32
          minimum: 0
        damage_events:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV2DataRoundPlayerStatsDamageEvents'
        economy:
          $ref: '#/components/schemas/MatchesV2DataRoundPlayerStatsEconomy'
        headshots:
          type: integer
          format: int32
          minimum: 0
        kill_events:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV2DataRoundPlayerStatsKillEvents'
        kills:
          type: integer
          format: int32
          minimum: 0
        legshots:
          type: integer
          format: int32
          minimum: 0
        player_display_name:
          type: string
        player_puuid:
          type: string
        player_team:
          type: string
        score:
          type: integer
          format: int32
        stayed_in_spawn:
          type: boolean
        was_afk:
          type: boolean
        was_penalized:
          type: boolean
    MatchesV2DataTeam:
      type: object
      properties:
        has_won:
          type:
            - boolean
            - 'null'
        roster:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/MatchesV2DataTeamRoster'
        rounds_lost:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
        rounds_won:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
    MatchesV2DataPlatformOs:
      type: object
      required:
        - name
        - version
      properties:
        name:
          type: string
        version:
          type: string
    MatchesV2DataPlayerAbilityCasts:
      type: object
      properties:
        c_cast:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
        e_cast:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
        q_cast:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
        x_cast:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
    MatchesV2DataPlayerAssets:
      type: object
      required:
        - card
        - agent
      properties:
        agent:
          $ref: '#/components/schemas/MatchesV2DataPlayerAssetsAgent'
        card:
          $ref: '#/components/schemas/MatchesV2DataPlayerAssetsCard'
    MatchesV2DataPlayerBehavior:
      type: object
      required:
        - afk_rounds
        - friendly_fire
      properties:
        afk_rounds:
          type: number
          format: float
        friendly_fire:
          $ref: '#/components/schemas/MatchesV2DataPlayerBehaviorFriendlyFire'
        rounds_in_spawn:
          type:
            - number
            - 'null'
          format: float
    MatchesV2DataPlayerEconomy:
      type: object
      required:
        - spent
        - loadout_value
      properties:
        loadout_value:
          $ref: '#/components/schemas/MatchesV2DataPlayerEconomyValue'
        spent:
          $ref: '#/components/schemas/MatchesV2DataPlayerEconomyValue'
    MatchesV2DataPlayerStats:
      type: object
      required:
        - score
        - kills
        - deaths
        - assists
        - bodyshots
        - headshots
        - legshots
      properties:
        assists:
          type: integer
          format: int32
          minimum: 0
        bodyshots:
          type: integer
          format: int32
          minimum: 0
        deaths:
          type: integer
          format: int32
          minimum: 0
        headshots:
          type: integer
          format: int32
          minimum: 0
        kills:
          type: integer
          format: int32
          minimum: 0
        legshots:
          type: integer
          format: int32
          minimum: 0
        score:
          type: integer
          format: int32
    MatchesV2DataRoundPlayer:
      type: object
      required:
        - puuid
        - display_name
        - team
      properties:
        display_name:
          type: string
        puuid:
          type: string
        team:
          type: string
    MatchesV2DataRoundPlayerStatsAbilityCasts:
      type: object
      properties:
        c_casts:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
        e_casts:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
        q_casts:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
        x_casts:
          type:
            - integer
            - 'null'
          format: int32
          minimum: 0
    MatchesV2DataRoundPlayerStatsDamageEvents:
      type: object
      required:
        - receiver_puuid
        - receiver_display_name
        - receiver_team
        - bodyshots
        - headshots
        - legshots
        - damage
      properties:
        bodyshots:
          type: integer
          format: int32
          minimum: 0
        damage:
          type: integer
          format: int32
          minimum: 0
        headshots:
          type: integer
          format: int32
          minimum: 0
        legshots:
          type: integer
          format: int32
          minimum: 0
        receiver_display_name:
          type: string
        receiver_puuid:
          type: string
        receiver_team:
          type: string
    MatchesV2DataRoundPlayerStatsEconomy:
      type: object
      required:
        - loadout_value
        - remaining
        - spent
        - weapon
        - armor
      properties:
        armor:
          $ref: >-
            #/components/schemas/MatchesV2DataRoundPlayerStatsEconomyEquipmentArmor
        loadout_value:
          type: integer
          format: int32
          minimum: 0
        remaining:
          type: integer
          format: int32
          minimum: 0
        spent:
          type: integer
          format: int32
        weapon:
          $ref: >-
            #/components/schemas/MatchesV2DataRoundPlayerStatsEconomyEquipmentWeapon
    MatchesV2DataRoundPlayerStatsKillEvents:
      type: object
      required:
        - kill_time_in_round
        - kill_time_in_match
        - killer_puuid
        - killer_display_name
        - killer_team
        - victim_puuid
        - victim_display_name
        - victim_team
        - victim_death_location
        - damage_weapon_id
        - damage_weapon_assets
        - secondary_fire_mode
        - player_locations_on_kill
        - assistants
      properties:
        assistants:
          type: array
          items:
            $ref: >-
              #/components/schemas/MatchesV2DataRoundPlayerStatsKillEventsAssistants
        damage_weapon_assets:
          $ref: '#/components/schemas/MatchesV2DataRoundPlayerStatsKillEventsAssets'
        damage_weapon_id:
          type: string
        damage_weapon_name:
          type:
            - string
            - 'null'
        kill_time_in_match:
          type: integer
          format: int64
          minimum: 0
        kill_time_in_round:
          type: integer
          format: int64
          minimum: 0
        killer_display_name:
          type: string
        killer_puuid:
          type: string
        killer_team:
          type: string
        player_locations_on_kill:
          type: array
          items:
            $ref: '#/components/schemas/MatchesV2DataRoundPlayerLocationsOnEvent'
        secondary_fire_mode:
          type: boolean
        victim_death_location:
          $ref: '#/components/schemas/MatchesV2DataRoundEventLocation'
        victim_display_name:
          type: string
        victim_puuid:
          type: string
        victim_team:
          type: string
    MatchesV2DataTeamRoster:
      type: object
      required:
        - id
        - members
        - name
        - tag
        - customization
      properties:
        customization:
          $ref: '#/components/schemas/MatchesV2DataTeamRosterCustomization'
        id:
          type: string
        members:
          type: array
          items:
            type: string
        name:
          type: string
        tag:
          type: string
    MatchesV2DataPlayerAssetsAgent:
      type: object
      required:
        - small
        - bust
        - full
        - killfeed
      properties:
        bust:
          type: string
        full:
          type: string
        killfeed:
          type: string
        small:
          type: string
    MatchesV2DataPlayerAssetsCard:
      type: object
      required:
        - small
        - large
        - wide
      properties:
        large:
          type: string
        small:
          type: string
        wide:
          type: string
    MatchesV2DataPlayerBehaviorFriendlyFire:
      type: object
      properties:
        incoming:
          type:
            - number
            - 'null'
          format: float
        outgoing:
          type:
            - number
            - 'null'
          format: float
    MatchesV2DataPlayerEconomyValue:
      type: object
      required:
        - overall
        - average
      properties:
        average:
          type: number
          format: float
        overall:
          type: integer
          format: int32
    MatchesV2DataRoundPlayerStatsEconomyEquipmentArmor:
      type: object
      required:
        - assets
      properties:
        assets:
          $ref: >-
            #/components/schemas/MatchesV2DataRoundPlayerStatsEconomyEquipmentAssetsArmor
        id:
          type:
            - string
            - 'null'
        name:
          type:
            - string
            - 'null'
    MatchesV2DataRoundPlayerStatsEconomyEquipmentWeapon:
      type: object
      required:
        - assets
      properties:
        assets:
          $ref: >-
            #/components/schemas/MatchesV2DataRoundPlayerStatsEconomyEquipmentAssets
        id:
          type:
            - string
            - 'null'
        name:
          type:
            - string
            - 'null'
    MatchesV2DataTeamRosterCustomization:
      type: object
      required:
        - icon
        - image
        - primary_color
        - secondary_color
        - tertiary_color
      properties:
        icon:
          type: string
        image:
          type: string
        primary_color:
          type: string
        secondary_color:
          type: string
        tertiary_color:
          type: string
    MatchesV2DataRoundPlayerStatsEconomyEquipmentAssetsArmor:
      type: object
      properties:
        display_icon:
          type:
            - string
            - 'null'
    MatchesV2DataRoundPlayerStatsEconomyEquipmentAssets:
      type: object
      properties:
        display_icon:
          type:
            - string
            - 'null'
        killfeed_icon:
          type:
            - string
            - 'null'

````