MENU navbar-image

Introduction

The Match Play Events API allows you to programmatically access tournament information. If you have questions or if you more more data exposed, please write to play@matchplay.events

This documentation aims to provide all the information you need to work with the API.

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer YOUR_API_TOKEN".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your token by visiting your account setting and clicking API tokens.

Arenas

Get arenas

requires authentication

Returns a list of arenas owned by the current user.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/arenas?status=active" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/arenas"
);

const params = {
    "status": "active",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/arenas';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'status' => 'active',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/arenas

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

status   string  optional  

Filter to arenas with a specific status. Possible values: active, inactive. Example: active

arenas   string  optional  

Comma-separated list of arena ids to get. Provide up to 25 ids.

page   integer  optional  

Which page of results to get. Defaults to 1.

Dashboard

Get dashboard

requires authentication

Get a list of tournaments a user's active tournaments and series.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/dashboard" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/dashboard"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/dashboard';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/dashboard

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Response

Response Fields

tournamentsPlaying      

Active tournaments user is playing in

tournamentsOrganizing      

Active tournaments user is organizing

seriesOrganizing      

Active series user is organizing

Games

Get games

requires authentication

Get matchplay games from any tournament. If you are interested in games from a single tournament (including results data) see "Get games in tournament" in the "Tournaments" section.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/games?player=6&arena=2&round=7&bank=3&status=suscipit" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/games"
);

const params = {
    "player": "6",
    "arena": "2",
    "round": "7",
    "bank": "3",
    "status": "suscipit",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/games';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'player' => '6',
            'arena' => '2',
            'round' => '7',
            'bank' => '3',
            'status' => 'suscipit',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/games

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

tournaments   string  optional  

Comma-separated list of tournament ids to get games for. Provide up to 25 ids.

series   string  optional  

Comma-separated list of series ids to get games for. Provide up to 5 ids.

player   integer  optional  

Filter by player id Example: 6

arena   integer  optional  

Filter by arena id Example: 2

round   integer  optional  

Filter by round id Example: 7

bank   integer  optional  

Filter by bank id Example: 3

status   string  optional  

Filter by status. Possible values: started, completed Example: suscipit

IFPA

Estimate WPPRs for a list of players.

requires authentication

Provide EITHER a tournament id OR a series id OR a list of ifpaIds/names.

Example request:
curl --request POST \
    "https://app.matchplay.events/api/ifpa/wppr-estimator" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "https://app.matchplay.events/api/ifpa/wppr-estimator"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/ifpa/wppr-estimator';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

POST api/ifpa/wppr-estimator

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

tournamentId   integer  optional  

Tournament id.

seriesId   integer  optional  

Series id.

ifpaIds   integer[]  optional  

List of IFPA ids.

names   string[]  optional  

Optional list of player names to try to convert to IFPA ids.

Locations

Get locations

requires authentication

Returns a list of locations owned by the current user.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/locations?status=active" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/locations"
);

const params = {
    "status": "active",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/locations';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'status' => 'active',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/locations

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

status   string  optional  

Filter to locations with a specific status. Possible values: active, inactive. Example: active

locations   string  optional  

Comma-separated list of location ids to get. Provide up to 25 ids.

page   integer  optional  

Which page of results to get. Defaults to 1.

PinTips

Get PinTips for a specific machine

requires authentication

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/pintips?opdbId=G4do5-MDlN7" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/pintips"
);

const params = {
    "opdbId": "G4do5-MDlN7",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/pintips';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'opdbId' => 'G4do5-MDlN7',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/pintips

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

opdbId   string  optional  

Optional. OPDB id of machine to get PinTips for. Example: G4do5-MDlN7

arenaId   integer  optional  

Optional. Arena id of machine to get PinTips for.

Players

Get players

requires authentication

Returns a list of players owned by the current user

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/players?status=active" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/players"
);

const params = {
    "status": "active",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/players';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'status' => 'active',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/players

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

status   string  optional  

Filter to players with a specific status. Possible values: active, inactive. Example: active

players   string  optional  

Comma-separated list of player ids to get. Provide up to 25 ids.

page   integer  optional  

Which page of results to get. Defaults to 1.

Profiles

Get own profile

requires authentication

Get profile data for the currently authenticated user

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/users/profile" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/users/profile"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/users/profile';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "userId": 1,
    "name": "Andreas Haugstrup Pedersen",
    "ifpaId": 15925,
    "role": "player",
    "flag": "us-ca",
    "location": "San Francisco",
    "pronouns": "he",
    "initials": "AHP",
    "createdAt": "2015-01-18T16:34:35.000000Z"
}
 

Request   

GET api/users/profile

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Get profile for user

requires authentication

Get profile data for a specific user, including rating and IFPA data

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/users/1?includeIfpa=1&includeCounts=" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/users/1"
);

const params = {
    "includeIfpa": "1",
    "includeCounts": "0",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/users/1';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'includeIfpa' => '1',
            'includeCounts' => '0',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 58
vary: Origin
 

{
    "user": {
        "userId": 1,
        "name": "Andreas Haugstrup Pedersen",
        "ifpaId": 15925,
        "role": "player",
        "flag": "us-ca",
        "location": "San Francisco",
        "pronouns": "he",
        "initials": "AHP",
        "avatar": "https://mp-avatars.sfo3.cdn.digitaloceanspaces.com/avatar-U1-1679585204.jpg",
        "banner": "https://mp-avatars.sfo3.cdn.digitaloceanspaces.com/banner-U1-1679585219.jpg",
        "tournamentAvatar": null,
        "createdAt": "2015-01-18T16:34:35.000000Z"
    },
    "rating": {
        "ratingId": 640,
        "userId": 1,
        "ifpaId": 15925,
        "name": "Andreas Haugstrup Pedersen",
        "rating": 1538,
        "rd": 37,
        "calculatedRd": 38,
        "lowerBound": 1461,
        "lastRatingPeriod": "2017-08-29T00:00:00.000000Z",
        "rank": 894
    },
    "ifpa": {
        "ifpaId": 15925,
        "name": "Andreas Haugstrup Pedersen",
        "rank": null,
        "rating": 1502.27,
        "ratingRank": 1884,
        "womensRank": null,
        "totalEvents": 162,
        "initials": "AHP",
        "city": "San Francisco",
        "state": "CA",
        "countryCode": "DK",
        "countryName": "Denmark",
        "updatedAt": "2024-01-04T06:16:55.000000Z"
    },
    "shortcut": null,
    "plan": null,
    "userCounts": {
        "tournamentOrganizedCount": 0,
        "seriesOrganizedCount": 0,
        "tournamentPlayCount": 0,
        "ratingPeriodCount": 0
    }
}
 

Request   

GET api/users/{user_user_id}

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_user_id   integer   

The ID of the user user. Example: 1

user   integer   

The user id. Example: 1

Query Parameters

includeIfpa   boolean  optional  

Include IFPA data in response. No-Example Example: true

includeCounts   boolean  optional  

Include tournament counts in response. No-Example Example: false

Ratings

Compare players

requires authentication

Compare the ratings and head-to-head records of multiple players. Fetch ratings based on the user id, IFPA id or player id. Do not include the same player in more than one category. For example, do not provide an IFPA and user id for the same player.

Example request:
curl --request POST \
    "https://app.matchplay.events/api/ratings/compare" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/ratings/compare"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/ratings/compare';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 55
vary: Origin
 

{
    "globalRatingRange": {
        "min": 801.49,
        "max": 2118.13
    },
    "ratings": [],
    "records": []
}
 

Request   

POST api/ratings/compare

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

requires authentication

Search rating objects by the rating name.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/ratings/search" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/ratings/search"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/ratings/search';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Ratings for IFPA ids

requires authentication

Get rating objects for a number of IFPA ids.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/ratings/ifpa" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/ratings/ifpa"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/ratings/ifpa';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/ratings/ifpa

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

date   string  optional  

Optional, leave blank to get most recent data. Rating period to return ratings for. Format: YYYY-MM-DD.

ifpaIds   string  optional  

Comma-separated list of ifpa ids to get. Provide up to 200 IFPA ids (25 ids is providing a specific date).

Get full rating profile

requires authentication

Retrieve the full rating profile for a single player. Includes rating history for the past year.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/ratings/1/dignissimos" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/ratings/1/dignissimos"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/ratings/1/dignissimos';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/ratings/{type}/{id}

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

type   integer   

Example: 1

id   string   

The ID of the {type}. Example: dignissimos

Query Parameters

type   string  optional  

Either users to get profile by user id or ifpa to get profile by IFPA id.

id   integer  optional  

The user id or IFPA id of the profile.

Get summary rating profile

requires authentication

Retrieve the summary rating profile for a single player. Includes only the basic rating data

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/ratings/1/qui/summary" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/ratings/1/qui/summary"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/ratings/1/qui/summary';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/ratings/{type}/{id}/summary

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

type   integer   

Example: 1

id   string   

The ID of the {type}. Example: qui

Query Parameters

type   string  optional  

Either users to get profile by user id or ifpa to get profile by IFPA id.

id   integer  optional  

The user id or IFPA id of the profile.

Get current rating data

requires authentication

Retrieve a list of rating objects. You can filter the list to match only specific players.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/ratings" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/ratings"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/ratings';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/ratings

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

userIds   integer  optional  

Comma-separated list of user ids to get.

ifpaIds   integer  optional  

Comma-separated list of ifpa ids to get.

page   integer  optional  

Which page of results to get. Defaults to 1.

Get rating history for IFPA id

requires authentication

Retrieve a list of rating history objects for a single player based on their IFPA id.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/ifpa/soluta/rating-history" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/ifpa/soluta/rating-history"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/ifpa/soluta/rating-history';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/ifpa/{ifpaId}/rating-history

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

ifpaId   string   

Example: soluta

Query Parameters

limit   integer  optional  

How many results to get. Defaults to 100. Max is 500.

page   integer  optional  

Which page of results to get. Defaults to 1.

Get rating periods

requires authentication

Retrieve a list of rating periods

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/rating-periods" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/rating-periods"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/rating-periods';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/rating-periods

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Which page of results to get. Defaults to 1.

Get single rating period

requires authentication

Retrieve details for a single rating period

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/rating-periods/quia" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/rating-periods/quia"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/rating-periods/quia';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/rating-periods/{ratingPeriodDate}

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

ratingPeriodDate   string   

Example: quia

Query Parameters

ratingPeriod   integer  optional  

The date of the rating period in the format YYYY-MM-DD.

Get rating submissions

requires authentication

Retrieve a list of rating submissions

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/rating-submissions" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/rating-submissions"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/rating-submissions';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/rating-submissions

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Which page of results to get. Defaults to 1.

Create a rating submission from a URL

requires authentication

Example request:
curl --request POST \
    "https://app.matchplay.events/api/rating-submissions" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "https://app.matchplay.events/api/rating-submissions"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/rating-submissions';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

POST api/rating-submissions

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

url   string  optional  

Submission URL.

Get single rating submission

requires authentication

Retrieve details for a single rating submission

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/rating-submissions/1" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/rating-submissions/1"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/rating-submissions/1';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

GET api/rating-submissions/{ratingSubmission_rating_submission_id}

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

ratingSubmission_rating_submission_id   integer   

The ID of the ratingSubmission rating submission. Example: 1

Set IFPA numbers for rating submission players

requires authentication

Example request:
curl --request POST \
    "https://app.matchplay.events/api/rating-submissions/1/ifpa" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/rating-submissions/1/ifpa"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "POST",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/rating-submissions/1/ifpa';
$response = $client->post(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Unauthenticated."
}
 

Request   

POST api/rating-submissions/{ratingSubmission_rating_submission_id}/ifpa

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

ratingSubmission_rating_submission_id   integer   

The ID of the ratingSubmission rating submission. Example: 1

Search

Search tournaments and users

requires authentication

Search either tournaments or users.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/search?query=SFPD+Spring+2020+%233&type=tournaments" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/search"
);

