Abios API

The Abios API Developer Hub

Welcome to the Abios API developer hub. You'll find comprehensive guides and documentation to help you start working with the Abios API as quickly as possible, as well as support if you get stuck. Let's jump right in!

NEW! You can find your personal developer dashboard and request log at https://dash.abiosgaming.com.

Series & Matches

Lets look closer at the most fundamental parts of the API

Series and Matches are maybe the most central parts of the Abios data structure. A Match, sometimes referred to as a map or a game represents the actual face-off between two teams or players. In esports Matches are often played in sequence, in a "Best-of" scheme, and the aggregated score of the Matches determine the winner. This is where Series comes in to play, as a higher level grouping of Matches. Every Match has a Series above it, even in the case of Best-of-One formats.

Matches

Looking closer at a Match, below, you can see that it contains information relating to the Match that was actually played between the two competitors (we call the competitors Rosters, more on that later). What is interesting to note here is that there is both something called winner and scores, this may seem redundant at first, but depending on the game the scoreboard itself does not necessarily dictate the winner of a Match. In Dota, for example, a team can come out on top even if the scoreboard is 32-30 against them.

{
    "id": 108799,
    "order": 1,
    "winner": 1337,
    "map": {},
    "deleted_at": null,
    "scores": {
      "1337": 16,
      "1473": 9
    },
    "forfeit": {
      "1337": false,
      "1473": false
    },
    "streamed": true,
    "rosters": [Roster],
    "stats": {}
}

Series

A Series on the other hand does not represent an actual occurrence and has therefore no Match specific data in it. It does, however, contain aggregated information and information that spans all of its Matches, such as who will be casting the Matches, the Tournament in which they are played etc.

Again, the thorough reader might have identified something that looks like a redundancy. There is both matches containing a list of Matches (and the winners of said Matches) as well as scores accounting for the number of Matches won. However, as some levels of API access does not grant the user access to Match data, the winners are accounted for in the Series as well which also serves as a quick way to extract the Match winners.

{
    "id": 28900,
    "title": "NA Qualifier",
    "bestOf": 3,
    "start": "2015-08-06 23:00:00",
    "end": "2015-08-07 00:46:09",
    "postponed_from": null,
    "deleted_at": null,
    "pbp_status": "expected",
    "scores": {
        "1473": 1,
        "1353": 2
    },
    "forfeit": {
        "1473": false,
        "1353": false
    },
    "rosters": [Roster],
    "game": {},
    "matches": [Match],
    "casters": [Caster],
    "bracketpos": {},
    "tournament": {},
    "stats": {},
    "chain": null
}

Rosters

An important point to get across here is that if the Series is in a Team vs Team based game, the Rosters of the Series are the 'expected' Rosters for the Series. As a Series it self does not constitute an actual competition between any players (it is just an aggregate of competitive results between two Teams) the Rosters of a Series are the main line-up of each Team as communicated by the team or organisation at the time when the series is set to take place.

On the other hand, a Roster in a Match accounts for the exact Players participating in the Match, and in some games it is commonplace that those players (and Rosters) will differ in between the Matches of a Series.


What's Next

Next we'll look at the teams and players that are participating in the matches, and how they are grouped together!

Teams, Players & Rosters