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