const params = {
    "query": "SFPD Spring 2020 #3",
    "type": "tournaments",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/search';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'query' => 'SFPD Spring 2020 #3',
            'type' => 'tournaments',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 59
vary: Origin
 

{
    "data": [
        {
            "tournamentId": 76546,
            "name": "SFPD Test Season #1",
            "status": "completed",
            "type": "group_matchplay",
            "startUtc": "2022-08-25T14:50:00.000000Z",
            "startLocal": "2022-08-25 07:50:00",
            "endUtc": "2022-08-25T14:50:00.000000Z",
            "endLocal": "2022-08-25 07:50:00",
            "completedAt": "2022-08-25T23:37:21.000000Z",
            "organizerId": 348,
            "locationId": null,
            "seriesId": 2126,
            "description": null,
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Los_Angeles",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": 76549,
            "estimatedTgp": null,
            "organizer": {
                "userId": 348,
                "name": "Match Play Test Device",
                "ifpaId": null,
                "role": "organizer",
                "flag": "dk",
                "location": "San Francisco",
                "pronouns": "it",
                "initials": "MP",
                "avatar": "https://mp-avatars.sfo3.cdn.digitaloceanspaces.com/avatar-U348-1679584352.jpg",
                "banner": "https://mp-avatars.sfo3.cdn.digitaloceanspaces.com/banner-U348-1679553817.jpg",
                "tournamentAvatar": null,
                "createdAt": "2015-10-17T00:32:05.000000Z"
            },
            "location": null,
            "seeding": "random",
            "firstRoundPairing": "random",
            "pairing": "balanced",
            "playerOrder": "balanced",
            "arenaAssignment": "balanced",
            "duration": 0,
            "gamesPerRound": 1,
            "playoffsCutoff": 0,
            "suggestions": "disabled",
            "tiebreaker": "disabled",
            "scoring": "ifpa"
        },
        {
            "tournamentId": 76547,
            "name": "SFPD Test Season #2",
            "status": "completed",
            "type": "group_matchplay",
            "startUtc": "2022-08-11T15:02:00.000000Z",
            "startLocal": "2022-08-11 08:02:00",
            "endUtc": "2022-08-11T15:02:00.000000Z",
            "endLocal": "2022-08-11 08:02:00",
            "completedAt": "2023-08-04T06:43:55.000000Z",
            "organizerId": 348,
            "locationId": null,
            "seriesId": 2126,
            "description": null,
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Los_Angeles",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 348,
                "name": "Match Play Test Device",
                "ifpaId": null,
                "role": "organizer",
                "flag": "dk",
                "location": "San Francisco",
                "pronouns": "it",
                "initials": "MP",
                "avatar": "https://mp-avatars.sfo3.cdn.digitaloceanspaces.com/avatar-U348-1679584352.jpg",
                "banner": "https://mp-avatars.sfo3.cdn.digitaloceanspaces.com/banner-U348-1679553817.jpg",
                "tournamentAvatar": null,
                "createdAt": "2015-10-17T00:32:05.000000Z"
            },
            "location": null,
            "seeding": "manual",
            "firstRoundPairing": "random",
            "pairing": "balanced_series",
            "playerOrder": "balanced",
            "arenaAssignment": "balanced",
            "duration": 0,
            "gamesPerRound": 1,
            "playoffsCutoff": 0,
            "suggestions": "disabled",
            "tiebreaker": "disabled",
            "scoring": "ifpa"
        },
        {
            "tournamentId": 76549,
            "name": "Finals for SFPD Test Season #1",
            "status": "planned",
            "type": "amazingrace",
            "startUtc": "2022-08-11T14:50:00.000000Z",
            "startLocal": "2022-08-11 07:50:00",
            "endUtc": "2022-08-11T14:50:00.000000Z",
            "endLocal": "2022-08-11 07:50:00",
            "completedAt": null,
            "organizerId": 348,
            "locationId": null,
            "seriesId": null,
            "description": null,
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Los_Angeles",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 348,
                "name": "Match Play Test Device",
                "ifpaId": null,
                "role": "organizer",
                "flag": "dk",
                "location": "San Francisco",
                "pronouns": "it",
                "initials": "MP",
                "avatar": "https://mp-avatars.sfo3.cdn.digitaloceanspaces.com/avatar-U348-1679584352.jpg",
                "banner": "https://mp-avatars.sfo3.cdn.digitaloceanspaces.com/banner-U348-1679553817.jpg",
                "tournamentAvatar": null,
                "createdAt": "2015-10-17T00:32:05.000000Z"
            },
            "location": null,
            "seeding": "manual",
            "arenaAssignment": "manual",
            "playoffsCutoff": 0
        },
        {
            "tournamentId": 73408,
            "name": "DFW Women's Pinball (Belles & Chimes) LEAGUE, Event 6, Spring 2022",
            "status": "planned",
            "type": "best_game",
            "startUtc": "2022-07-30T19:00:00.000000Z",
            "startLocal": "2022-07-30 14:00:00",
            "endUtc": "2022-07-30T19:00:00.000000Z",
            "endLocal": "2022-07-30 14:00:00",
            "completedAt": null,
            "organizerId": 1945,
            "locationId": 6201,
            "seriesId": 2058,
            "description": "This is a 6 Event series with a 7th Event as the FINALS.To qualify for Finals, you must play at least 3 Events. Top 50% will qualify for Finals. Some women may choose to play in Mixed Final, next qualifier will take that position. Finals is 2-Strikes",
            "pointsMap": null,
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "user",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1945,
                "name": "Lora Tennison",
                "ifpaId": 45203,
                "role": "player",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-07-03T18:50:01.000000Z"
            },
            "location": {
                "locationId": 6201,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Rickie Carson's Collection",
                "organizerId": 1945,
                "status": "active",
                "address": "1228 Stillwater Trail, Carrollton, TX 75007, USA"
            },
            "bestGameScoring": "bg_linear",
            "bestGameOverallAttempts": 0,
            "playoffsCutoff": 0,
            "useQueues": false,
            "bestGameAttemptsOnArena": 0,
            "bestGameArenasCounted": 0,
            "bestGameNumberOfBestGames": 1,
            "suggestions": "restricted"
        },
        {
            "tournamentId": 73407,
            "name": "DFW Women's Pinball (Belles & Chimes) LEAGUE, Event 5, Spring 2022",
            "status": "planned",
            "type": "best_game",
            "startUtc": "2022-07-09T19:00:00.000000Z",
            "startLocal": "2022-07-09 14:00:00",
            "endUtc": "2022-07-09T19:00:00.000000Z",
            "endLocal": "2022-07-09 14:00:00",
            "completedAt": null,
            "organizerId": 1945,
            "locationId": 6200,
            "seriesId": 2058,
            "description": "This is a 6 Event series with a 7th Event as the FINALS.To qualify for Finals, you must play at least 3 Events. Top 50% will qualify for Finals. Some women may choose to play in Mixed Final, next qualifier will take that position. Finals is 2-Strikes",
            "pointsMap": null,
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "user",
            "link": "https://facebook.com/DFW-Womens-Pinball-League",
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1945,
                "name": "Lora Tennison",
                "ifpaId": 45203,
                "role": "player",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-07-03T18:50:01.000000Z"
            },
            "location": {
                "locationId": 6200,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Jorge Ramos & Warren Joe's Collections",
                "organizerId": 1945,
                "status": "active",
                "address": "8426 County Rd 301, Grandview, TX 76050, USA"
            },
            "bestGameScoring": "bg_linear",
            "bestGameOverallAttempts": 0,
            "playoffsCutoff": 0,
            "useQueues": false,
            "bestGameAttemptsOnArena": 0,
            "bestGameArenasCounted": 0,
            "bestGameNumberOfBestGames": 1,
            "suggestions": "restricted"
        },
        {
            "tournamentId": 72993,
            "name": "MFLadies Pinball Spring 2022 #10",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-23T03:00:00.000000Z",
            "startLocal": "2022-06-22 20:00:00",
            "endUtc": "2022-06-23T03:00:00.000000Z",
            "endLocal": "2022-06-22 20:00:00",
            "completedAt": null,
            "organizerId": 60,
            "locationId": 3969,
            "seriesId": 2050,
            "description": null,
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Los_Angeles",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 60,
                "name": "Cary carmichael",
                "ifpaId": 19422,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2015-05-31T19:59:43.000000Z"
            },
            "location": {
                "locationId": 3969,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Lynn's Arcade",
                "organizerId": 60,
                "status": "active",
                "address": null
            },
            "seeding": "random",
            "firstRoundPairing": "random",
            "pairing": "swiss",
            "playerOrder": "rotating",
            "arenaAssignment": "balanced",
            "duration": 5,
            "gamesPerRound": 1,
            "playoffsCutoff": 0,
            "suggestions": "disabled",
            "tiebreaker": "disabled",
            "scoring": "ifpa"
        },
        {
            "tournamentId": 75302,
            "name": "TILT Spring League - Competitive #6",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-22T01:00:00.000000Z",
            "startLocal": "2022-06-21 20:00:00",
            "endUtc": "2022-06-22T01:00:00.000000Z",
            "endLocal": "2022-06-21 20:00:00",
            "completedAt": null,
            "organizerId": 1029,
            "locationId": 1215,
            "seriesId": 2103,
            "description": null,
            "pointsMap": [
                [
                    5
                ],
                [
                    5,
                    1
                ],
                [
                    5,
                    3,
                    1
                ],
                [
                    5,
                    3,
                    2,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1029,
                "name": "D&G Pinball",
                "ifpaId": null,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-03-27T15:48:55.000000Z"
            },
            "location": {
                "locationId": 1215,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Tilt Pinball Bar",
                "organizerId": 1029,
                "status": "active",
                "address": "113 E 26th St #110, Minneapolis, MN 55404, USA"
            },
            "seeding": "manual",
            "firstRoundPairing": "adjacent",
            "pairing": "balanced",
            "playerOrder": "balanced",
            "arenaAssignment": "disabled",
            "duration": 1,
            "gamesPerRound": 5,
            "playoffsCutoff": 0,
            "suggestions": "automatic",
            "tiebreaker": "disabled",
            "scoring": "winnerbonus"
        },
        {
            "tournamentId": 75308,
            "name": "TILT Spring League -Recreational #6",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-22T01:00:00.000000Z",
            "startLocal": "2022-06-21 20:00:00",
            "endUtc": "2022-06-22T01:00:00.000000Z",
            "endLocal": "2022-06-21 20:00:00",
            "completedAt": null,
            "organizerId": 1029,
            "locationId": 1215,
            "seriesId": 2104,
            "description": null,
            "pointsMap": [
                [
                    5
                ],
                [
                    5,
                    1
                ],
                [
                    5,
                    3,
                    1
                ],
                [
                    5,
                    3,
                    2,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1029,
                "name": "D&G Pinball",
                "ifpaId": null,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-03-27T15:48:55.000000Z"
            },
            "location": {
                "locationId": 1215,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Tilt Pinball Bar",
                "organizerId": 1029,
                "status": "active",
                "address": "113 E 26th St #110, Minneapolis, MN 55404, USA"
            },
            "seeding": "random",
            "firstRoundPairing": "random",
            "pairing": "balanced_series",
            "playerOrder": "balanced",
            "arenaAssignment": "disabled",
            "duration": 1,
            "gamesPerRound": 5,
            "playoffsCutoff": 0,
            "suggestions": "automatic",
            "tiebreaker": "disabled",
            "scoring": "winnerbonus"
        },
        {
            "tournamentId": 75502,
            "name": "Excelsior Spring 2022 FINAL BATTLE (B-Division)",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-20T02:20:00.000000Z",
            "startLocal": "2022-06-19 22:20:00",
            "endUtc": "2022-06-20T02:20:00.000000Z",
            "endLocal": "2022-06-19 22:20:00",
            "completedAt": null,
            "organizerId": 4470,
            "locationId": 1322,
            "seriesId": null,
            "description": null,
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/New_York",
            "scorekeeping": "user",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 4470,
                "name": "Tim Varney",
                "ifpaId": 53187,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2017-06-19T18:32:03.000000Z"
            },
            "location": {
                "locationId": 1322,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Excelsior Pub",
                "organizerId": 4470,
                "status": "active",
                "address": "54 Philip St, Albany, NY 12207, USA"
            },
            "seeding": "manual",
            "firstRoundPairing": "adjacent",
            "pairing": "swiss",
            "playerOrder": "rotating",
            "arenaAssignment": "balanced",
            "duration": 0,
            "gamesPerRound": 4,
            "playoffsCutoff": 0,
            "suggestions": "restricted",
            "tiebreaker": "disabled",
            "scoring": "ifpa"
        },
        {
            "tournamentId": 75501,
            "name": "Excelsior Spring 2022 FINAL BATTLE (A-Division)",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-20T02:20:00.000000Z",
            "startLocal": "2022-06-19 22:20:00",
            "endUtc": "2022-06-20T02:20:00.000000Z",
            "endLocal": "2022-06-19 22:20:00",
            "completedAt": null,
            "organizerId": 4470,
            "locationId": 1322,
            "seriesId": 2066,
            "description": null,
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/New_York",
            "scorekeeping": "user",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 4470,
                "name": "Tim Varney",
                "ifpaId": 53187,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2017-06-19T18:32:03.000000Z"
            },
            "location": {
                "locationId": 1322,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Excelsior Pub",
                "organizerId": 4470,
                "status": "active",
                "address": "54 Philip St, Albany, NY 12207, USA"
            },
            "seeding": "manual",
            "firstRoundPairing": "adjacent",
            "pairing": "swiss",
            "playerOrder": "rotating",
            "arenaAssignment": "balanced",
            "duration": 0,
            "gamesPerRound": 4,
            "playoffsCutoff": 0,
            "suggestions": "restricted",
            "tiebreaker": "disabled",
            "scoring": "ifpa"
        },
        {
            "tournamentId": 72992,
            "name": "MFLadies Pinball Spring 2022 #9",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-16T03:00:00.000000Z",
            "startLocal": "2022-06-15 20:00:00",
            "endUtc": "2022-06-16T03:00:00.000000Z",
            "endLocal": "2022-06-15 20:00:00",
            "completedAt": null,
            "organizerId": 60,
            "locationId": 3969,
            "seriesId": 2050,
            "description": null,
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Los_Angeles",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 60,
                "name": "Cary carmichael",
                "ifpaId": 19422,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2015-05-31T19:59:43.000000Z"
            },
            "location": {
                "locationId": 3969,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Lynn's Arcade",
                "organizerId": 60,
                "status": "active",
                "address": null
            },
            "seeding": "random",
            "firstRoundPairing": "random",
            "pairing": "swiss",
            "playerOrder": "rotating",
            "arenaAssignment": "balanced",
            "duration": 5,
            "gamesPerRound": 1,
            "playoffsCutoff": 0,
            "suggestions": "disabled",
            "tiebreaker": "disabled",
            "scoring": "ifpa"
        },
        {
            "tournamentId": 75301,
            "name": "TILT Spring League - Competitive #5",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-15T01:00:00.000000Z",
            "startLocal": "2022-06-14 20:00:00",
            "endUtc": "2022-06-15T01:00:00.000000Z",
            "endLocal": "2022-06-14 20:00:00",
            "completedAt": null,
            "organizerId": 1029,
            "locationId": 1215,
            "seriesId": 2103,
            "description": null,
            "pointsMap": [
                [
                    5
                ],
                [
                    5,
                    1
                ],
                [
                    5,
                    3,
                    1
                ],
                [
                    5,
                    3,
                    2,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1029,
                "name": "D&G Pinball",
                "ifpaId": null,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-03-27T15:48:55.000000Z"
            },
            "location": {
                "locationId": 1215,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Tilt Pinball Bar",
                "organizerId": 1029,
                "status": "active",
                "address": "113 E 26th St #110, Minneapolis, MN 55404, USA"
            },
            "seeding": "manual",
            "firstRoundPairing": "adjacent",
            "pairing": "balanced",
            "playerOrder": "balanced",
            "arenaAssignment": "disabled",
            "duration": 1,
            "gamesPerRound": 5,
            "playoffsCutoff": 0,
            "suggestions": "automatic",
            "tiebreaker": "disabled",
            "scoring": "winnerbonus"
        },
        {
            "tournamentId": 75307,
            "name": "TILT Spring League -Recreational #5",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-15T01:00:00.000000Z",
            "startLocal": "2022-06-14 20:00:00",
            "endUtc": "2022-06-15T01:00:00.000000Z",
            "endLocal": "2022-06-14 20:00:00",
            "completedAt": null,
            "organizerId": 1029,
            "locationId": 1215,
            "seriesId": 2104,
            "description": null,
            "pointsMap": [
                [
                    5
                ],
                [
                    5,
                    1
                ],
                [
                    5,
                    3,
                    1
                ],
                [
                    5,
                    3,
                    2,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1029,
                "name": "D&G Pinball",
                "ifpaId": null,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-03-27T15:48:55.000000Z"
            },
            "location": {
                "locationId": 1215,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Tilt Pinball Bar",
                "organizerId": 1029,
                "status": "active",
                "address": "113 E 26th St #110, Minneapolis, MN 55404, USA"
            },
            "seeding": "random",
            "firstRoundPairing": "random",
            "pairing": "balanced_series",
            "playerOrder": "balanced",
            "arenaAssignment": "disabled",
            "duration": 1,
            "gamesPerRound": 5,
            "playoffsCutoff": 0,
            "suggestions": "automatic",
            "tiebreaker": "disabled",
            "scoring": "winnerbonus"
        },
        {
            "tournamentId": 72983,
            "name": "MFPinball Spring 2022 #10",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-14T03:00:00.000000Z",
            "startLocal": "2022-06-13 20:00:00",
            "endUtc": "2022-06-14T03:00:00.000000Z",
            "endLocal": "2022-06-13 20:00:00",
            "completedAt": null,
            "organizerId": 60,
            "locationId": 3969,
            "seriesId": 2049,
            "description": null,
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Los_Angeles",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 60,
                "name": "Cary carmichael",
                "ifpaId": 19422,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2015-05-31T19:59:43.000000Z"
            },
            "location": {
                "locationId": 3969,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Lynn's Arcade",
                "organizerId": 60,
                "status": "active",
                "address": null
            },
            "seeding": "random",
            "firstRoundPairing": "random",
            "pairing": "swiss",
            "playerOrder": "rotating",
            "arenaAssignment": "balanced",
            "duration": 5,
            "gamesPerRound": 1,
            "playoffsCutoff": 0,
            "suggestions": "disabled",
            "tiebreaker": "disabled",
            "scoring": "ifpa"
        },
        {
            "tournamentId": 75500,
            "name": "Excelsior Spring 2022 League #7",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-13T02:20:00.000000Z",
            "startLocal": "2022-06-12 22:20:00",
            "endUtc": "2022-06-13T02:20:00.000000Z",
            "endLocal": "2022-06-12 22:20:00",
            "completedAt": null,
            "organizerId": 4470,
            "locationId": 1322,
            "seriesId": 2066,
            "description": null,
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/New_York",
            "scorekeeping": "user",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 4470,
                "name": "Tim Varney",
                "ifpaId": 53187,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2017-06-19T18:32:03.000000Z"
            },
            "location": {
                "locationId": 1322,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Excelsior Pub",
                "organizerId": 4470,
                "status": "active",
                "address": "54 Philip St, Albany, NY 12207, USA"
            },
            "seeding": "manual",
            "firstRoundPairing": "adjacent",
            "pairing": "swiss",
            "playerOrder": "rotating",
            "arenaAssignment": "balanced",
            "duration": 0,
            "gamesPerRound": 4,
            "playoffsCutoff": 0,
            "suggestions": "restricted",
            "tiebreaker": "disabled",
            "scoring": "ifpa"
        },
        {
            "tournamentId": 73406,
            "name": "DFW Women's Pinball (Belles & Chimes) LEAGUE, Event 4, Spring 2022",
            "status": "planned",
            "type": "best_game",
            "startUtc": "2022-06-12T18:00:00.000000Z",
            "startLocal": "2022-06-12 13:00:00",
            "endUtc": "2022-06-12T18:00:00.000000Z",
            "endLocal": "2022-06-12 13:00:00",
            "completedAt": null,
            "organizerId": 1945,
            "locationId": 4193,
            "seriesId": 2058,
            "description": "This is a 6 Event series with a 7th Event as the FINALS.To qualify for Finals, you must play at least 3 Events. Top 50% will qualify for Finals. Some women may choose to play in Mixed Final, next qualifier will take that position. Finals is 2-Strikes",
            "pointsMap": null,
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "user",
            "link": "https://facebook.com/DFW-Womens-Pinball-League",
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1945,
                "name": "Lora Tennison",
                "ifpaId": 45203,
                "role": "player",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-07-03T18:50:01.000000Z"
            },
            "location": {
                "locationId": 4193,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Don Merki's Collection",
                "organizerId": 1945,
                "status": "active",
                "address": "2005 Hollyhill Ln, Denton, TX 76205, USA"
            },
            "bestGameScoring": "bg_linear",
            "bestGameOverallAttempts": 0,
            "playoffsCutoff": 0,
            "useQueues": false,
            "bestGameAttemptsOnArena": 0,
            "bestGameArenasCounted": 0,
            "bestGameNumberOfBestGames": 1,
            "suggestions": "restricted"
        },
        {
            "tournamentId": 72991,
            "name": "MFLadies Pinball Spring 2022 #8",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-09T03:00:00.000000Z",
            "startLocal": "2022-06-08 20:00:00",
            "endUtc": "2022-06-09T03:00:00.000000Z",
            "endLocal": "2022-06-08 20:00:00",
            "completedAt": null,
            "organizerId": 60,
            "locationId": 3969,
            "seriesId": 2050,
            "description": null,
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Los_Angeles",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 60,
                "name": "Cary carmichael",
                "ifpaId": 19422,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2015-05-31T19:59:43.000000Z"
            },
            "location": {
                "locationId": 3969,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Lynn's Arcade",
                "organizerId": 60,
                "status": "active",
                "address": null
            },
            "seeding": "random",
            "firstRoundPairing": "random",
            "pairing": "swiss",
            "playerOrder": "rotating",
            "arenaAssignment": "balanced",
            "duration": 5,
            "gamesPerRound": 1,
            "playoffsCutoff": 0,
            "suggestions": "disabled",
            "tiebreaker": "disabled",
            "scoring": "ifpa"
        },
        {
            "tournamentId": 75300,
            "name": "TILT Spring League - Competitive #4",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-08T01:00:00.000000Z",
            "startLocal": "2022-06-07 20:00:00",
            "endUtc": "2022-06-08T01:00:00.000000Z",
            "endLocal": "2022-06-07 20:00:00",
            "completedAt": null,
            "organizerId": 1029,
            "locationId": 1215,
            "seriesId": 2103,
            "description": null,
            "pointsMap": [
                [
                    5
                ],
                [
                    5,
                    1
                ],
                [
                    5,
                    3,
                    1
                ],
                [
                    5,
                    3,
                    2,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1029,
                "name": "D&G Pinball",
                "ifpaId": null,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-03-27T15:48:55.000000Z"
            },
            "location": {
                "locationId": 1215,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Tilt Pinball Bar",
                "organizerId": 1029,
                "status": "active",
                "address": "113 E 26th St #110, Minneapolis, MN 55404, USA"
            },
            "seeding": "manual",
            "firstRoundPairing": "adjacent",
            "pairing": "balanced",
            "playerOrder": "balanced",
            "arenaAssignment": "disabled",
            "duration": 1,
            "gamesPerRound": 5,
            "playoffsCutoff": 0,
            "suggestions": "automatic",
            "tiebreaker": "disabled",
            "scoring": "winnerbonus"
        },
        {
            "tournamentId": 75306,
            "name": "TILT Spring League -Recreational #4",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-08T01:00:00.000000Z",
            "startLocal": "2022-06-07 20:00:00",
            "endUtc": "2022-06-08T01:00:00.000000Z",
            "endLocal": "2022-06-07 20:00:00",
            "completedAt": null,
            "organizerId": 1029,
            "locationId": 1215,
            "seriesId": 2104,
            "description": null,
            "pointsMap": [
                [
                    5
                ],
                [
                    5,
                    1
                ],
                [
                    5,
                    3,
                    1
                ],
                [
                    5,
                    3,
                    2,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1029,
                "name": "D&G Pinball",
                "ifpaId": null,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-03-27T15:48:55.000000Z"
            },
            "location": {
                "locationId": 1215,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Tilt Pinball Bar",
                "organizerId": 1029,
                "status": "active",
                "address": "113 E 26th St #110, Minneapolis, MN 55404, USA"
            },
            "seeding": "random",
            "firstRoundPairing": "random",
            "pairing": "balanced_series",
            "playerOrder": "balanced",
            "arenaAssignment": "disabled",
            "duration": 1,
            "gamesPerRound": 5,
            "playoffsCutoff": 0,
            "suggestions": "automatic",
            "tiebreaker": "disabled",
            "scoring": "winnerbonus"
        },
        {
            "tournamentId": 72982,
            "name": "MFPinball Spring 2022 #9",
            "status": "planned",
            "type": "group_matchplay",
            "startUtc": "2022-06-07T03:00:00.000000Z",
            "startLocal": "2022-06-06 20:00:00",
            "endUtc": "2022-06-07T03:00:00.000000Z",
            "endLocal": "2022-06-06 20:00:00",
            "completedAt": null,
            "organizerId": 60,
            "locationId": 3969,
            "seriesId": 2049,
            "description": null,
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Los_Angeles",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 60,
                "name": "Cary carmichael",
                "ifpaId": 19422,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2015-05-31T19:59:43.000000Z"
            },
            "location": {
                "locationId": 3969,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Lynn's Arcade",
                "organizerId": 60,
                "status": "active",
                "address": null
            },
            "seeding": "random",
            "firstRoundPairing": "random",
            "pairing": "swiss",
            "playerOrder": "rotating",
            "arenaAssignment": "balanced",
            "duration": 5,
            "gamesPerRound": 1,
            "playoffsCutoff": 0,
            "suggestions": "disabled",
            "tiebreaker": "disabled",
            "scoring": "ifpa"
        },
        {
            "tournamentId": 76488,
            "name": "JPA Spring 2022 League Season (A Division Final)",
            "status": "completed",
            "type": "group_matchplay",
            "startUtc": "2022-06-05T23:00:00.000000Z",
            "startLocal": "2022-06-05 19:00:00",
            "endUtc": "2022-06-05T23:00:00.000000Z",
            "endLocal": "2022-06-05 19:00:00",
            "completedAt": "2022-06-06T02:17:33.000000Z",
            "organizerId": 5728,
            "locationId": 3152,
            "seriesId": null,
            "description": "A Division Final for JPA Spring 2022 League - PAPA style scoring, 6 games",
            "pointsMap": [
                [
                    4
                ],
                [
                    4,
                    2
                ],
                [
                    4,
                    2,
                    1
                ],
                [
                    4,
                    2,
                    1,
                    0
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/New_York",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 5728,
                "name": "Koi Morris",
                "ifpaId": 296,
                "role": "player",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2017-11-29T22:18:38.000000Z"
            },
            "location": {
                "locationId": 3152,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Eight on the Break",
                "organizerId": 5728,
                "status": "active",
                "address": null
            },
            "seeding": "manual",
            "firstRoundPairing": "random",
            "pairing": "balanced",
            "playerOrder": "disabled",
            "arenaAssignment": "manual",
            "duration": 1,
            "gamesPerRound": 6,
            "playoffsCutoff": 0,
            "suggestions": "disabled",
            "tiebreaker": "seed",
            "scoring": "papa"
        },
        {
            "tournamentId": 76436,
            "name": "B Finals for TOURNAMENT at the DFW 2022 Spring/Summer Pinball League Event 3",
            "status": "completed",
            "type": "group_bracket",
            "startUtc": "2022-06-04T19:00:00.000000Z",
            "startLocal": "2022-06-04 14:00:00",
            "endUtc": "2022-06-04T19:00:00.000000Z",
            "endLocal": "2022-06-04 14:00:00",
            "completedAt": "2022-06-05T03:06:40.000000Z",
            "organizerId": 1237,
            "locationId": 5402,
            "seriesId": null,
            "description": "Group Elimination tournament - 2 games per round",
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1237,
                "name": "Louis Marx",
                "ifpaId": 5725,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-04-23T19:18:34.000000Z"
            },
            "location": {
                "locationId": 5402,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Paradise Home",
                "organizerId": 1237,
                "status": "active",
                "address": "Keller, TX, USA"
            },
            "seeding": "manual",
            "arenaAssignment": "disabled",
            "roundCount": 3,
            "bracketSize": 16,
            "suggestions": "restricted",
            "gamesPerRound": 2,
            "scoring": "ifpa"
        },
        {
            "tournamentId": 76404,
            "name": "TOURNAMENT at the DFW 2022 Spring/Summer Pinball League Event 3",
            "status": "completed",
            "type": "group_matchplay",
            "startUtc": "2022-06-04T19:00:00.000000Z",
            "startLocal": "2022-06-04 14:00:00",
            "endUtc": "2022-06-04T19:00:00.000000Z",
            "endLocal": "2022-06-04 14:00:00",
            "completedAt": "2022-06-04T23:19:08.000000Z",
            "organizerId": 1237,
            "locationId": 5402,
            "seriesId": null,
            "description": "Qualifying: Group Match Play - 2 Matches/Round - 4 Rounds / Finals TBD But Likely To Be Group Elimination/PAPA Style With 2 Matches/Round For Both The A And B Divisions - So NOVICES CAN WIN Too! Late Entrants Allowed Through Round 2.",
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "user",
            "link": null,
            "linkedTournamentId": 76435,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1237,
                "name": "Louis Marx",
                "ifpaId": 5725,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-04-23T19:18:34.000000Z"
            },
            "location": {
                "locationId": 5402,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Paradise Home",
                "organizerId": 1237,
                "status": "active",
                "address": "Keller, TX, USA"
            },
            "seeding": "random",
            "firstRoundPairing": "best_game",
            "pairing": "balanced",
            "playerOrder": "rotating",
            "arenaAssignment": "random",
            "duration": 4,
            "gamesPerRound": 2,
            "playoffsCutoff": 0,
            "suggestions": "restricted",
            "tiebreaker": "disabled",
            "scoring": "ifpa"
        },
        {
            "tournamentId": 76402,
            "name": "DFW 2022 Spring/Summer Pinball LEAGUE Event 3",
            "status": "completed",
            "type": "best_game",
            "startUtc": "2022-06-04T19:00:00.000000Z",
            "startLocal": "2022-06-04 14:00:00",
            "endUtc": "2022-06-04T19:00:00.000000Z",
            "endLocal": "2022-06-04 14:00:00",
            "completedAt": "2022-06-05T03:03:57.000000Z",
            "organizerId": 1237,
            "locationId": 5402,
            "seriesId": null,
            "description": "Best Score Format - 2 machines - It takes your best score from each machine. You must submit at least 1 score per machine - software KNOWS to take the higher score - submit ALL of your scores. Scores require pictures from ONE and TWO player games only!",
            "pointsMap": null,
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "user",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1237,
                "name": "Louis Marx",
                "ifpaId": 5725,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-04-23T19:18:34.000000Z"
            },
            "location": {
                "locationId": 5402,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Paradise Home",
                "organizerId": 1237,
                "status": "active",
                "address": "Keller, TX, USA"
            },
            "bestGameScoring": "bg_linear",
            "bestGameOverallAttempts": 0,
            "playoffsCutoff": 0,
            "useQueues": false,
            "bestGameAttemptsOnArena": 0,
            "bestGameArenasCounted": 0,
            "bestGameNumberOfBestGames": 1,
            "suggestions": "restricted"
        },
        {
            "tournamentId": 76435,
            "name": "A Finals for TOURNAMENT at the DFW 2022 Spring/Summer Pinball League Event 3",
            "status": "completed",
            "type": "group_bracket",
            "startUtc": "2022-06-04T19:00:00.000000Z",
            "startLocal": "2022-06-04 14:00:00",
            "endUtc": "2022-06-04T19:00:00.000000Z",
            "endLocal": "2022-06-04 14:00:00",
            "completedAt": "2022-06-05T03:12:13.000000Z",
            "organizerId": 1237,
            "locationId": 5402,
            "seriesId": null,
            "description": "Group Elimination tournament - 2 games per round",
            "pointsMap": [
                [
                    7
                ],
                [
                    7,
                    1
                ],
                [
                    7,
                    4,
                    1
                ],
                [
                    7,
                    5,
                    3,
                    1
                ]
            ],
            "tiebreakerPointsMap": [
                [
                    "0.50"
                ],
                [
                    "0.50",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.00"
                ],
                [
                    "0.50",
                    "0.25",
                    "0.12",
                    "0.00"
                ]
            ],
            "test": false,
            "timezone": "America/Chicago",
            "scorekeeping": "disabled",
            "link": null,
            "linkedTournamentId": null,
            "estimatedTgp": null,
            "organizer": {
                "userId": 1237,
                "name": "Louis Marx",
                "ifpaId": 5725,
                "role": "organizer",
                "flag": "",
                "location": "",
                "pronouns": "",
                "initials": "",
                "avatar": null,
                "banner": null,
                "tournamentAvatar": null,
                "createdAt": "2016-04-23T19:18:34.000000Z"
            },
            "location": {
                "locationId": 5402,
                "scorbitVenueId": null,
                "pinballmapId": null,
                "name": "Paradise Home",
                "organizerId": 1237,
                "status": "active",
                "address": "Keller, TX, USA"
            },
            "seeding": "manual",
            "arenaAssignment": "disabled",
            "roundCount": 3,
            "bracketSize": 16,
            "suggestions": "restricted",
            "gamesPerRound": 2,
            "scoring": "ifpa"
        }
    ],
    "links": {
        "first": "http://localhost/api/search?page=1",
        "last": "http://localhost/api/search?page=98",
        "prev": null,
        "next": "http://localhost/api/search?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 98,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "http://localhost/api/search?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": "http://localhost/api/search?page=2",
                "label": "2",
                "active": false
            },
            {
                "url": "http://localhost/api/search?page=3",
                "label": "3",
                "active": false
            },
            {
                "url": "http://localhost/api/search?page=4",
                "label": "4",
                "active": false
            },
            {
                "url": "http://localhost/api/search?page=5",
                "label": "5",
                "active": false
            },
            {
                "url": "http://localhost/api/search?page=6",
                "label": "6",
                "active": false
            },
            {
                "url": "http://localhost/api/search?page=7",
                "label": "7",
                "active": false
            },
            {
                "url": "http://localhost/api/search?page=8",
                "label": "8",
                "active": false
            },
            {
                "url": "http://localhost/api/search?page=9",
                "label": "9",
                "active": false
            },
            {
                "url": "http://localhost/api/search?page=10",
                "label": "10",
                "active": false
            },
            {
                "url": null,
                "label": "...",
                "active": false
            },
            {
                "url": "http://localhost/api/search?page=97",
                "label": "97",
                "active": false
            },
            {
                "url": "http://localhost/api/search?page=98",
                "label": "98",
                "active": false
            },
            {
                "url": "http://localhost/api/search?page=2",
                "label": "Next »",
                "active": false
            }
        ],
        "path": "http://localhost/api/search",
        "per_page": 25,
        "to": 25,
        "total": 2428
    }
}
 

