Skip to content
  • There are no suggestions because the search field is empty.

Bragi - Game-specific schemas: Valorant

This article is section 6.4 of Oddin.gg Bragi - Data Feed documentation. Sections 1 to 5 there cover general information, the match timeline, processing the data feed, match events and team profiles.

Other game schemas: Counter-Strike 2 · Dota 2 · League of Legends · eBasketball · eFootball · eCricket

6.4. Valorant

The Valorant schema models a Valorant match as a series of maps; each map is played as a series of rounds with attackers and defenders. State is kept for the match overall, for the current map, for the current round, for each team and for each player. The Spike (plant/defuse) has its own state branch.

6.4.1. Top-level Valorant messages

ValorantMatchMessage

Field Type Description
match_urn string Match identifier.
sequence uint64 Sequence number; must be exactly cached sequence + 1.
timestamp google.protobuf.Timestamp Time the message was produced.
data_status DataStatus Quality flag for the underlying data.
payload ValorantMatchMessage.Payload Oneof: snapshot (ValorantMatchSnapshot) or update (ValorantMatchUpdate).

ValorantMatchSnapshot

Field Type Description
match_urn string Match identifier.
sequence uint64 Initial sequence number.
timestamp google.protobuf.Timestamp Snapshot timestamp.
data_status DataStatus Quality flag for the underlying data.
announcements repeated Announcement Operational announcements for the match.
match_state ValorantMatchState Full current state of the match.
tournament Tournament Tournament the match belongs to.

ValorantMatchUpdate

Field Type Description
payload ValorantMatchUpdate.Payload Oneof: match_state (ValorantMatchState) or partial_updates (ValorantMatchStatePartialUpdates).

ValorantMatchStatePartialUpdates

Field Type Description
updates repeated ValorantMatchStatePartialUpdate Non-empty list of partial updates to apply.

6.4.2. Match-level state

ValorantMatchStatePartialUpdate

Field Type Description
score ValorantMatchScoreState Replaces the score property in ValorantMatchState.
current_map ValorantCurrentMapState Replaces the current_map property in ValorantMatchState. Sent periodically as a safety idempotent update.
current_map_partial_update ValorantCurrentMapStatePartialUpdate Applies a partial update inside the current map.

ValorantMatchState

Field Type Description
match_urn string Match identifier.
match_type BestOfType Match format (best of N).
home_team Team Home team.
away_team Team Away team.
score ValorantMatchScoreState Map score for the match.
match_status MatchStatusType Lifecycle status of the match.
current_map ValorantCurrentMapState State of the map currently being played.

ValorantMatchScoreState

Field Type Description
home_score uint32 Maps won by the home team.
away_score uint32 Maps won by the away team.

6.4.3. Current map state

ValorantCurrentMapStatePartialUpdate

Field Type Description
score ValorantMapScoreState Replaces the score property on the current map.
current_round ValorantCurrentRoundState Replaces the current_round property.
current_round_partial_update ValorantCurrentRoundStatePartialUpdate Applies a partial update inside the current round.
team_current_map_state ValorantTeamCurrentMapState Replaces a team's entry inside the teams map (keyed by team URN).
team_current_map_partial_update ValorantTeamCurrentMapStatePartialUpdate Applies a partial update inside a team's current-map state.
previous_rounds ValorantPreviousRoundsState Replaces the previous_rounds property.

ValorantCurrentMapState

Field Type Description
map_order uint32 Position of this map in the match (1, 2, 3...).
map_paused bool true if the map is paused.
map_name string Name of the map being played (e.g., Haven, Bind).
win_team_urn optional string URN of the team that won the map. Unset while the map is in progress.
score ValorantMapScoreState Round score on the current map.
current_round ValorantCurrentRoundState State of the round currently being played.
teams map<string, ValorantTeamCurrentMapState> Per-team state, keyed by team URN.
previous_rounds ValorantPreviousRoundsState Summary of all completed rounds on this map.

