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 Abios API as quickly as possible, as well as support if you get stuck. Let's jump right in!

NEW! You can find you personal developer dashboard and request log here.

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.

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, just an aggregate of competitive results between two Teams, the Rosters of a Series are the DefaultRosters of each Team at the point when the Series is created. This is then not changed, even if changes in the Rosters happen between the point of Series creation and Series start, to keep the integrity of the IDs in different objects within the Series over time.

{
    "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,
    "scores": {
        "1473": 1,
        "1353": 2
    },
    "forfeit": {
        "1473": false,
        "1353": false
    },
    "rosters": [Roster],
    "game": {},
    "matches": [Match],
    "casters": [Caster],
    "bracketpos": {},
    "tournament": {},
    "stats": {},
    "chain": null
}

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

Series & Matches

Lets look closer at the most fundamental parts of the API