Series

A tournament series is a collection of tournaments with combined standings. It's typically used for league play.

Get series list

requires authentication

Retrieve a list of series. You can filter the list using various parameters.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/series?owner=1993&status=completed" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/series"
);

const params = {
    "owner": "1993",
    "status": "completed",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/series';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'owner' => '1993',
            'status' => 'completed',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": [
        {
            "seriesId": 1,
            "name": "Series test 1",
            "status": "completed",
            "organizerId": 2,
            "test": true,
            "removedResults": 0,
            "playoffsCutoff": 0,
            "scoring": "points",
            "estimatedTgp": null,
            "tournamentIds": []
        },
        {
            "seriesId": 1,
            "name": "Series test 1",
            "status": "completed",
            "organizerId": 2,
            "test": true,
            "removedResults": 0,
            "playoffsCutoff": 0,
            "scoring": "points",
            "estimatedTgp": null,
            "tournamentIds": []
        }
    ]
}
 

Request   

GET api/series

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

owner   integer  optional  

Filter to series created by this user. Example: 1993

played   integer  optional  

Filter to series played by this user.

status   string  optional  

Filter to series with a specific status. Possible values: active, completed. Example: completed

page   integer  optional  

Which page of results to get. Defaults to 1.

Get series

requires authentication

Get information about a single series.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/series/1?includeDetails=1" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/series/1"
);