ValorantMapScoreState

Field Type Description
home_score uint32 Rounds won by the home team on this map.
away_score uint32 Rounds won by the away team on this map.

ValorantPreviousRoundsState

Field Type Description
rounds repeated ValorantPreviousRound Completed rounds on the current map.

ValorantPreviousRound

Field Type Description
number uint32 Round number.
outcome ValorantRoundOutcome How the round ended (elimination, defuse, timeout, etc.).
home_won bool true if the home team won this round.

6.4.4. Per-team current-map state

ValorantTeamCurrentMapStatePartialUpdate

Field Type Description
team_urn string Team identifier the update applies to.
payload ValorantTeamCurrentMapStatePartialUpdate.Payload Oneof: player_current_map_state or player_current_map_partial_update.

ValorantTeamCurrentMapState

Field Type Description
team_urn string Team identifier.
side ValorantSide Attackers or Defenders on this map.
players map<string, ValorantPlayerCurrentMapState> Per-player state on the current map, keyed by player URN.

6.4.5. Per-player current-map state

ValorantPlayerCurrentMapStatePartialUpdate

Field Type Description
player_urn string Player identifier the update applies to.
payload ValorantPlayerCurrentMapStatePartialUpdate.Payload Oneof: player_info, abilities, or statistics.

ValorantPlayerCurrentMapState

Field Type Description
player_urn string Player identifier.
agent_urn string URN of the agent the player has selected for the map.
player_info ValorantPlayerInfoState Identity information.
abilities ValorantAbilitiesState State of the player's abilities.
statistics ValorantPlayerCurrentMapStatisticsState Kills, deaths and assists across the map.

ValorantPlayerInfoState

Field Type Description
player_urn string Player identifier.
slot_id uint32 Slot number inside the match (1-10).
ext_name string External display name from the data source.
ext_id string External identifier from the data source.

ValorantPlayerCurrentMapStatisticsState

Field Type Description
player_urn string Player identifier.
kills uint32 Kills made on the current map.
deaths uint32 Deaths on the current map.
assists uint32 Kill assists on the current map.

ValorantAbilitiesState

Field Type Description
player_urn string Player identifier.
abilities repeated ValorantAbility Abilities available to the agent.

ValorantAbility

Field Type Description
id string Ability identifier.
ready bool true if the ability is ready to use.
is_ultimate bool true if this is the agent's ultimate ability.

6.4.6. Current round state

ValorantCurrentRoundStatePartialUpdate

Field Type Description
round_info ValorantRoundInfoState Replaces the round_info property.
time ValorantCurrentRoundTimeState Replaces the time property.
spike ValorantCurrentRoundTeamSpikeState Replaces the spike property.
team_current_round_state ValorantTeamCurrentRoundState Replaces a team's entry inside the teams map of the current round.
team_current_round_partial_update ValorantTeamCurrentRoundStatePartialUpdate Applies a partial update inside a team's current-round state.

ValorantCurrentRoundState

Field Type Description
round_info ValorantRoundInfoState Round number and phase (buy, running, over).
time ValorantCurrentRoundTimeState Time remaining in the round.
spike ValorantCurrentRoundTeamSpikeState Spike state (carried, planted, defusing, etc.).
teams map<string, ValorantTeamCurrentRoundState> Per-team state for the current round, keyed by team URN.

ValorantRoundInfoState

Field Type Description
number uint32 Round number.
phase ValorantRoundPhase Current phase of the round.

ValorantCurrentRoundTimeState

Field Type Description
time_remaining google.protobuf.Duration Time left in the current round.

ValorantCurrentRoundTeamSpikeState

Field Type Description
state ValorantSpikeState Current state of the Spike.
time_to_defused google.protobuf.Duration Time left to finish defusing (when defusing is in progress).

6.4.7. Per-team current-round state

ValorantTeamCurrentRoundStatePartialUpdate

