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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": []
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Search ratings
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Search
Search tournaments and users
Perform search
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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": []
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": []
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": []
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "->"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "->"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "->"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": []
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "->"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "->"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
[]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
[]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "->"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "->"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "->"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": "->"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": []
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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):
{}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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": []
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
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
}
]
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.