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]
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).
Submit your project to DaKinMan for an authorization; as for the moment registrations of clients are done manually (work in progress).
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 |
GET
/Sponsors
Gets the official VRML partners/sponsors
Response
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 |
USER
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
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 |
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 |
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 |
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 |
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
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
/Users/{userID}
Gets a User information
URL Params
FIELD | TYPE | DESCRIPTION | RESTRICTION |
---|---|---|---|
userID | string | The User ID |
Response
TO DOCUMENT
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
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
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
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.
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 |
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
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]
/[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}
/{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 |
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
An Array of Scheduled Matches objects
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}
/{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 |
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
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
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
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
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
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.
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.
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 |
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.
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.
GET
/{game}/Casters
Gets the list of casters.
URL Params
FIELD | TYPE | DESCRIPTION | RESTRICTION |
---|---|---|---|
game | string | Examples: Onward, EchoArena, Pavlov, Snapshot |
Response
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.
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
/{game}/Casters/{casterID}
Gets a Caster detailed information.
Response
TO DOCUMENT
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 |
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.
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.
GET
/{game}/Players/Cooldowns
Gets the list of Players on Cooldowns.
Response
TO DOCUMENT
DELETE
/{game}/Players/Cooldowns/{cooldownID}
Waives a Cooldown from a Player.
Response
Returns 204 No Content on success.
GET
/{game}/Players/Inactive
Gets the list of Inactive Players.
Response
TO DOCUMENT
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
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
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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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
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 |
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 |
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
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.
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
/Matches/{matchID}
Cancels and deletes a Match.
Response
Returns 204 No Content on success.
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 |
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.
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.
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 |
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.
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.
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.
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
/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
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.
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
GET
/News/{newsID}
Get a News Post information.
URL Params
FIELD | TYPE | DESCRIPTION | RESTRICTION |
---|---|---|---|
newsID | string | The News Post ID |
Response
TO DOCUMENT
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.
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
/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
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
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
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 |
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}
/{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
/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.
GET
/Teams/{teamID}/Players
Gets Players in the specified Team.
URL Params
FIELD | TYPE | DESCRIPTION | RESTRICTION |
---|---|---|---|
teamID | string | The Team ID |
Response
TO DOCUMENT
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 |
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 |
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 |
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
/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
/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.
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 |
Invalid Request Limit
IP addresses that make too many invalid HTTP requests are automatically and temporarily restricted from accessing the VRML API.
Currently, this limit is 50 per hour and 150 per day. An invalid request is one that results in 401, 403, 404 or 429 statuses. Some cases of 500 statuses are also considered depending on the situations.
Currently, this limit is 50 per hour and 150 per day. An invalid request is one that results in 401, 403, 404 or 429 statuses. Some cases of 500 statuses are also considered depending on the situations.
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