const params = {
    "includeDetails": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/series/1';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'includeDetails' => '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{
    "data": {
        "seriesId": 1,
        "name": "Series test 1",
        "status": "completed",
        "organizerId": 2,
        "test": true,
        "removedResults": 0,
        "playoffsCutoff": 0,
        "scoring": "points",
        "estimatedTgp": null,
        "tournamentIds": []
    }
}
 

Request   

GET api/series/{series_series_id}

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

series_series_id   integer   

The ID of the series series. Example: 1

series   integer   

The id of the series. Example: 119

Query Parameters

includeDetails   boolean  optional  

Include standings, tournament points and players in response. No-Example Example: true

Series attendance

requires authentication

See which players have played a specific amount of tournaments in a series.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/series/1/stats/attendance?count=4" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/series/1/stats/attendance"
);

const params = {
    "count": "4",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/series/1/stats/attendance';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'count' => '4',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 57
vary: Origin
 

{
    "data": []
}
 

Request   

GET api/series/{series_series_id}/stats/attendance

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

series_series_id   integer   

The ID of the series series. Example: 1

series   integer   

The id of the series. Example: 119

Query Parameters

count   integer  optional  

The number of tournaments to have been played. Example: 4

Series stats

requires authentication

Get general stats about a series.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/series/1/stats" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/series/1/stats"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/series/1/stats';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 56
vary: Origin
 

{
    "series": {
        "seriesId": 1,
        "name": "Series test 1",
        "status": "completed",
        "organizerId": 2,
        "test": true,
        "removedResults": 0,
        "playoffsCutoff": 0,
        "scoring": "points",
        "estimatedTgp": null
    },
    "overall": {
        "sum": 0,
        "max": null,
        "min": null,
        "mean": null,
        "median": null,
        "count": 0
    },
    "members": {
        "sum": 0,
        "max": null,
        "min": null,
        "mean": null,
        "median": null,
        "count": 0
    },
    "guests": {
        "sum": 0,
        "max": null,
        "min": null,
        "mean": null,
        "median": null,
        "count": 0
    },
    "tournaments": [],
    "playerAttendances": [],
    "opponentCounts": []
}
 

Request   

GET api/series/{series_series_id}/stats

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

series_series_id   integer   

The ID of the series series. Example: 1

series   integer   

The id of the series. Example: 119

Tournaments

Get tournament list

requires authentication

Retrieve a list of tournaments. You can filter the list using various parameters.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments?owner=1993&status=completed&series=1" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments"
);