Field Type Description
team_urn string Team identifier the update applies to.
payload ValorantTeamCurrentRoundStatePartialUpdate.Payload Oneof: player_current_round_state or player_current_round_partial_update.

ValorantTeamCurrentRoundState

Field Type Description
team_urn string Team identifier.
side ValorantSide Attackers or Defenders for this round.
players map<string, ValorantPlayerCurrentRoundState> Per-player state for the current round, keyed by player URN.

6.4.8. Per-player current-round state

ValorantPlayerCurrentRoundStatePartialUpdate

Field Type Description
player_urn string Player identifier the update applies to.
payload ValorantPlayerCurrentRoundStatePartialUpdate.Payload Oneof: player_info, statistics, weapons, or position.

ValorantPlayerCurrentRoundState

Field Type Description
player_urn string Player identifier.
player_info ValorantPlayerInfoState Identity information.
statistics ValorantPlayerCurrentRoundStatisticsState Per-round status (alive/dead).
weapons ValorantWeaponsState Weapons the player is carrying.
position ValorantPositionState Player position on the map.

ValorantPlayerCurrentRoundStatisticsState

Field Type Description
player_urn string Player identifier.
is_alive bool true if the player is currently alive in this round.

ValorantWeaponsState

Field Type Description
player_urn string Player identifier.
weapons repeated ValorantWeapon Weapons currently carried by the player.

ValorantWeapon

Field Type Description
id string Weapon identifier.

ValorantPositionState

Field Type Description
player_urn string Player identifier.
x float X coordinate on the map.
y float Y coordinate on the map.

6.4.9. Valorant enums

ValorantSide

Value Description
VALORANT_SIDE_UNSPECIFIED Default; side is not known.
VALORANT_SIDE_DEFENDERS Defenders side.
VALORANT_SIDE_ATTACKERS Attackers side.

ValorantRoundPhase

Value Description
VALORANT_ROUND_PHASE_UNSPECIFIED Default; round phase is not known.
VALORANT_ROUND_PHASE_BUY_PHASE Pre-round buy phase.
VALORANT_ROUND_PHASE_RUNNING Active round.
VALORANT_ROUND_PHASE_OVER Round has ended.

ValorantRoundOutcome

Value Description
VALORANT_ROUND_OUTCOME_UNSPECIFIED Default; outcome is not known.
VALORANT_ROUND_OUTCOME_DEFENDERS_WIN_ELIMINATION Defenders won by eliminating the attackers.
VALORANT_ROUND_OUTCOME_DEFENDERS_WIN_TIMEOUT Defenders won because the round timer ran out without a planted Spike.
VALORANT_ROUND_OUTCOME_DEFENDERS_WIN_DEFUSE Defenders won by defusing the Spike.
VALORANT_ROUND_OUTCOME_ATTACKERS_WIN_ELIMINATION Attackers won by eliminating the defenders.
VALORANT_ROUND_OUTCOME_ATTACKERS_WIN_EXPLODE Attackers won because the Spike exploded.

ValorantSpikeState

Value Description
VALORANT_SPIKE_STATE_UNSPECIFIED Default; Spike state is not known.
VALORANT_SPIKE_STATE_CARRIED Spike is being carried by an attacker.
VALORANT_SPIKE_STATE_DROPPED Spike has been dropped on the map.
VALORANT_SPIKE_STATE_PLANTING Spike is being planted.
VALORANT_SPIKE_STATE_DEFUSING Spike is being defused.
VALORANT_SPIKE_STATE_PLANTED Spike has been planted and is counting down.
VALORANT_SPIKE_STATE_EXPLODED Spike has exploded.
VALORANT_SPIKE_STATE_DEFUSED Spike has been defused.

ValorantUltimateState

Value Description
VALORANT_ULTIMATE_STATE__UNSPECIFIED Default; ultimate state is not known.
VALORANT_ULTIMATE_STATE_READY Ultimate is charged and ready.
VALORANT_ULTIMATE_STATE_NOT_READY Ultimate is still charging.