HOME
Welcome to the new "pre-pre alpha" VRML API!
Use at your own risks! Things are still moving around quite a bit as we figure the best solutions for various needs raised to us.
If you have any suggestions or specific requests, feel free to reach us: DaKinMan#9999 or [email protected]
There is a new OAuth 2.0 mechanism in place in order to use the API on behalf of individuals.
Submit your project to DaKinMan for an authorization; as for the moment registrations of clients are done manually (work in progress).
Search a Player in all leagues
GET
/Players/Search
Searches for a player accross all leagues
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
name string The name of the player to search for
Response
FIELD TYPE DESCRIPTION RESTRICTION
id string The Player ID
name string The Player name
image string The Player logo
Partners/Sponsors
GET
/Sponsors
Gets the official VRML partners/sponsors
Response
FIELD TYPE DESCRIPTION RESTRICTION
sort integer The sorting order of the Sponsor
sponsorName string The Sponsor name
sponsorUrl string The Sponsor URL
sponsorLogo string The Sponsor Logo
information string The Sponsor text information
Donations
GET
/Donations
Gets the list of donations
Response
FIELD TYPE DESCRIPTION RESTRICTION
recent array of Recent Donations objects Recent Donations
alltime array of Alltime Donations objects Top alltime Donations
/{recent}/data[]
FIELD TYPE DESCRIPTION RESTRICTION
created_at string The date of the donation
currency string The currency of the donation
amount string The amount of the donation in the original currency
amount_text string The amount of the donation with the currency indicator next to it
name string The name of the Donor
message string The message left by the Donor along with their donation
/{alltime}/donors[]
FIELD TYPE DESCRIPTION RESTRICTION
name string The Donor name
rank int The ranked position of the Donor
USER
OAuth
GET
https://vrmasterleague.com/OAuth
Displays an HTML page for a User to accept API's usage by a third-party application.
The API implements Open Authorization 2.0 Code Flow with PKCE.
Here's what the OAuth url should look like:
https://vrmasterleague.com/OAuth?scope=identify&response_type=code&redirect_uri={YOUR_REDIRECT_URI}&client_id={YOUR_CLIENT_ID}&state={YOUR_STATE_PARAMETER}&code_challenge={YOUR_RANDOMLY_GENERATED_CODE_CHALLENGE}&code_challenge_method=S256
If you're not familiar with its implementation, you can read official documentation here: https://auth0.com/docs/authorization/flows/call-your-api-using-the-authorization-code-flow-with-pkce
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
response_type string The type of response wanted. This is always "code"
client_id string The client id of the third-party application
redirect_uri string The URL the User should be redirected to once they grant access
state string The state parameter to help prevent against Cross-site request forgery, or CSRF, and Clickjacking
code_challenge string The URL-safe SHA256 hash in base64 of the code verifier the client must be randomly generating at the beginning of the authentication flow. Example: https://tonyxu-io.github.io/pkce-generator/
code_challenge_method string The encryption method used for the provided code_challenge parameter. This is always "S256"
scope string The scope being asked. Only "identify" is available at the moment
refresh_token? string A refresh token when trying to refresh a previously issued access token
Response in the redirect
FIELD TYPE DESCRIPTION RESTRICTION
code string The code for the authentication mechanism
state string The state parameter to help prevent against Cross-site request forgery, or CSRF, and Clickjacking
Token
POST
/Users/Token
Retrieves an authorization token for a specified User.
Query JSON Body Params (OAuth Authentication option)
FIELD TYPE DESCRIPTION RESTRICTION
grant_type string The grant type. This is always "authorization_code"
client_id string The client id of the third-party application
redirect_uri string The URL associated with the code
code string The code as retrieved by authentication mechanism
code_verifier string The random secret key the client generated at the beginning of the authorization flow. Not hashed this time!
Query JSON Body Params (Basic Authentication option).
This usage is restricted and likely to disappear completely.
A valid API Key ('x-api-key') header, provided by VRML, must be set when using this particular Authentication method.
FIELD TYPE DESCRIPTION RESTRICTION
grant_type string The grant type. This is always "password"
client_id string The client id of the official VRML application
username string The username to login
password string The password for the User
Response for both Authentication options
FIELD TYPE DESCRIPTION RESTRICTION
token_type string This is always "Bearer"
access_token string The User token when valid credentials are provided
expires_in integer The number of seconds the token will expire
refresh_token string The User refresh token to be used later when a new access token is necessary
scope string The scope that was authorized. Only "identify" is available at the moment
@Me
GET
/Users/@Me
Gets the current User logged in the API.
Response
FIELD TYPE DESCRIPTION RESTRICTION
userID string The User ID
email? string The User email This is empty when using the API via OAuth as it is not currently provided by the available scopes for OAuth
userName string The User name
userLogo string The User logo URL
country string The User country
nationality string The User nationality
dateJoinedUTC string (ISO dateformat) The date and time (in UTC) the User has joined VRML
theme string The User theme
timezoneID string The User timezone ID
discordID ulong The User Discord ID
discordTag string The User Discord tag
steamID string The User Steam ID
oculusHomeID string The User Oculus Home ID
oculusHomeAlias string The User Oculus Home Alias
streamURL string The User Stream URL
isUsingDarkTheme boolean Indicates if the User is using a "dark background" theme
@MyTeams
GET
/Users/@MyTeams
Gets the current Teams/Players information for the current User logged in the API.
Response
FIELD TYPE DESCRIPTION RESTRICTION
teams array The list of Teams and the respective Players
pendingRecruits array The list of pending Recruits
/[teams]
TO DOCUMENT
/[pendingRecruits]
FIELD TYPE DESCRIPTION RESTRICTION
recruitID string The recruiting request ID
teamID string The Team ID
userName string The User name
userID string The User ID
userLogo string The User logo URL
@MyMatches
GET
/Users/@MyMatches
Gets the current Matches information for the current User logged in the API.
Response
FIELD TYPE DESCRIPTION RESTRICTION
pending array List of pending Matches invitations (aka challenges)
scheduled array List of active Matches to be played and scores to be reported
/[pending]
FIELD TYPE DESCRIPTION RESTRICTION
challengeID string The challenge ID
gameName string The game name
gameUrl string The game URL
gameTeamMode string The game team mode. Ex: solo or team
currentUserTeamID string The current user team ID
invitingTeamID string The inviting Team 'team id'
invitingTeamName string The inviting Team name
invitingTeamLogo string The inviting Team logo
invitingTeamOK boolean Indicates if the inviting Team has confirmed the challenge
invitedTeamID string The invited Team 'team id'
invitedTeamName string The invited Team name
invitedTeamLogo string The invited Team logo
invitedTeamOK boolean Indicates if the invited Team has confirmed the challenge
dateScheduledUTC string (ISO dateformat) The scheduled date and time (in UTC) to play the potential Match
dateScheduledUser string (ISO dateformat) The scheduled date and time (according to the logged in user timezone) to play the potential Match Only when User is logged in the API
dateScheduledUserTimezone string The logged in user timezone Only when User is logged in the API
/[scheduled]
TO DOCUMENT
Search If Exists
GET
/Users/SearchExists
Searches if a particular username already exists
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
name string The username to search for
Response
FIELD TYPE DESCRIPTION RESTRICTION
exists boolean True if the username already exists
Get a User information
GET
/Users/{userID}
Gets a User information
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
userID string The User ID
Response
TO DOCUMENT
Modify User
PATCH
/Users/{userID}
Modifies a User.
The Content-Type header must be set to: "application/json-patch+json".
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
userID string The User ID
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
username? string The username of the User Requires high level scope not provided by this API OAuth scopes
email? string The email of the User Requires high level scope not provided by this API OAuth scopes
password? string The new password for the User. In order to change the password, the old password parameter must be specified and valid Requires high level scope not provided by this API OAuth scopes
oldPassword? string The old password for the User. This property must be specified and valid to be able to modify the User password Requires high level scope not provided by this API OAuth scopes
country? string The country the User is playing from.
Possible values: "AF", "AL", "DZ", "AS", "AD", "AO", "AI", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"
nationality? string The User nationality.
Possible values: "AF", "AL", "DZ", "AS", "AD", "AO", "AI", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"
timezone? string The User timezone ID
Possible values: "Dateline Standard Time", "UTC-11", "Aleutian Standard Time", "Hawaiian Standard Time", "Marquesas Standard Time", "Alaskan Standard Time", "UTC-09", "Pacific Standard Time (Mexico)", "UTC-08", "Pacific Standard Time", "US Mountain Standard Time", "Mountain Standard Time (Mexico)", "Mountain Standard Time", "Central America Standard Time", "Central Standard Time", "Easter Island Standard Time", "Central Standard Time (Mexico)", "Canada Central Standard Time", "SA Pacific Standard Time", "Eastern Standard Time (Mexico)", "Eastern Standard Time", "Haiti Standard Time", "Cuba Standard Time", "US Eastern Standard Time", "Turks And Caicos Standard Time", "Paraguay Standard Time", "Atlantic Standard Time", "Venezuela Standard Time", "Central Brazilian Standard Time", "SA Western Standard Time", "Pacific SA Standard Time", "Newfoundland Standard Time", "Tocantins Standard Time", "E. South America Standard Time", "SA Eastern Standard Time", "Argentina Standard Time", "Greenland Standard Time", "Montevideo Standard Time", "Magallanes Standard Time", "Saint Pierre Standard Time", "Bahia Standard Time", "UTC-02", "Mid-Atlantic Standard Time", "Azores Standard Time", "Cape Verde Standard Time", "UTC", "GMT Standard Time", "Greenwich Standard Time", "Sao Tome Standard Time", "Morocco Standard Time", "W. Europe Standard Time", "Central Europe Standard Time", "Romance Standard Time", "Central European Standard Time", "W. Central Africa Standard Time", "Jordan Standard Time", "GTB Standard Time", "Middle East Standard Time", "Egypt Standard Time", "E. Europe Standard Time", "Syria Standard Time", "West Bank Standard Time", "South Africa Standard Time", "FLE Standard Time", "Israel Standard Time", "Kaliningrad Standard Time", "Sudan Standard Time", "Libya Standard Time", "Namibia Standard Time", "Arabic Standard Time", "Turkey Standard Time", "Arab Standard Time", "Belarus Standard Time", "Russian Standard Time", "E. Africa Standard Time", "Iran Standard Time", "Arabian Standard Time", "Astrakhan Standard Time", "Azerbaijan Standard Time", "Russia Time Zone 3", "Mauritius Standard Time", "Saratov Standard Time", "Georgian Standard Time", "Volgograd Standard Time", "Caucasus Standard Time", "Afghanistan Standard Time", "West Asia Standard Time", "Ekaterinburg Standard Time", "Pakistan Standard Time", "Qyzylorda Standard Time", "India Standard Time", "Sri Lanka Standard Time", "Nepal Standard Time", "Central Asia Standard Time", "Bangladesh Standard Time", "Omsk Standard Time", "Myanmar Standard Time", "SE Asia Standard Time", "Altai Standard Time", "W. Mongolia Standard Time", "North Asia Standard Time", "N. Central Asia Standard Time", "Tomsk Standard Time", "China Standard Time", "North Asia East Standard Time", "Singapore Standard Time", "W. Australia Standard Time", "Taipei Standard Time", "Ulaanbaatar Standard Time", "Aus Central W. Standard Time", "Transbaikal Standard Time", "Tokyo Standard Time", "North Korea Standard Time", "Korea Standard Time", "Yakutsk Standard Time", "Cen. Australia Standard Time", "AUS Central Standard Time", "E. Australia Standard Time", "AUS Eastern Standard Time", "West Pacific Standard Time", "Tasmania Standard Time", "Vladivostok Standard Time", "Lord Howe Standard Time", "Bougainville Standard Time", "Russia Time Zone 10", "Magadan Standard Time", "Norfolk Standard Time", "Sakhalin Standard Time", "Central Pacific Standard Time", "Russia Time Zone 11", "New Zealand Standard Time", "UTC+12", "Fiji Standard Time", "Kamchatka Standard Time", "Chatham Islands Standard Time", "UTC+13", "Tonga Standard Time", "Samoa Standard Time", "Line Islands Standard Time"
theme? string The theme for the User
Possible values: "snow", "dark", "army", "desert", "pink"
streamURL? string The stream URL of the User
Response
Returns 204 No Content on success.
LEAGUES
Leagues
GET
/Leagues
Gets the list of active leagues ordered by most recent season start date.
If the Authorization header with the Token is set, additional information may be retrieved.
Response
TO DOCUMENT
Game
GET
/{game}
Gets the game information on the specified game name in the URL.
If the Authorization header with the Token is set, additional information may be retrieved.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Response
TO DOCUMENT
Modify a Game
PATCH
/{game}
Updates game information on the specified game name in the URL.
The Content-Type header must be set to: "application/json-patch+json".
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
rulesHTML? Update the rules Updates the game rules Logged User must be at least a Moderator level for the game
challenges? Array of Region objects Updates if the regions can send challenges. {regionID: XX, active: bool} Logged User must be at least a Moderator level for the game
openQualifiers? boolean Updates whether the teams can register for the post season championship open qualifiers. *Under work Logged User must be at least a Moderator level for the game
Response
Returns 204 No Content on success.
Standings
GET
/{game}/Standings/{region}
Gets the standings for the specified game name in the URL.
Maximum of 100 Teams returned per request. Use rankMin to fetch for more.
If the Authorization header with the Token is set, additional information will be retrieved.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
region? string Examples: World, NA, EU, APAC
season? string The season id to show the Standings for a particular Season
team? string The team id to use to fetch the Standings information around that team
rank? int The rank to use to fetch the standings information around that rank
rankMin? integer The minimum rank to start listing the teams (for pagination). Default is: 1 (top of Standings)
Response
FIELD TYPE DESCRIPTION RESTRICTION
teams Array of Teams objects The teams in the Standings
regions Array of Regions object The Regions used when pulling the standings information
season A Season object The Season used when pulling the standings information
seasonDetails Season Details object Additional information on the Season, such as the scoring system used
context Context object A context object including information on the currently logged User relevant to the Standings
/[teams]
FIELD TYPE DESCRIPTION RESTRICTION
rank integer The Team rank in the standings
divisionName string The Team division name
divisionLogo string The Team division logo URL
gp integer The number of games played in the season
w integer The number of wins in the current season
t integer The number of ties in the current season
l integer The number of loses in the current season
pts integer The number of points total in the current season
mmr? string For ladder Teams only. The rounded MMR or "TBD"
cycleGP? integer For master Teams only. The number of games played in the current cycle
cycleW? integer For master Teams only. The number of wins in the current cycle
cycleT? integer For master Teams only. The number of ties in the current cycle
cycleL? integer For master Teams only. The number of loses in the current cycle
cycleTieBreaker? integer For master Teams only. The tie breaker indicator (number of wins against tied Teams) in the current cycle
cyclePlusMinus? integer For master Teams only. The plus/minus points in the current cycle
cycleScoreTotal? integer For master Teams only. The total points in the current cycle
isRecruiting boolean Indicates if the Team is actively recruiting
isActive boolean Indicates if the Team is currently active
teamID string The Team ID
teamName string The Team name
teamLogo string The Team logo URL
regionID string The Region ID
regionName string The Region name
*currentUserChallengeID? string Indicates the Challenge ID when the logged user can challenge the team
*currentUserCanLeagueSub string If the logged user is a league substitute/reservist, this boolean will be true when the logged user can sub for the team
Find A Challenge
GET
/{game}/FindAChallenge
Gets the teams the currently logged user can challenge.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Response
TO DOCUMENT
Matches
GET
/{game}/Matches
Gets the Matches as seen on the Matches page (upcoming and history).
If the Authorization header with the Token is set, additional information will be retrieved.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
region? string Examples: World, NA, EU, APAC
filters? string A filter string listing the divisions to filter by. Ex: divisions=master,diamond,platinum,gold,silver,bronze
posMin? int The minimum position to start listing the Matches (for pagination). Default is: 1 (most recent history)
Response
FIELD TYPE DESCRIPTION RESTRICTION
matchesScheduledPast Array of Scheduled Matches objects The list of scheduled matches that have been played and scores remain to be submitted
matchesScheduledUpcoming Array of Scheduled Matches objects The list of scheduled matches that are upcoming
matchesUnscheduled Array of Unscheduled Matches objects The list of unscheduled matches that are to be scheduled
matchesHistory Array of History Matches objects The list of matches that have been played and scores submitted
regions Array of Regions object The Regions used when pulling the matches information
divisionsSupportedByFilter Array of strings The Region names supported by the filter string
posMin int The minimum position used to list the Matches (for pagination)
nbPerPage int The number of matches history shown per page (for pagination)
/[matchesScheduledPast]
/[matchesScheduledUpcoming]
/[matchesUnscheduled]
FIELD TYPE DESCRIPTION RESTRICTION
matchID string The Match ID
homeTeam A Team object The home Team information
awayTeam A Team object The away Team information
castingInfo A Casting Information object The casting information for the Match
homeBetCount integer The number of User votes on the home Team
awayBetCount integer The number of User votes on the away Team
castUpvotes integer The number of cast upvotes on the Match
casterCastUpvotes integer The number of casters upvotes on the Match Logged User must be at least a Caster level for the game
currentUserVotedTeamID? string The Team id the current User has voted for, if any Only when User is logged in the API
currentUserUpvotedCast? boolean Indicates if the current User has upvoted this Match to be casted Only when User is logged in the API
currentUserUpvotedCasterCast? boolean Indicates if the current User has upvoted this Match to be casted (for the casting team) Logged User must be at least a Caster level for the game
dateScheduledUTC string (ISO dateformat) The date and time (in UTC) the Match is scheduled
dateScheduledUser? string (ISO dateformat) The date and time in the User's timezone that the Match is scheduled Only when User is logged in the API
dateScheduledUserTimezone? string The user timezone at the time the Match is scheduled Only when User is logged in the API
week int The week number this match has been created
isScheduled boolean Indicates if the match is scheduled
isSpecificDivision boolean Indicates if the match has been generated for a specific division. Ex: For the Masters Division in Echo Arena
isChallenge boolean Indicates if the match has been generated as a challenge between teams
isCup boolean Indicates if the match has been generated as part of a cup
vodUrl? string Indicates the VOD URL attached to the match (if it was casted)
homeHighlights? string Indicates the home Team highlights as submitted by the Team (for news articles)
awayHighlights? string Indicates the away Team highlights as submitted by the Team (for news articles)
postponeTeamID? string Indicates the team which took a postponment to be able to schedule on the following week Logged User must be at least a Moderator level for the game
modsReview boolean Indicates if the mods have flagged the match for review Logged User must be at least a Moderator level for the game
modsReviewNote? string Indicates notes taken by the mods team Logged User must be at least a Moderator level for the game
/[matchesHistory]
FIELD TYPE DESCRIPTION RESTRICTION
matchID string The Match ID
seasonName string The Season name
homeTeam A Team object The home Team information
awayTeam A Team object The away Team information
castingInfo A Casting Information object The casting information for the Match
winningTeamID string The Winning Team ID
losingTeamID string The Losing Team ID
homeScore integer The total score for the Home Team
awayScore integer The total score for the Away Team
isTie boolean Indicates if the match ended in a tie
isForfeit boolean Indicates if the match eded in a forfeit
isScheduled boolean Indicates if the match was scheduled
dateScheduledUTC string (ISO dateformat) The date and time (in UTC) the Match is scheduled
dateScheduledUser? string (ISO dateformat) The date and time in the User's timezone that the Match is scheduled Only when User is logged in the API
dateScheduledUserTimezone? string The user timezone at the time the Match is scheduled Only when User is logged in the API
week int The week number this match has been created
isScheduled boolean Indicates if the match is scheduled
isSpecificDivision boolean Indicates if the match has been generated for a specific division. Ex: For the Masters Division in Echo Arena
isChallenge boolean Indicates if the match has been generated as a challenge between teams
isCup boolean Indicates if the match has been generated as part of a cup
vodUrl? string Indicates the VOD URL attached to the match (if it was casted)
homeHighlights? string Indicates the home Team highlights as submitted by the Team (for news articles)
awayHighlights? string Indicates the away Team highlights as submitted by the Team (for news articles)
postponeTeamID? string Indicates the team which took a postponment to be able to schedule on the following week Logged User must be at least a Moderator level for the game
modsReview boolean Indicates if the mods have flagged the match for review Logged User must be at least a Moderator level for the game
modsReviewNote? string Indicates notes taken by the mods team Logged User must be at least a Moderator level for the game
/{homeTeam}
/{awayTeam}
FIELD TYPE DESCRIPTION RESTRICTION
teamID string The Team ID
teamName string The Team name
teamLogo string The Team logo URL
regionID string The Region id of the Team
regionName string The Region name of the Team
divisionName string The Division name of the Team
divisionLogo string The Division logo Url of the Team
submittedScores boolean Indicates if the Team has submitted their scores for the Match
/{castingInfo}
FIELD TYPE DESCRIPTION RESTRICTION
channelID? string The channel ID
channelType? string The channel Type
channelURL? string The channel URL
casterID? string The Caster 'caster id'
caster? string The Caster name
casterLogo? string The Caster logo URL
coCasterID? string The Co-caster 'caster id'
coCaster? string The Co-caster name
coCasterLogo? string The Co-caster logo URL
cameramanID? string The Cameraman 'caster id'
cameraman? string The Cameraman name
cameramanLogo? string The Cameraman logo URL
postGameInterviewID? string The Post-game Interviewer 'caster id'
postGameInterview? string The Post-game Interviewer name
postGameInterviewLogo? string The Post-game Interviewer Logo
Upcoming Matches
GET
/{game}/Matches/Upcoming
Gets the upcoming Matches.
If the Authorization header with the Token is set, additional information will be retrieved.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
region? string Examples: World, NA, EU, APAC
Response
Upcoming Match Information for Production
GET
/{game}/Matches/UpcomingProduction/{matchID}
Gets the upcoming Match information geared for production.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
matchID string The Match ID
Response
FIELD TYPE DESCRIPTION RESTRICTION
matchID string The Match ID
homeTeam A Team Ranked object The home Team information
awayTeam A Team Ranked object The away Team information
castingInfo A Casting Information object The casting information for the Match
homeBetCount integer The number of User votes on the home Team
awayBetCount integer The number of User votes on the away Team
castUpvotes integer The number of cast upvotes on the Match
dateScheduledUTC string (ISO dateformat) The date and time (in UTC) the Match is scheduled
dateScheduledUser? string (ISO dateformat) The date and time in the User's timezone that the Match is scheduled Only when User is logged in the API
dateScheduledUserTimezone? string The user timezone at the time the Match is scheduled Only when User is logged in the API
/{homeTeam}
/{awayTeam}
FIELD TYPE DESCRIPTION RESTRICTION
rank integer The Team rank in their Region
rankWorldwide integer The Team rank worldwide
teamID string The Team ID
teamName string The Team name
teamLogo string The Team logo URL
regionID string The Region id of the Team
regionName string The Region name of the Team
Matches History
GET
/{game}/Matches/History
Gets the history of Matches (most recent first). Specify a Region to filter by Region.
Maximum of 200 Matches per request. Use posMin to fetch for more.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
region? string Examples: NA, EU, APAC or none
posMin? integer The position from which to fetch the Matches in History.
Default is: 1 (most recent history)
Response
An array of Match History objects
Matches History Details
GET
/{game}/Matches/History/Detailed
Gets detailed information on the Matches history (most recent first). Specify a Region to filter by Region.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
region? string Examples: NA, EU, APAC or none
posMin? integer The position from which to fetch the Matches in History.
Default is: 1 (most recent history)
Response
An Array of Matches History objects each including an additional Match Set object per match.
/{mapsSet}
FIELD TYPE DESCRIPTION RESTRICTION
mapNum integer The order of the map in the Match (or the round number)
mapName string The name of the map
homeScore integer The home Team score on the map (or round)
awayScore integer The away Team score on the map (or round)
Match Details
GET
/{game}/Matches/{matchID}
Gets detailed information on a particular Match.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
matchID string The Match ID
Response
TO DOCUMENT
Players
GET
/{game}/Players
Gets the Players in active Teams for the specified game.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
season? string The Season ID to filter
player? string The Player ID to use to fetch the Players list information around that team
posMin? int The minimum position to start listing the Players (for pagination). Default is: 1
Response
TO DOCUMENT
League Substitutes
GET
/{game}/Substitutes
Gets the list of League Substitutes for the specified game.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Response
TO DOCUMENT
Register As a League Substitute
POST
/{game}/Substitutes/{regionID}
Register as a league substitute.
This endpoint has an aditional specific rate limit of 2 per day upon success.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
regionID string The Region id to register in
Response
Returns 204 No Content on success.
Unregister From League Substitute
DELETE
/{game}/Substitutes
Unregister from a league substitute.
This endpoint has an aditional specific rate limit of 2 per day upon success.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Response
Returns 204 No Content on success.
Moderators
GET
/{game}/Moderators
Gets the list of moderators and governors.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Response
FIELD TYPE DESCRIPTION RESTRICTION
governors An array of Governors The list of governors
moderators An array of Moderators The list of moderators
[governors]
[moderators]
FIELD TYPE DESCRIPTION RESTRICTION
userID string The User ID
userName string The User Name
userLogo string The User Logo
country string The User Country
Add a Moderator
POST
/{game}/Moderators
Adds a User as a Moderator in the Moderating team.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot Logged User must be at least a Governor level for the game
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
username string The username of the moderator to add Logged User must be at least a Governor level for the game
Response
Returns 204 No Content on success.
Remove a Moderator
DELETE
/{game}/Moderators
Removes a Moderator from the Moderating team.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot Logged User must be at least a Governor level for the game
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
username string The username of the caster to remove Logged User must be at least a Governor level for the game
Response
Returns 204 No Content on success.
Casters
GET
/{game}/Casters
Gets the list of casters.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Response
FIELD TYPE DESCRIPTION RESTRICTION
activeCasters An array of Casters The list of active casters
inactiveCasters An array of Casters The list of inactive casters
[casters]
FIELD TYPE DESCRIPTION RESTRICTION
casterID string The Caster ID
userName string The User Name
userLogo string The User Logo
country string The User Country
totalThisSeason string The total number of casts this season
totalOverall string The alltime number of casts
Add a Caster
POST
/{game}/Casters
Adds a User as a Caster in the Casting crew.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot Logged User must be at least a Moderator level for the game
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
username string The username of the caster to add Logged User must be at least a Moderator level for the game
Response
Returns 204 No Content on success.
Remove a Caster
DELETE
/{game}/Casters
Removes a Caster from the Casting crew.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot Logged User must be at least a Moderator level for the game
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
username string The username of the caster to remove Logged User must be at least a Moderator level for the game
Response
Returns 204 No Content on success.
Get a Caster Details
GET
/{game}/Casters/{casterID}
Gets a Caster detailed information.
Response
TO DOCUMENT
Creators
GET
/{game}/Creators
Gets the list of creators.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Response
FIELD TYPE DESCRIPTION RESTRICTION
creators An array of Creators The list of creators
[creators]
FIELD TYPE DESCRIPTION RESTRICTION
userID string The User ID
userName string The User Name
userLogo string The User Logo
country string The User Country
Add a Creator
POST
/{game}/Creators
Adds a User as a Creator in the Creators team.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot Logged User must be at least a Moderator level for the game
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
username string The username of the creator to add Logged User must be at least a Moderator level for the game
Response
Returns 204 No Content on success.
Remove a Creator
DELETE
/{game}/Creators
Removes a Creator from the Creators team.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot Logged User must be at least a Moderator level for the game
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
username string The username of the creator to remove Logged User must be at least a Moderator level for the game
Response
Returns 204 No Content on success.
Connoisseurs
GET
/{game}/Connoisseurs
Gets the list of Connoissuers.
Response
TO DOCUMENT
News
GET
/{game}/News
Gets the list of News Posts.
Response
TO DOCUMENT
Players on Cooldowns
GET
/{game}/Players/Cooldowns
Gets the list of Players on Cooldowns.
Response
TO DOCUMENT
Waive a Cooldown
DELETE
/{game}/Players/Cooldowns/{cooldownID}
Waives a Cooldown from a Player.
Response
Returns 204 No Content on success.
Inactive Players
GET
/{game}/Players/Inactive
Gets the list of Inactive Players.
Response
TO DOCUMENT
Regions
GET
/{game}/Regions
Gets the Regions for the specified game name in the URL. Specify a Region to filter the Regions by their competitive Group-Region.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
region? string Examples: NA, EU, APAC or none
Response
FIELD TYPE DESCRIPTION RESTRICTION
regionID string The Region ID
regionName string The Region name
regionLogo string The Region Logo URL
Seasons
GET
/{game}/Seasons
Gets the seasons for the specified game name in the URL.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Response
FIELD TYPE DESCRIPTION RESTRICTION
seasonID string The season ID
seasonName string The season name
isCurrent boolean Indicates if the season is the current one
Honours
GET
/{game}/Honours
Gets the honours for the specified game name in the URL.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Response
TO DOCUMENT
Maps
GET
/{game}/Maps
Gets the maps for the specified game name in the URL.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Response
FIELD TYPE DESCRIPTION RESTRICTION
mapID string The map ID
mapName string The Map name
weeklyDefault string The weekly defaults maps
Channels
GET
/{game}/Channels
Gets the channels for the specified game name in the URL.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Response
FIELD TYPE DESCRIPTION RESTRICTION
channelID string The channel ID
channelName string The channel name
Search a Player
GET
/{game}/Players/Search
Gets the Players having a name that contains the search criteria.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
name string The search criteria
season? string The season ID
Response
FIELD TYPE DESCRIPTION RESTRICTION
id string The Player ID
name string The Player name
image string The Player logo
Search an Inactive Player
GET
/{game}/Players/Inactive/Search
Gets the Inactive Players having a name that contains the search criteria.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
name string The search criteria
season? string The season ID
Response
FIELD TYPE DESCRIPTION RESTRICTION
id string The Player ID
name string The Player name
image string The Player logo
Search a Team
GET
/{game}/Teams/Search
Gets the Teams having a name that contains the search criteria.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
name string The search criteria
season? string The season ID
region? string Examples: NA, EU, APAC or none
Response
FIELD TYPE DESCRIPTION RESTRICTION
id string The Team ID
name string The Team name
image string The Team logo
Search a Connoisseur
GET
/{game}/Connoisseurs/Search
Gets the Connoisseurs having a name that contains the search criteria.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
name string The search criteria
season? string The season ID
Response
FIELD TYPE DESCRIPTION RESTRICTION
id string The connoisseur ID
name string The connoisseur name
image string The User logo
Search A Substitute
GET
/{game}/Substitutes/Search
Gets the Substitutes having a name that contains the search criteria.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Query String Params
FIELD TYPE DESCRIPTION RESTRICTION
name string The search criteria
Response
FIELD TYPE DESCRIPTION RESTRICTION
id string The connoisseur ID
name string The connoisseur name
image string The User logo
Championship
GET
/{game}/Championships/{championship}
Gets the Championships information.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
championship string Examples: Season1, Season2
Response
FIELD TYPE DESCRIPTION RESTRICTION
championshipID string The Championship ID
championshipName string The Championship Name
championshipUrl string The Championship URL
Championship Challenger Cup
GET
/{game}/Championships/{championship}/ChallengerCup
Gets the Championship Challenger Cup information.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
championship string Examples: Season1, Season2
Response
TO DOCUMENT
YouTube Streamers
GET
/{game}/YouTubeStreamers
Gets the YouTube Streamers information as set on the associated YouTube channel.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot Logged User must be at least a Caster level for the game
Response
FIELD TYPE DESCRIPTION RESTRICTION
streamer string The Streamer name
streamkeyid string The Streamer key
status string The Streamer status
YouTube SuperChat List
GET
/{game}/YouTubeSuperChatList
Gets the YouTube SuperChat popular users on the associated YouTube channel.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot
Response
FIELD TYPE DESCRIPTION RESTRICTION
userChannelId string The User Channel Id
name string The User Channel name
imageUrl string The User Channel logo url
amount string The tip amount as displayed
currency string The amount currency
amountMicros integer The tip amount as a YouTube currency number
datetime string The datetime of the donation
comment string The comment
YouTube Run Ad
POST
/{game}/YouTubeRunAd
Starts an ad on the associated YouTube channel.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
game string Examples: Onward, EchoArena, Pavlov, Snapshot Logged User must be at least a Caster level for the game
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
videoId string The YouTube Video id
delaySeconds? integer The delay to wait before starting the ad (in seconds) The default is 2 seconds
delaySeconds? integer The duration to run ads for (in seconds) The default is 30 seconds. The max is 10 minutes.
Response
FIELD TYPE DESCRIPTION RESTRICTION
boolean If the command processed
MATCHES
Create a Match
POST
/Matches
Creates a Match.
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
dateScheduled datetime The date and time (in UTC) the match should be created Logged User must be at least a Moderator level for the game
team1ID string A Team ID
team2ID string Another Team ID
Response
Returns 204 No Content on success.
Modify a Match
PATCH
/Matches/{matchID}
Modifies a Match.
The Content-Type header must be set to: "application/json-patch+json".
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
dateScheduled? datetime The date and time (in UTC) the match should be scheduled Logged User must be on either Team in the Match
caster? string A Caster ID Logged User must be at least a Caster level for the game
coCaster? string A Co-caster ID Logged User must be at least a Caster level for the game
cameraman? string A Cameraman ID Logged User must be at least a Caster level for the game
postGameInterview? string A PostGame Interviewer ID Logged User must be at least a Caster level for the game
channel? string A Channel ID Logged User must be at least a Caster level for the game
vodUrl? string A VOD Url Logged User must be at least a Caster level for the game
highlights? A Highlights object The highlights notes as entered by the teams themselves Logged User must be on either Team in the Match
postponeTeamID? string The Team ID of the team using a postponement Logged User must be at least a Moderator level for the game
modsReview? boolean Indicates if the mods are reviewing the Match Logged User must be at least a Moderator level for the game
modsReviewNote? string Notes as entered by a Moderator Logged User must be at least a Moderator level for the game
Response
Returns 204 No Content on success.
Delete a Match
DELETE
/Matches/{matchID}
Cancels and deletes a Match.
Response
Returns 204 No Content on success.
Match Sets
GET
/Matches/{matchID}/sets
Get the Match sets (aka rounds) information.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
matchID string The Match ID
Response
FIELD TYPE DESCRIPTION RESTRICTION
mapID string The map ID
map string The map name
scoreHome integer The home Team score on the round
scoreAway integer The away Team score on the round
Vote For A Team
POST
/Matches/{matchID}/voteTeam
Upvote/Non-vote a Team in the Match. Calling the endpoint toggles between upvoting/non-voting a Team.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
matchID string The Match ID
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
team? string The Team id to upvote/non-vote
Response
Returns 204 No Content on success.
Vote For A Cast
POST
/Matches/{matchID}/voteCast
Upvote/Non-vote a Match to be casted. Calling the endpoint toggles between upvoting/non-voting the Match to be casted.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
matchID string The Match ID
Response
Returns 204 No Content on success.
Casters Votes
GET
/Matches/{matchID}/voteCasterCast
Gets the list of casters who upvoted that match to be casted.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
matchID string The Match ID Logged User must be at least a Caster level for the game
Response
FIELD TYPE DESCRIPTION RESTRICTION
userName string The Caster Username Logged User must be at least a Caster level for the game
Casters Vote For a Cast
POST
/Matches/{matchID}/voteCasterCast
Upvote/Non-vote a Match to be casted. Calling the endpoint toggles between upvoting/non-voting the Match to be casted. This endpoint is for the casting crew.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
matchID string The Match ID Logged User must be at least a Caster level for the game
Response
Returns 204 No Content on success.
Announce Casters
POST
/Matches/{matchID}/announceCasters
Announce the casters for an upcoming Match. Calling the endpoint will post a notification in Discord.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
matchID string The Match ID Logged User must be at least a Caster level for the game
Response
Returns 204 No Content on success.
Submit Scores
POST
/Matches/{matchID}/submitScores
Submit scores for the Match. Once the match scores are confirmed by both Teams, calling the endpoint will post a notification in Discord.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
matchID string The Match ID Logged User must be on either Team in the Match
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
scores array of Scores objects The scores to submit Logged User must be on either Team in the Match
substitutes array of Substitutes objects The substitutes (if any) Logged User must be on either Team in the Match
/[scores]
FIELD TYPE DESCRIPTION RESTRICTION
homeScore integer The home Team score for the map (or round)
awayScore integer The away Team score for the map (or round)
mapID string The map ID
/[substitutes]
FIELD TYPE DESCRIPTION RESTRICTION
userID string The User ID of the substitute
teamID string The Team ID the substitute played for
Response
Returns 204 No Content on success.
Submit a Substitute
POST
/Matches/{matchID}/substitute
Submit a substitute for the Match.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
matchID string The Match ID Logged User must be at least a Moderator level for the game
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
userID string The User ID of the substitute Logged User must be at least a Moderator level for the game
teamID string The Team ID the substitute played for Logged User must be at least a Moderator level for the game
Response
Returns 204 No Content on success.
Get a Challenge
GET
/Matches/Challenges/{challengeID}
Gets a Challenge information between 2 teams.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
challengeID string The challenge id as seen from the current User Logged User must be on either Team in the Match
Response
TO DOCUMENT
Send a Challenge
POST
/Matches/Challenges/{challengeID}
Send a Challenge request to another Team for a given date and time. Once the Challenge has been confirmed by both Teams, calling the endpoint will post a notification in Discord.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
challengeID string The challenge id as seen from the current User Logged User must be on either Team in the Match
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
dateScheduled datetime The date and time (in UTC) the Match should be played Logged User must be on either Team in the Match
Response
Returns 204 No Content on success.
Cancel/Reject a Challenge
DELETE
/Matches/Challenges/{challengeID}
Cancel/Reject a Challenge request.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
challengeID string The challenge id as seen from the current User Logged User must be on either Team in the Match
Response
Returns 204 No Content on success.
NEWS
News Post
GET
/News/{newsID}
Get a News Post information.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
newsID string The News Post ID
Response
TO DOCUMENT
Publish a News Post
POST
/News
Publishes a News Post article.
This endpoint has an aditional specific rate limit of 10 per day upon success.
JSON Body Params
TO DOCUMENT Logged User must be at least a Creator level for the game
Response
Returns 204 No Content on success.
Modify a News Post
PATCH
/News/{newsID}
Updates a News Post article.
The Content-Type header must be set to: "application/json-patch+json".
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
newsID string The News Post ID Logged User must be the one who published the article or at least a Moderator level for the game
JSON Body Params
TO DOCUMENT
Response
Returns 204 No Content on success.
Delete a News Post
DELETE
/News/{newsID}
Deletes a News Post article.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
newsID string The News Post ID Logged User must be the one who published the article or at least a Moderator level for the game
Response
Returns 204 No Content on success.
PLAYERS
Player
GET
/Players/{playerID}
Get a rostered Player information.
This endpoint replaces Players/{playerID}/Detailed.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
playerID string The Player ID
Response
TO DOCUMENT
Modify a Player
PATCH
/Players/{playerID}
Modifies a Player.
The Content-Type header must be set to: "application/json-patch+json".
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
playerID string The Player ID
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
name? string The Player name on the Team
makeOwner? boolean True if the Player should be made owner of the Team
promote? boolean True if the Player should be promoted in the Team
demote? true True if the Player should be demoted in the Team
kick? true True if the Player should be kicked from the Team
Response
Returns 204 No Content on success.
TEAMS
Team
GET
/Teams/{teamID}
Gets information on the specified Team.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
teamID string The Team ID
Response
FIELD TYPE DESCRIPTION RESTRICTION
team A Team Info object The Team information
season A Season Info object The selected Season
seasonTeam Am array of Season Info object Indicates the statistics of the Team for the selected Season
seasonPlayers An array of Player objects Indicates the list of players who participated in the team for the selected Season
seasonStatsMaps An array of Team Stats Maps Info objects Indicates Team statistics for the Team for the selected Season
seasonMatches An array of Matches History objects Lists the matches history for the selected Season
exMembers An array of Players Basic Info objects Lists all ex-members who participated in the team
context object Contextual information based on the currently logged User Only when User is logged in the API
/{team}
FIELD TYPE DESCRIPTION RESTRICTION
teamID string The Team ID
teamName string The Team name
teamLogo? string The image URL for the Team logo
logoID string A logo ID used internally
fanart? string The fanart image URL
fanartID string A fanart ID used internally
regionID string The Region ID
regionName string The Region name
gameName string The Game name
divisionName string The name of the Division
divisionLogo string The image URL of the Division
gp int The number of games played in the selected Season
w int The number of wins in the selected Season
t int The number of ties in the selected Season
l int The number of losses in the selected Season
pts int The number of points in the selected Season
plusMinus int The plus/minus points in the selected Season
mmr int The team MMR in the selected Season
cycleGP int The number of games played in the most recent cycle in the selected Season
cycleW int The number of wins in the most recent cycle in the selected Season
cycleT int The number of ties in the most recent cycle in the selected Season
cycleL int The number of losses in the most recent cycle in the selected Season
cycleTieBreaker int The tie breaker in the most recent cycle in the selected Season
cyclePlusMinus int The plus/minus points in the most recent cycle in the selected Season
cycleScoreTotal int The number of points in the most recent cycle in the selected Season
isActive bool Indicates if the team is currently active
isRetired bool Indicates if the team is currently retired
isDeleted bool Indicates if the team is currently deleted
isRecruiting bool Indicates if the team is marked as currently recruiting
isBlockingRecruiting bool Indicates if the team is marked as blocking recruiting requests
isMaster bool Indicates if the team plays in a Master Round-Robin Division
isMaster bool Indicates if the team plays in a Master Round-Robin Division
maxChallengesThisWeek int Indicates the number of challenges this team has on the current week
rank int Indicates the team rank in their region
rankWorldwide int Indicates the team rank worldwide
seasonsPlayed An array of Season Info objects Indicates the seasons the team participated in
players An array of Players Info objects Indicates the players currently rostered on the team
bio A Team Bio Info object The bio information on the Team
upcomingMatches An array of Scheduled Matches objects The Team upcoming Matches
currentUserChallengeID string A Challenge ID used to challenge the team Only when User is logged in the API
recruitPossible bool Indicates if recruiting is possible for the Team
missingGPForMMR int The number of missing matches to get MMR
playerIDWhenGameIsSoloBased string The player ID when the game is played solo Only when the Game is played solo
/{seasonStatsMaps}
FIELD TYPE DESCRIPTION RESTRICTION
mapName string The Map name
played integer The number of times the map was played
win integer The number of wins by the Team on the map
winPercentage integer The win percentage on the map (or round)
roundsPlayed integer The number of rounds played
roundsWin integer The number of round-wins on the map
roundsWinPercentage integer The round-wins percentage on the map
/{exMembers}
FIELD TYPE DESCRIPTION RESTRICTION
playerID string The Player ID
playerName string The Player name
userID string The User ID
userLogo string The User logo image URL
country string The Country code for the User
nationality string The Nationality code for the User
streamURL string The Stream URL for the User
teamID string The Team ID for the Player
teamName string The Team name for the Player
roleID string The Role ID for the Player
role string The Role name for the Player
isTeamOwner bool Indicate if the Player is the Team owner
isTeamStarter bool Indicate if the Player is a Starter on the Team
Modify a Team
PATCH
/Teams/{teamID}
Modifies a Team.
The Content-Type header must be set to: "application/json-patch+json".
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
teamID string The Player ID
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
name? string The Team name
region? string The Region the Team competes in
weekdays? object Indicates start/end times the Team is commonly available to play on weekdays
weekends? object Indicates start/end times the Team is commonly available to play on weekends
active? boolean True if the Team is active
recruiting? boolean True if the Team is actively recruiting
blockingRecruit? boolean True if the Team is blocking recruiting requests
retire? boolean True if the Team is retired
scrim? boolean True if the current User, rostered on the Team, should have the Scrim role
recruitRequest? boolean True if the current User, not rostered on the Team, wants send a recruiting request to the Team
recruit? string Accepts the recruiting request. The recruiting request id can be retrieved HERE
reject? string Rejects the recruiting request. The recruiting request id can be retrieved HERE
bio? A Team Bio Info object The bio information on the Team
/{weekdays}
/{weekends}
FIELD TYPE DESCRIPTION RESTRICTION
start string The starting time (24 hours format) of the Team availability window
end string The ending time (24 hours format) of the Team availability window
/{bio}
FIELD TYPE DESCRIPTION RESTRICTION
bioInfo? string The bio information. Max length is 2000 characters
discordServer? string The Discord Server ID for the Team
discordInvite? string The Discord URL Invite to join the Team Discord
Response
Returns 204 No Content on success.
Delete a Team
DELETE
/Teams/{teamID}
Deletes a Team.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
teamID string The Team ID Logged User must be the Team Owner
Response
Returns 204 No Content on success.
Players
GET
/Teams/{teamID}/Players
Gets Players in the specified Team.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
teamID string The Team ID
Response
TO DOCUMENT
Statistics Between 2 Teams
GET
/Teams/{teamID1}/{teamID2}
Gets statistical information between 2 given Teams.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
teamID1 string One of the Team id to compare
teamID2 string The other Team id to compare
Response
FIELD TYPE DESCRIPTION RESTRICTION
team1Rank integer The Regional rank of the first Team
team1RankWorldwide integer The worldwide rank of the first Team
team2Rank integer The Regional rank of the second Team
team2RankWorldwide integer The worldwide rank of the second Team
commonMatches An array of Common Matches objects The common past Matches
commonMaps array The common past maps
team1History A Team Maps stats Info object The statistics on the first Team, alone
team2History A Team Maps stats Info object The statistics on the second Team, alone
/[commonMatches]
FIELD TYPE DESCRIPTION RESTRICTION
void An array of Matches History objects The list of Matches between the 2 Teams
/[commonMaps]
FIELD TYPE DESCRIPTION RESTRICTION
mapName string The Map name
played integer The number of times the map was played in common (or number of rounds played between Teams)
team1Win integer The number of wins by the first Team on the map
team1WinPercentage integer The number of wins percentage by the first Team on the map
team1RoundsWin integer The number of round-wins by the first Team on the map
team1RoundsWinPercentage integer The round-wins percentage by the first Team on the map
team2Win integer The number of wins by the second Team on the map
team2WinPercentage integer The number of wins percentage by the second Team on the map
team2RoundsWin integer The number of round-wins by the second Team on the map
team2RoundsWinPercentage integer The round-wins percentage by the second Team on the map
Upcoming Matches
GET
/Teams/{teamID}/Matches/Upcoming
Gets the upcoming Matches for the specified Team.
If the Authorization header with the Token is set, additional information will be retrieved.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
teamID string The Team ID
Response
FIELD TYPE DESCRIPTION RESTRICTION
void An array of Scheduled Matches objects The Team upcoming Matches
Matches History
GET
/Teams/{teamID}/Matches/History
Gets the Matches history for the specified Team.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
teamID string The Team ID
JSON Body Params
FIELD TYPE DESCRIPTION RESTRICTION
season? string The Season ID. When no Season is specified, the current season is used
Response
FIELD TYPE DESCRIPTION RESTRICTION
void An array of Matches History objects The Team Matches history
Matches History Details
GET
/Teams/{teamID}/Matches/History/Detailed
Gets the Matches history details for the specified Team.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
teamID string The Team ID
Response
FIELD TYPE DESCRIPTION RESTRICTION
void An array of Matches History Details objects The Team Matches history
Delete Logo
DELETE
/Teams/{teamID}/logo
Deletes the Team Logo.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
teamID string The Team ID Logged User must be at least a Moderator level for the game
Response
Returns 204 No Content on success.
Delete Fanart
DELETE
/Teams/{teamID}/fanart
Deletes the Team Fanart.
URL Params
FIELD TYPE DESCRIPTION RESTRICTION
teamID string The Team ID Logged User must be at least a Moderator level for the game
Response
Returns 204 No Content on success.
RATE LIMITS
VRML's API rate limits requests in order to prevent abuse and overload of our services. Rate limits are applied on a per-route basis (meaning they can be different for each route called) and/or per User performing the request and/or per IP Address performing the request, with the exception of an additional global rate limit spanning across the entire API. Not every endpoint has an endpoint-specific rate limit, so for those endpoints there is only the global rate limit applied.
Rate limits take into account major parameters in the URL. For example, /Teams/{teamID}/Players take teamID into account when generating rate limits since it's the major parameter.
We may change rate limits at any time and rate limits can be different per use case, therefore rate limits should not be hard coded into your application consuming the VRML API. In order to properly support our dynamic rate limits, you should parse for our rate limits in response headers and locally prevent exceeding the limits as they change.
Exceeding A Rate Limit
In the case that a rate limit is exceeded, the API will return a HTTP 429 response code.
Response Headers for a Rate Limit
HEADER TYPE DESCRIPTION RESTRICTION
X-RateLimit-Limit string The number of requests that can be made in the indicated time span
X-RateLimit-Reset-After float The number of seconds to wait before submitting another request
X-RateLimit-Global boolean Indicates if you are being globally rate limited or not
All applications should make reasonable attempts to avoid making invalid requests. For example:
  • 401 responses are avoided by providing a valid token in the authorization header when required and by stopping further requests after a token becomes invalid
  • 403 responses are avoided by inspecting permissions and by not making requests that are restricted by such permissions
  • 404 responses are avoided by making sure the endpoint points to a valid location
  • 429 responses are avoided by inspecting the rate limit headers documented above and by not making requests until after they have reset
  • 500 responses are mostly avoided by validating the parameters sent through the API