const params = {
    "owner": "1993",
    "status": "completed",
    "series": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'owner' => '1993',
            'status' => 'completed',
            'series' => '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 54
vary: Origin
 

{
    "data": [],
    "links": {
        "first": "http://localhost/api/tournaments?page=1",
        "last": "http://localhost/api/tournaments?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": null,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "http://localhost/api/tournaments?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "path": "http://localhost/api/tournaments",
        "per_page": 25,
        "to": null,
        "total": 0
    }
}
 

Request   

GET api/tournaments

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

owner   integer  optional  

Filter to tournaments created by this user. Example: 1993

played   integer  optional  

Filter to tournaments played by this user.

status   string  optional  

Filter to tournaments with a specific status. Possible values: planned, started, completed. Example: completed

series   integer  optional  

Filter to series with the specified id. No-Example Example: 1

page   integer  optional  

Which page of results to get. Defaults to 1.

Get tournament

requires authentication

Get details of a tournament, optionally include data like players and arenas.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1?includePlayers=1&includeArenas=&includeBanks=1&includeScorekeepers=&includeSeries=&includeLocation=1&includeRsvpConfiguration=1&includeParent=1&includePlayoffs=1&includeShortcut=1" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1"
);

const params = {
    "includePlayers": "1",
    "includeArenas": "0",
    "includeBanks": "1",
    "includeScorekeepers": "0",
    "includeSeries": "0",
    "includeLocation": "1",
    "includeRsvpConfiguration": "1",
    "includeParent": "1",
    "includePlayoffs": "1",
    "includeShortcut": "1",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'includePlayers' => '1',
            'includeArenas' => '0',
            'includeBanks' => '1',
            'includeScorekeepers' => '0',
            'includeSeries' => '0',
            'includeLocation' => '1',
            'includeRsvpConfiguration' => '1',
            'includeParent' => '1',
            'includePlayoffs' => '1',
            'includeShortcut' => '1',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 53
vary: Origin
 

{
    "data": {
        "tournamentId": 1,
        "name": "Small test tournament",
        "status": "started",
        "type": "matchplay",
        "startUtc": "2015-01-18T17:00:00.000000Z",
        "startLocal": "2015-01-18 09:00:00",
        "endUtc": "2015-01-18T17:00:00.000000Z",
        "endLocal": "2015-01-18 09:00:00",
        "completedAt": null,
        "organizerId": 1,
        "locationId": null,
        "seriesId": null,
        "description": null,
        "pointsMap": [
            [
                1
            ],
            [
                1,
                0
            ],
            [
                1,
                0,
                0
            ],
            [
                1,
                0,
                0
            ]
        ],
        "tiebreakerPointsMap": [
            [
                "0.50"
            ],
            [
                "0.50",
                "0.00"
            ],
            [
                "0.50",
                "0.25",
                "0.00"
            ],
            [
                "0.50",
                "0.25",
                "0.12",
                "0.00"
            ]
        ],
        "test": true,
        "timezone": "America/Los_Angeles",
        "scorekeeping": "disabled",
        "link": null,
        "linkedTournamentId": 53,
        "estimatedTgp": null,
        "organizer": {
            "userId": 1,
            "name": "Andreas Haugstrup Pedersen",
            "ifpaId": 15925,
            "role": "player",
            "flag": "us-ca",
            "location": "San Francisco",
            "pronouns": "he",
            "initials": "AHP",
            "avatar": "https://mp-avatars.sfo3.cdn.digitaloceanspaces.com/avatar-U1-1679585204.jpg",
            "banner": "https://mp-avatars.sfo3.cdn.digitaloceanspaces.com/banner-U1-1679585219.jpg",
            "tournamentAvatar": null,
            "createdAt": "2015-01-18T16:34:35.000000Z"
        },
        "rsvpConfiguration": null,
        "playoffsTournament": {
            "tournamentId": 53,
            "name": "Finals for Small test tournament",
            "status": "started"
        },
        "location": null,
        "banks": [],
        "players": [
            {
                "playerId": 1,
                "name": "Andreas Haugstrup Pedersen",
                "ifpaId": 15925,
                "status": "active",
                "organizerId": 1,
                "claimedBy": 1,
                "tournamentPlayer": {
                    "status": "active",
                    "seed": null,
                    "pointsAdjustment": 0,
                    "subscription": null,
                    "labels": [],
                    "labelColor": null
                }
            },
            {
                "playerId": 2,
                "name": "Per Schwarzenberger",
                "ifpaId": 12220,
                "status": "active",
                "organizerId": 1,
                "claimedBy": 2,
                "tournamentPlayer": {
                    "status": "active",
                    "seed": null,
                    "pointsAdjustment": 0,
                    "subscription": null,
                    "labels": [],
                    "labelColor": null
                }
            },
            {
                "playerId": 3,
                "name": "Echa Schneider",
                "ifpaId": 13275,
                "status": "active",
                "organizerId": 1,
                "claimedBy": 3,
                "tournamentPlayer": {
                    "status": "active",
                    "seed": null,
                    "pointsAdjustment": 0,
                    "subscription": null,
                    "labels": [],
                    "labelColor": null
                }
            },
            {
                "playerId": 4,
                "name": "Darren Ensley",
                "ifpaId": 12117,
                "status": "active",
                "organizerId": 1,
                "claimedBy": 424,
                "tournamentPlayer": {
                    "status": "active",
                    "seed": null,
                    "pointsAdjustment": 0,
                    "subscription": null,
                    "labels": [],
                    "labelColor": null
                }
            }
        ],
        "seeding": "random",
        "firstRoundPairing": "random",
        "pairing": "swiss",
        "playerOrder": "balanced",
        "arenaAssignment": "balanced",
        "duration": 0,
        "gamesPerRound": 1,
        "playoffsCutoff": 0,
        "suggestions": "disabled",
        "tiebreaker": "disabled",
        "byes": "full"
    }
}
 

Request   

GET api/tournaments/{tournament_tournament_id}

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament. Example: 3624

Query Parameters

includePlayers   boolean  optional  

Include tournament players in response. No-Example Example: true

includeArenas   boolean  optional  

Include tournament arenas in response. No-Example Example: false

includeBanks   boolean  optional  

Include tournament banks in response. No-Example Example: true

includeScorekeepers   boolean  optional  

Include tournament scorekeepers in response. No-Example Example: false

includeSeries   boolean  optional  

Include tournament series in response. No-Example Example: false

includeLocation   boolean  optional  

Include tournament location in response. No-Example Example: true

includeRsvpConfiguration   boolean  optional  

Include tournament RSVP configuration in response. No-Example Example: true

includeParent   boolean  optional  

Include parent tournament in response. No-Example Example: true

includePlayoffs   boolean  optional  

Include playoffs tournament in response. No-Example Example: true

includeShortcut   boolean  optional  

Include shortcut in response. No-Example Example: true

Amazing Race summary

requires authentication

Get all rounds, games and queues for an Amazing Race tournament. Neither games nor queues are sorted.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/amazing-race" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/amazing-race"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/amazing-race';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (400):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 52
vary: Origin
 

{
    "message": "Tournament is not Amazing Race",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
    "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
    "line": 1248,
    "trace": [
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 45,
            "function": "abort",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 65,
            "function": "abort"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/app/Http/Controllers/API/AmazingRaceController.php",
            "line": 36,
            "function": "abort_if"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "summary",
            "class": "App\\Http\\Controllers\\API\\AmazingRaceController",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 806,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 159,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 135,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 87,
            "function": "handleRequestUsingNamedLimiter",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 25,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 26,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 807,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 784,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 748,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 737,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 200,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php",
            "line": 19,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/nova/src/Http/Middleware/ServeNova.php",
            "line": 23,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Nova\\Http\\Middleware\\ServeNova",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 59,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 99,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 175,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 144,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 300,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 288,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 91,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 44,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 236,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 125,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 72,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 50,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 53,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 662,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 211,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Command/Command.php",
            "line": 326,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 181,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 1096,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 324,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 175,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 201,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/amazing-race

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 10

Flip Frenzy summary

requires authentication

Get a summary of games and virtual queue for a Flip Frenzy tournament.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/frenzy" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/frenzy"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/frenzy';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (400):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 51
vary: Origin
 

{
    "message": "Tournament is not Frenzy",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
    "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
    "line": 1248,
    "trace": [
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 45,
            "function": "abort",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 65,
            "function": "abort"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/app/Http/Controllers/API/FrenzyController.php",
            "line": 39,
            "function": "abort_if"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "summary",
            "class": "App\\Http\\Controllers\\API\\FrenzyController",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 806,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 159,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 135,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 87,
            "function": "handleRequestUsingNamedLimiter",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 25,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 26,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 807,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 784,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 748,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 737,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 200,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php",
            "line": 19,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/nova/src/Http/Middleware/ServeNova.php",
            "line": 23,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Nova\\Http\\Middleware\\ServeNova",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 59,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 99,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 175,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 144,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 300,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 288,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 91,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 44,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 236,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 125,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 72,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 50,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 53,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 662,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 211,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Command/Command.php",
            "line": 326,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 181,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 1096,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 324,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 175,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 201,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/frenzy

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 7

Max Matchplay summary

requires authentication

Get a summary of games, available players and current status for a Max Matchplay tournament.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/max-matchplay" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/max-matchplay"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/max-matchplay';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (400):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 50
vary: Origin
 

{
    "message": "Tournament is not Max Match Play",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
    "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
    "line": 1248,
    "trace": [
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 45,
            "function": "abort",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 65,
            "function": "abort"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/app/Http/Controllers/API/MaxMatchplayController.php",
            "line": 32,
            "function": "abort_if"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "summary",
            "class": "App\\Http\\Controllers\\API\\MaxMatchplayController",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 806,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 159,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 135,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 87,
            "function": "handleRequestUsingNamedLimiter",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 25,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 26,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 807,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 784,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 748,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 737,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 200,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php",
            "line": 19,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/nova/src/Http/Middleware/ServeNova.php",
            "line": 23,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Nova\\Http\\Middleware\\ServeNova",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 59,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 99,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 175,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 144,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 300,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 288,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 91,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 44,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 236,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 125,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 72,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 50,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 53,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 662,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 211,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Command/Command.php",
            "line": 326,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 181,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 1096,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 324,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 175,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 201,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/max-matchplay

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 14

Get single player games

requires authentication

Single player games are used in Best Game tournaments and any other tournament where a player is playing games by themself.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/single-player-games?player=7&arena=9&bestGame=1&status=hic&orderBy=quam" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/single-player-games"
);

const params = {
    "player": "7",
    "arena": "9",
    "bestGame": "1",
    "status": "hic",
    "orderBy": "quam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/single-player-games';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'player' => '7',
            'arena' => '9',
            'bestGame' => '1',
            'status' => 'hic',
            'orderBy' => 'quam',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 49
vary: Origin
 

{
    "data": [],
    "links": {
        "first": "http://localhost/api/tournaments/1/single-player-games?page=1",
        "last": "http://localhost/api/tournaments/1/single-player-games?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": null,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "http://localhost/api/tournaments/1/single-player-games?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "path": "http://localhost/api/tournaments/1/single-player-games",
        "per_page": 25,
        "to": null,
        "total": 0
    }
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/single-player-games

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 9

Query Parameters

player   integer  optional  

The id of player to get games for Example: 7

arena   integer  optional  

The id of the arena to get games for Example: 9

bestGame   boolean  optional  

Filter only on best games or non-best games Example: true

status   string  optional  

Filter on game status. Possible values: pending, started, completed Example: hic

orderBy   string  optional  

How to sort games. Possible values: score, createdAt. Default value: score Example: quam

page   integer  optional  

Which page of results to get. Defaults to 1.

Export single player games as CSV

requires authentication

Get a CSV file of single player games from a tournament. Single player games are used in Best Game tournaments and any other tournament where a player is playing games by themself.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/single-player-games/csv?player=9&arena=8&bestGame=&status=autem&orderBy=at" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/single-player-games/csv"
);

const params = {
    "player": "9",
    "arena": "8",
    "bestGame": "0",
    "status": "autem",
    "orderBy": "at",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/single-player-games/csv';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'player' => '9',
            'arena' => '8',
            'bestGame' => '0',
            'status' => 'autem',
            'orderBy' => 'at',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

GET api/tournaments/{tournament_tournament_id}/single-player-games/csv

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 5

Query Parameters

player   integer  optional  

The id of player to get games for Example: 9

arena   integer  optional  

The id of the arena to get games for Example: 8

bestGame   boolean  optional  

Filter only on best games or non-best games Example: false

status   string  optional  

Filter on game status. Possible values: pending, started, completed Example: autem

orderBy   string  optional  

How to sort games. Possible values: score, createdAt. Default value: score Example: at

page   integer  optional  

Which page of results to get. Defaults to 1.

Get the top 5 scores for each arena in the tournament

requires authentication

Games are sorted by score, but not grouped in any way

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/single-player-games/top-scores" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/single-player-games/top-scores"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/single-player-games/top-scores';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 48
vary: Origin
 

{
    "data": []
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/single-player-games/top-scores

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 1

Get single player game

requires authentication

Get a specific single player game from a tournament.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/single-player-games/1" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/single-player-games/1"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/single-player-games/1';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (400):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 47
vary: Origin
 

{
    "message": "Game not in tournament",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
    "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
    "line": 1248,
    "trace": [
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 45,
            "function": "abort",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 65,
            "function": "abort"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/app/Http/Controllers/API/SinglePlayerGameController.php",
            "line": 140,
            "function": "abort_if"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "show",
            "class": "App\\Http\\Controllers\\API\\SinglePlayerGameController",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 806,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 159,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 135,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 87,
            "function": "handleRequestUsingNamedLimiter",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 25,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 26,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 807,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 784,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 748,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 737,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 200,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php",
            "line": 19,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/nova/src/Http/Middleware/ServeNova.php",
            "line": 23,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Nova\\Http\\Middleware\\ServeNova",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 59,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 99,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 175,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 144,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 300,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 288,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 91,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 44,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 236,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 125,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 72,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 50,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 53,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 662,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 211,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Command/Command.php",
            "line": 326,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 181,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 1096,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 324,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 175,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 201,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/single-player-games/{singlePlayerGame_game_id}

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

singlePlayerGame_game_id   integer   

The ID of the singlePlayerGame game. Example: 1

tournament   integer   

The id of the tournament Example: 19

singlePlayerGame   integer   

The id of the game Example: 11

Get cards

requires authentication

Cards are only used in Card-based Best Game tournaments.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/cards?player=14&bestGame=1&status=soluta" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/cards"
);

const params = {
    "player": "14",
    "bestGame": "1",
    "status": "soluta",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/cards';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'player' => '14',
            'bestGame' => '1',
            'status' => 'soluta',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 46
vary: Origin
 

{
    "data": [],
    "links": {
        "first": "http://localhost/api/tournaments/1/cards?page=1",
        "last": "http://localhost/api/tournaments/1/cards?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": null,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "« Previous",
                "active": false
            },
            {
                "url": "http://localhost/api/tournaments/1/cards?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next »",
                "active": false
            }
        ],
        "path": "http://localhost/api/tournaments/1/cards",
        "per_page": 25,
        "to": null,
        "total": 0
    }
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/cards

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 15

Query Parameters

player   integer  optional  

The id of player to get games for Example: 14

bestGame   boolean  optional  

Filter only on best games or non-best games Example: true

status   string  optional  

Filter on card status. Possible values: pending, started, completed Example: soluta

page   integer  optional  

Which page of results to get. Defaults to 1.

Get card

requires authentication

Get a single card from a Card-based Best Game tournament

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/cards/1" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/cards/1"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/cards/1';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 45
vary: Origin
 

{
    "data": {
        "cardId": 1,
        "tournamentId": 6221,
        "playerId": 10043,
        "status": "completed",
        "bestGame": true,
        "createdAt": "2016-12-24T20:44:32.000000Z",
        "updatedAt": "2016-12-24T20:45:30.000000Z",
        "singlePlayerGames": [
            {
                "singlePlayerGameId": 90840,
                "arenaId": 11561,
                "tournamentId": 6221,
                "playerId": 10043,
                "scorekeeperId": 738,
                "status": "completed",
                "points": "100.00",
                "score": 94935040,
                "bestGame": true,
                "index": 0,
                "createdAt": "2016-12-24T20:44:32.000000Z",
                "updatedAt": "2016-12-24T21:11:29.000000Z",
                "cardId": 1
            },
            {
                "singlePlayerGameId": 90841,
                "arenaId": 3792,
                "tournamentId": 6221,
                "playerId": 10043,
                "scorekeeperId": 738,
                "status": "completed",
                "points": "90.00",
                "score": 997170165,
                "bestGame": true,
                "index": 1,
                "createdAt": "2016-12-24T20:44:32.000000Z",
                "updatedAt": "2016-12-24T21:11:29.000000Z",
                "cardId": 1
            },
            {
                "singlePlayerGameId": 90842,
                "arenaId": 4882,
                "tournamentId": 6221,
                "playerId": 10043,
                "scorekeeperId": 738,
                "status": "completed",
                "points": "85.00",
                "score": 1379850,
                "bestGame": true,
                "index": 2,
                "createdAt": "2016-12-24T20:44:32.000000Z",
                "updatedAt": "2016-12-24T21:11:29.000000Z",
                "cardId": 1
            },
            {
                "singlePlayerGameId": 90843,
                "arenaId": 3791,
                "tournamentId": 6221,
                "playerId": 10043,
                "scorekeeperId": 738,
                "status": "completed",
                "points": "100.00",
                "score": 91850,
                "bestGame": true,
                "index": 3,
                "createdAt": "2016-12-24T20:44:32.000000Z",
                "updatedAt": "2016-12-24T21:11:29.000000Z",
                "cardId": 1
            },
            {
                "singlePlayerGameId": 90844,
                "arenaId": 3797,
                "tournamentId": 6221,
                "playerId": 10043,
                "scorekeeperId": 738,
                "status": "completed",
                "points": "84.00",
                "score": 311030,
                "bestGame": true,
                "index": 4,
                "createdAt": "2016-12-24T20:44:32.000000Z",
                "updatedAt": "2016-12-24T21:11:29.000000Z",
                "cardId": 1
            }
        ],
        "singlePlayerGameIds": [
            90840,
            90841,
            90842,
            90843,
            90844
        ],
        "arenaIds": [
            11561,
            3792,
            4882,
            3791,
            3797
        ],
        "points": 459
    }
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/cards/{card_card_id}

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

card_card_id   integer   

The ID of the card card. Example: 1

tournament   integer   

The id of the tournament Example: 7

card   integer   

The id of the card Example: 5

Get tournament queues

requires authentication

For a Best Game tournament get a list of all virtual queues, grouped by arena

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/queues" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/queues"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/queues';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (403):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 44
vary: Origin
 

{
    "message": "Tournament is not Best Game.",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
    "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
    "line": 1248,
    "trace": [
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 45,
            "function": "abort",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 65,
            "function": "abort"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/app/Http/Controllers/API/GameQueueController.php",
            "line": 38,
            "function": "abort_if"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "index",
            "class": "App\\Http\\Controllers\\API\\GameQueueController",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 806,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authorize.php",
            "line": 57,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Auth\\Middleware\\Authorize",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 159,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 135,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 87,
            "function": "handleRequestUsingNamedLimiter",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 25,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 26,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 807,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 784,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 748,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 737,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 200,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php",
            "line": 19,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/nova/src/Http/Middleware/ServeNova.php",
            "line": 23,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Nova\\Http\\Middleware\\ServeNova",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 59,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 99,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 175,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 144,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 300,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 288,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 91,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 44,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 236,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 125,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 72,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 50,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 53,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 662,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 211,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Command/Command.php",
            "line": 326,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 181,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 1096,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 324,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 175,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 201,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/queues

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 1

Matchplay stats

requires authentication

Get various stats for matchplay style tournaments

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/stats/matchplay" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/stats/matchplay"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/stats/matchplay';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 43
vary: Origin
 

{
    "avgGamesPerPlayer": 7,
    "totalGames": 14
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/stats/matchplay

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament. Example: 3624

Rounds stats

requires authentication

Get various stats about the rounds of a match play style tournaments

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/stats/rounds" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/stats/rounds"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/stats/rounds';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 42
vary: Origin
 

[]
 

Request   

GET api/tournaments/{tournament_tournament_id}/stats/rounds

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament. Example: 3624

Arena stats for match play style

requires authentication

Get various stats for arenas in matchplay style tournaments

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/stats/arenas" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/stats/arenas"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/stats/arenas';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 41
vary: Origin
 

[]
 

Request   

GET api/tournaments/{tournament_tournament_id}/stats/arenas

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament. Example: 3624

Player stats for match play style

requires authentication

Get various stats for players in matchplay style tournaments

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/stats/players" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/stats/players"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/stats/players';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 40
vary: Origin
 

{
    "positionCounts": [
        {
            "0": 7,
            "playerId": 1
        },
        {
            "0": 7,
            "playerId": 2
        },
        {
            "0": 7,
            "playerId": 3
        },
        {
            "0": 7,
            "playerId": 4
        }
    ],
    "arenaCounts": [
        {
            "1": 2,
            "2": 1,
            "4": 3,
            "3": 1,
            "playerId": 1
        },
        {
            "1": 2,
            "2": 1,
            "4": 2,
            "3": 2,
            "playerId": 2
        },
        {
            "2": 3,
            "1": 1,
            "3": 1,
            "4": 2,
            "playerId": 3
        },
        {
            "2": 1,
            "1": 3,
            "4": 1,
            "3": 2,
            "playerId": 4
        }
    ],
    "opponentCounts": [
        {
            "2": 2,
            "4": 3,
            "3": 2,
            "playerId": 1
        },
        {
            "1": 2,
            "3": 3,
            "4": 2,
            "playerId": 2
        },
        {
            "4": 2,
            "2": 3,
            "1": 2,
            "playerId": 3
        },
        {
            "3": 2,
            "1": 3,
            "2": 2,
            "playerId": 4
        }
    ]
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/stats/players

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament. Example: 3624

Matches stats for match play style

requires authentication

Get various stats for matches in matchplay style tournaments

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/stats/matches" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/stats/matches"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/stats/matches';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (400):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 39
vary: Origin
 

{
    "message": "This tournament does not have a definite duration. Give the tournament a specific duration.",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
    "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
    "line": 1248,
    "trace": [
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 45,
            "function": "abort",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 65,
            "function": "abort"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/app/Http/Controllers/API/TournamentStatsController.php",
            "line": 462,
            "function": "abort_if"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "matches",
            "class": "App\\Http\\Controllers\\API\\TournamentStatsController",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 806,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 159,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 135,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 87,
            "function": "handleRequestUsingNamedLimiter",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 25,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 26,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 807,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 784,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 748,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 737,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 200,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php",
            "line": 19,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/nova/src/Http/Middleware/ServeNova.php",
            "line": 23,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Nova\\Http\\Middleware\\ServeNova",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 59,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 99,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 175,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 144,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 300,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 288,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 91,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 44,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 236,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 125,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 72,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 50,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 53,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 662,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 211,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Command/Command.php",
            "line": 326,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 181,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 1096,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 324,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 175,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 201,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/stats/matches

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament. Example: 3624

Best Game stats

requires authentication

Get various stats for Best Game tournaments

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/stats/bestgame" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/stats/bestgame"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/stats/bestgame';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (400):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 38
vary: Origin
 

{
    "message": "Tournament is not Best Game style.",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
    "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
    "line": 1248,
    "trace": [
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 45,
            "function": "abort",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 65,
            "function": "abort"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/app/Http/Controllers/API/TournamentStatsController.php",
            "line": 30,
            "function": "abort_if"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "bestgame",
            "class": "App\\Http\\Controllers\\API\\TournamentStatsController",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 806,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 159,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 135,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 87,
            "function": "handleRequestUsingNamedLimiter",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 25,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 26,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 807,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 784,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 748,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 737,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 200,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php",
            "line": 19,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/nova/src/Http/Middleware/ServeNova.php",
            "line": 23,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Nova\\Http\\Middleware\\ServeNova",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 59,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 99,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 175,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 144,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 300,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 288,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 91,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 44,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 236,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 125,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 72,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 50,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 53,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 662,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 211,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Command/Command.php",
            "line": 326,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 181,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 1096,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 324,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 175,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 201,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/stats/bestgame

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament. Example: 3624

Export tournament players as CSV

requires authentication

Get a CSV file of players in a tournament with their IFPA id, if they have one.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/players/csv" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/players/csv"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/players/csv';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

GET api/tournaments/{tournament_tournament_id}/players/csv

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 1

Best Game summary

requires authentication

For a Best Game tournament get a summary of all arenas with number of games played, current queue size and the best score

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/arenas/bgsummary" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/arenas/bgsummary"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/arenas/bgsummary';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (400):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 37
vary: Origin
 

{
    "message": "Tournament is not Best Game",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
    "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
    "line": 1248,
    "trace": [
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 45,
            "function": "abort",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 65,
            "function": "abort"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/app/Http/Controllers/API/BestGameArenaController.php",
            "line": 33,
            "function": "abort_if"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "summary",
            "class": "App\\Http\\Controllers\\API\\BestGameArenaController",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 806,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 159,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 135,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 87,
            "function": "handleRequestUsingNamedLimiter",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 25,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 26,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 807,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 784,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 748,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 737,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 200,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php",
            "line": 19,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/nova/src/Http/Middleware/ServeNova.php",
            "line": 23,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Nova\\Http\\Middleware\\ServeNova",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 59,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 99,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 175,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 144,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 300,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 288,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 91,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 44,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 236,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 125,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 72,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 50,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 53,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 662,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 211,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Command/Command.php",
            "line": 326,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 181,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 1096,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 324,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 175,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 201,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/arenas/bgsummary

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 11

Best Game details

requires authentication

For a Best Game tournament get a summary for a specific arena including single player games and the current queue.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/arenas/1/bgdetails" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/arenas/1/bgdetails"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/arenas/1/bgdetails';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (400):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 36
vary: Origin
 

{
    "message": "Tournament is not Best Game",
    "exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
    "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
    "line": 1248,
    "trace": [
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 45,
            "function": "abort",
            "class": "Illuminate\\Foundation\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php",
            "line": 65,
            "function": "abort"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/app/Http/Controllers/API/BestGameArenaController.php",
            "line": 90,
            "function": "abort_if"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
            "line": 54,
            "function": "details",
            "class": "App\\Http\\Controllers\\API\\BestGameArenaController",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php",
            "line": 43,
            "function": "callAction",
            "class": "Illuminate\\Routing\\Controller",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 260,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\ControllerDispatcher",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
            "line": 205,
            "function": "runController",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 806,
            "function": "run",
            "class": "Illuminate\\Routing\\Route",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Routing\\{closure}",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php",
            "line": 50,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 159,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 135,
            "function": "handleRequest",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
            "line": 87,
            "function": "handleRequestUsingNamedLimiter",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 25,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Laravel\\Sanctum\\Http\\Middleware\\{closure}",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/sanctum/src/Http/Middleware/EnsureFrontendRequestsAreStateful.php",
            "line": 26,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 807,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 784,
            "function": "runRouteWithinStack",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 748,
            "function": "runRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
            "line": 737,
            "function": "dispatchToRoute",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 200,
            "function": "dispatch",
            "class": "Illuminate\\Routing\\Router",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 144,
            "function": "Illuminate\\Foundation\\Http\\{closure}",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php",
            "line": 19,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Livewire\\Features\\SupportDisablingBackButtonCache\\DisableBackButtonCacheMiddleware",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/nova/src/Http/Middleware/ServeNova.php",
            "line": 23,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Laravel\\Nova\\Http\\Middleware\\ServeNova",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php",
            "line": 59,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Barryvdh\\Debugbar\\Middleware\\InjectDebugbar",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php",
            "line": 31,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
            "line": 21,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
            "line": 40,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php",
            "line": 27,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
            "line": 99,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
            "line": 62,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\HandleCors",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
            "line": 39,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 183,
            "function": "handle",
            "class": "Illuminate\\Http\\Middleware\\TrustProxies",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
            "line": 119,
            "function": "Illuminate\\Pipeline\\{closure}",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 175,
            "function": "then",
            "class": "Illuminate\\Pipeline\\Pipeline",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
            "line": 144,
            "function": "sendRequestThroughRouter",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 300,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Http\\Kernel",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 288,
            "function": "callLaravelOrLumenRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 91,
            "function": "makeApiCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 44,
            "function": "makeResponseCall",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
            "line": 35,
            "function": "makeResponseCallIfConditionsPass",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 236,
            "function": "__invoke",
            "class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 166,
            "function": "iterateThroughStrategies",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
            "line": 95,
            "function": "fetchResponses",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 125,
            "function": "processRoute",
            "class": "Knuckles\\Scribe\\Extracting\\Extractor",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 72,
            "function": "extractEndpointsInfoFromLaravelApp",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
            "line": 50,
            "function": "extractEndpointsInfoAndWriteToDisk",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
            "line": 53,
            "function": "get",
            "class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 36,
            "function": "handle",
            "class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Util.php",
            "line": 41,
            "function": "Illuminate\\Container\\{closure}",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 93,
            "function": "unwrapIfClosure",
            "class": "Illuminate\\Container\\Util",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
            "line": 37,
            "function": "callBoundMethod",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Container/Container.php",
            "line": 662,
            "function": "call",
            "class": "Illuminate\\Container\\BoundMethod",
            "type": "::"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 211,
            "function": "call",
            "class": "Illuminate\\Container\\Container",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Command/Command.php",
            "line": 326,
            "function": "execute",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
            "line": 181,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Command\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 1096,
            "function": "run",
            "class": "Illuminate\\Console\\Command",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 324,
            "function": "doRunCommand",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
            "line": 175,
            "function": "doRun",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
            "line": 201,
            "function": "run",
            "class": "Symfony\\Component\\Console\\Application",
            "type": "->"
        },
        {
            "file": "/Users/andreas/code/matchplay-v2/artisan",
            "line": 37,
            "function": "handle",
            "class": "Illuminate\\Foundation\\Console\\Kernel",
            "type": "->"
        }
    ]
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/arenas/{arena_arena_id}/bgdetails

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

arena_arena_id   integer   

The ID of the arena arena. Example: 1

tournament   integer   

The id of the tournament Example: 19

arena   integer  optional  

The id of the arena Example: 5

Get games in tournament

requires authentication

Get matchplay games for a tournament.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/games?player=18&arena=1&bank=13&status=amet" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/games"
);

const params = {
    "player": "18",
    "arena": "1",
    "bank": "13",
    "status": "amet",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/games';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'player' => '18',
            'arena' => '1',
            'bank' => '13',
            'status' => 'amet',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 35
vary: Origin
 

{
    "data": []
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/games

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 7

Query Parameters

player   integer  optional  

Filter by player id Example: 18

arena   integer  optional  

Filter by arena id Example: 1

round   integer  optional  

Filter by round id. Pass the value latest to get games from the latest round. Pass the value activeOrLatest to get games from all active rounds or the latest round if no rounds are active.

bank   integer  optional  

Filter by bank id Example: 13

status   string  optional  

Filter by status. Possible values: started, completed Example: amet

Export games as CSV

requires authentication

Get CSV file of matchplay game results for a tournament.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/games/csv?player=20&arena=1&round=14&bank=3&status=maxime" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/games/csv"
);

const params = {
    "player": "20",
    "arena": "1",
    "round": "14",
    "bank": "3",
    "status": "maxime",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/games/csv';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
        'query' => [
            'player' => '20',
            'arena' => '1',
            'round' => '14',
            'bank' => '3',
            'status' => 'maxime',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):


{}
 

Request   

GET api/tournaments/{tournament_tournament_id}/games/csv

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 4

Query Parameters

player   integer  optional  

Filter by player id Example: 20

arena   integer  optional  

Filter by arena id Example: 1

round   integer  optional  

Filter by round id Example: 14

bank   integer  optional  

Filter by bank id Example: 3

status   string  optional  

Filter by status. Possible values: started, completed Example: maxime

Get game

requires authentication

Get a single matchplay game from a tournament

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/games/1" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/games/1"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/games/1';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 34
vary: Origin
 

{
    "data": {
        "gameId": 1,
        "roundId": 1,
        "tournamentId": 1,
        "arenaId": 1,
        "bankId": null,
        "index": null,
        "set": 0,
        "playerIdAdvantage": 2,
        "scorekeeperId": null,
        "status": "completed",
        "startedAt": null,
        "duration": null,
        "bye": false,
        "playerIds": [
            1,
            2
        ],
        "userIds": [
            1,
            2
        ],
        "resultPositions": [
            2,
            1
        ],
        "resultPoints": [
            "0.00",
            "1.00"
        ],
        "resultScores": [
            null,
            null
        ],
        "arena": {
            "arenaId": 1,
            "name": "Black Pyramid",
            "status": "active",
            "opdbId": "GRVnY-MDz0l",
            "categoryId": 2,
            "organizerId": 1
        },
        "suggestions": []
    }
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/games/{game_game_id}

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

game_game_id   integer   

The ID of the game game. Example: 1

tournament   integer   

The id of the tournament. Example: 50032

game   integer   

The id of the game. Example: 1347947

Get rounds

requires authentication

Get rounds for a tournament. Will include the games and results for each round.

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/rounds" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/rounds"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/rounds';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 33
vary: Origin
 

{
    "data": [
        {
            "roundId": 315,
            "tournamentId": 1,
            "arenaId": null,
            "score": null,
            "index": 6,
            "name": "Round 7",
            "status": "completed",
            "duration": null,
            "createdAt": "2015-02-28 00:52:59Z",
            "completedAt": null
        },
        {
            "roundId": 314,
            "tournamentId": 1,
            "arenaId": null,
            "score": null,
            "index": 5,
            "name": "Round 6",
            "status": "completed",
            "duration": null,
            "createdAt": "2015-02-28 00:52:54Z",
            "completedAt": null
        },
        {
            "roundId": 159,
            "tournamentId": 1,
            "arenaId": null,
            "score": null,
            "index": 4,
            "name": "Round 5",
            "status": "completed",
            "duration": null,
            "createdAt": "2015-02-19 18:45:20Z",
            "completedAt": null
        },
        {
            "roundId": 42,
            "tournamentId": 1,
            "arenaId": null,
            "score": null,
            "index": 3,
            "name": "Round 4",
            "status": "completed",
            "duration": null,
            "createdAt": "2015-01-19 18:04:33Z",
            "completedAt": null
        },
        {
            "roundId": 3,
            "tournamentId": 1,
            "arenaId": null,
            "score": null,
            "index": 2,
            "name": "Round 3",
            "status": "completed",
            "duration": null,
            "createdAt": "2015-01-18 17:48:53Z",
            "completedAt": null
        },
        {
            "roundId": 2,
            "tournamentId": 1,
            "arenaId": null,
            "score": null,
            "index": 1,
            "name": "Round 2",
            "status": "completed",
            "duration": null,
            "createdAt": "2015-01-18 17:23:09Z",
            "completedAt": null
        },
        {
            "roundId": 1,
            "tournamentId": 1,
            "arenaId": null,
            "score": null,
            "index": 0,
            "name": "Round 1",
            "status": "completed",
            "duration": null,
            "createdAt": "2015-01-18 17:20:28Z",
            "completedAt": null
        }
    ]
}
 

Request   

GET api/tournaments/{tournament_tournament_id}/rounds

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament Example: 15

Get standings

requires authentication

Example request:
curl --request GET \
    --get "https://app.matchplay.events/api/tournaments/1/standings" \
    --header "Authorization: Bearer YOUR_API_TOKEN" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://app.matchplay.events/api/tournaments/1/standings"
);

const headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());
$client = new \GuzzleHttp\Client();
$url = 'https://app.matchplay.events/api/tournaments/1/standings';
$response = $client->get(
    $url,
    [
        'headers' => [
            'Authorization' => 'Bearer YOUR_API_TOKEN',
            'Content-Type' => 'application/json',
            'Accept' => 'application/json',
        ],
    ]
);
$body = $response->getBody();
print_r(json_decode((string) $body));

Example response (200):

Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 32
vary: Origin
 

[
    {
        "playerId": 2,
        "position": 1,
        "points": "7.00",
        "pointsWithTiebreaker": null,
        "gamesPlayed": 7,
        "strikeCount": 0,
        "adjustment": 0,
        "frenzyWins": null,
        "frenzyLosses": null,
        "tiebreakers": [
            "7.00"
        ],
        "activeGames": [],
        "activeGameColor": null
    },
    {
        "playerId": 4,
        "position": 2,
        "points": "3.00",
        "pointsWithTiebreaker": null,
        "gamesPlayed": 7,
        "strikeCount": 0,
        "adjustment": 0,
        "frenzyWins": null,
        "frenzyLosses": null,
        "tiebreakers": [
            "3.00"
        ],
        "activeGames": [],
        "activeGameColor": null
    },
    {
        "playerId": 1,
        "position": 3,
        "points": "2.00",
        "pointsWithTiebreaker": null,
        "gamesPlayed": 7,
        "strikeCount": 0,
        "adjustment": 0,
        "frenzyWins": null,
        "frenzyLosses": null,
        "tiebreakers": [
            "2.00"
        ],
        "activeGames": [],
        "activeGameColor": null
    },
    {
        "playerId": 3,
        "position": 3,
        "points": "2.00",
        "pointsWithTiebreaker": null,
        "gamesPlayed": 7,
        "strikeCount": 0,
        "adjustment": 0,
        "frenzyWins": null,
        "frenzyLosses": null,
        "tiebreakers": [
            "2.00"
        ],
        "activeGames": [],
        "activeGameColor": null
    }
]
 

Request   

GET api/tournaments/{tournament_tournament_id}/standings

Headers

Authorization      

Example: Bearer YOUR_API_TOKEN

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

tournament_tournament_id   integer   

The ID of the tournament tournament. Example: 1

tournament   integer   

The id of the tournament. Example: 3624