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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/arenas',
[
'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://next.matchplay.events/api/dashboard" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.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();
$response = $client->get(
'https://next.matchplay.events/api/dashboard',
[
'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://next.matchplay.events/api/games?player=14&arena=1&round=15&bank=14&status=non" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/games"
);
const params = {
"player": "14",
"arena": "1",
"round": "15",
"bank": "14",
"status": "non",
};
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();
$response = $client->get(
'https://next.matchplay.events/api/games',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'player' => '14',
'arena' => '1',
'round' => '15',
'bank' => '14',
'status' => 'non',
],
]
);
$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://next.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://next.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();
$response = $client->post(
'https://next.matchplay.events/api/ifpa/wppr-estimator',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/locations',
[
'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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/pintips',
[
'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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/players',
[
'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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/users/profile',
[
'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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/users/1',
[
'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": 604,
"userId": 1,
"ifpaId": 15925,
"name": "Andreas Haugstrup Pedersen",
"rating": 1650,
"rd": 42,
"calculatedRd": 115,
"lowerBound": 1419,
"lastRatingPeriod": "2020-03-05T00:00:00.000000Z",
"rank": 5231
},
"ifpa": {
"ifpaId": 15925,
"name": "Andreas Haugstrup Pedersen",
"rank": null,
"rating": 1502.27,
"ratingRank": 1792,
"womensRank": null,
"totalEvents": 162,
"initials": "AHP",
"city": "San Francisco",
"state": "CA",
"countryCode": "DK",
"countryName": "Denmark",
"updatedAt": "2023-09-01T02:56:17.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://next.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://next.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();
$response = $client->post(
'https://next.matchplay.events/api/ratings/compare',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
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://next.matchplay.events/api/ratings/1/sit" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/ratings/1/sit"
);
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();
$response = $client->get(
'https://next.matchplay.events/api/ratings/1/sit',
[
'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://next.matchplay.events/api/ratings/1/consequatur/summary" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/ratings/1/consequatur/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();
$response = $client->get(
'https://next.matchplay.events/api/ratings/1/consequatur/summary',
[
'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://next.matchplay.events/api/ratings" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.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();
$response = $client->get(
'https://next.matchplay.events/api/ratings',
[
'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://next.matchplay.events/api/ifpa/iste/rating-history" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/ifpa/iste/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();
$response = $client->get(
'https://next.matchplay.events/api/ifpa/iste/rating-history',
[
'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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/rating-periods',
[
'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://next.matchplay.events/api/rating-periods/et" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/rating-periods/et"
);
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();
$response = $client->get(
'https://next.matchplay.events/api/rating-periods/et',
[
'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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/rating-submissions',
[
'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://next.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://next.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();
$response = $client->post(
'https://next.matchplay.events/api/rating-submissions',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/rating-submissions/1',
[
'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://next.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://next.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();
$response = $client->post(
'https://next.matchplay.events/api/rating-submissions/1/ifpa',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/search',
[
'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",
"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": "MatchPlay 😍 TestDevice",
"ifpaId": null,
"role": "player",
"flag": "dk",
"location": "San Francisco",
"pronouns": "they",
"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": "started",
"type": "group_matchplay",
"startUtc": "2022-08-11T15:02:00.000000Z",
"startLocal": "2022-08-11 08:02:00",
"completedAt": null,
"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": "MatchPlay 😍 TestDevice",
"ifpaId": null,
"role": "player",
"flag": "dk",
"location": "San Francisco",
"pronouns": "they",
"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",
"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": "MatchPlay 😍 TestDevice",
"ifpaId": null,
"role": "player",
"flag": "dk",
"location": "San Francisco",
"pronouns": "they",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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",
"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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/series',
[
'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://next.matchplay.events/api/series/1?includeDetails=" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/series/1"
);
const params = {
"includeDetails": "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();
$response = $client->get(
'https://next.matchplay.events/api/series/1',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'includeDetails' => '0',
],
]
);
$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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/series/1/stats/attendance',
[
'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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/series/1/stats',
[
'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://next.matchplay.events/api/tournaments?owner=1993&status=completed&series=6" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/tournaments"
);
const params = {
"owner": "1993",
"status": "completed",
"series": "6",
};
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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'owner' => '1993',
'status' => 'completed',
'series' => '6',
],
]
);
$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
{
"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://next.matchplay.events/api/tournaments/1?includePlayers=1&includeArenas=&includeBanks=&includeScorekeepers=&includeSeries=&includeLocation=&includeRsvpConfiguration=&includeParent=1&includePlayoffs=&includeShortcut=1" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/tournaments/1"
);
const params = {
"includePlayers": "1",
"includeArenas": "0",
"includeBanks": "0",
"includeScorekeepers": "0",
"includeSeries": "0",
"includeLocation": "0",
"includeRsvpConfiguration": "0",
"includeParent": "1",
"includePlayoffs": "0",
"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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'includePlayers' => '1',
'includeArenas' => '0',
'includeBanks' => '0',
'includeScorekeepers' => '0',
'includeSeries' => '0',
'includeLocation' => '0',
'includeRsvpConfiguration' => '0',
'includeParent' => '1',
'includePlayoffs' => '0',
'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: 54
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",
"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"
},
"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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/amazing-race',
[
'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: 53
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": 1147,
"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": 35,
"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": 798,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"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": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"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": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 141,
"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": 116,
"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": 180,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/DisableBrowserCache.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": 180,
"function": "handle",
"class": "Livewire\\DisableBrowserCache",
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 180,
"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": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"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": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"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": 92,
"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": 45,
"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": 209,
"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": 124,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 71,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 49,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 51,
"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": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"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": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 1063,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 320,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 174,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/frenzy',
[
'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 Frenzy",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
"line": 1147,
"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": 37,
"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": 798,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"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": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"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": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 141,
"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": 116,
"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": 180,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/DisableBrowserCache.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": 180,
"function": "handle",
"class": "Livewire\\DisableBrowserCache",
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 180,
"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": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"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": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"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": 92,
"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": 45,
"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": 209,
"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": 124,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 71,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 49,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 51,
"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": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"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": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 1063,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 320,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 174,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/max-matchplay',
[
'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 Max Match Play",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
"line": 1147,
"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": 798,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"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": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"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": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 141,
"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": 116,
"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": 180,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/DisableBrowserCache.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": 180,
"function": "handle",
"class": "Livewire\\DisableBrowserCache",
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 180,
"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": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"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": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"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": 92,
"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": 45,
"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": 209,
"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": 124,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 71,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 49,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 51,
"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": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"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": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 1063,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 320,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 174,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\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://next.matchplay.events/api/tournaments/1/single-player-games?player=19&arena=12&bestGame=&status=eos&orderBy=ut" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/tournaments/1/single-player-games"
);
const params = {
"player": "19",
"arena": "12",
"bestGame": "0",
"status": "eos",
"orderBy": "ut",
};
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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/single-player-games',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'player' => '19',
'arena' => '12',
'bestGame' => '0',
'status' => 'eos',
'orderBy' => 'ut',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 50
vary: Origin
{
"message": "Too few arguments to function App\\SinglePlayerGameFilters::bestGame(), 0 passed in /Users/andreas/code/matchplay-v2/app/QueryFilters.php on line 52 and exactly 1 expected",
"exception": "ArgumentCountError",
"file": "/Users/andreas/code/matchplay-v2/app/SinglePlayerGameFilters.php",
"line": 24,
"trace": [
{
"file": "/Users/andreas/code/matchplay-v2/app/QueryFilters.php",
"line": 52,
"function": "bestGame",
"class": "App\\SinglePlayerGameFilters",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/app/Filterable.php",
"line": 18,
"function": "apply",
"class": "App\\QueryFilters",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php",
"line": 1623,
"function": "scopeFilter",
"class": "App\\Models\\SinglePlayerGame",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
"line": 1331,
"function": "callNamedScope",
"class": "Illuminate\\Database\\Eloquent\\Model",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
"line": 1312,
"function": "Illuminate\\Database\\Eloquent\\{closure}",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
"line": 1330,
"function": "callScope",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
"line": 1865,
"function": "callNamedScope",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php",
"line": 23,
"function": "__call",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php",
"line": 52,
"function": "forwardCallTo",
"class": "Illuminate\\Database\\Eloquent\\Relations\\Relation",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php",
"line": 491,
"function": "forwardDecoratedCallTo",
"class": "Illuminate\\Database\\Eloquent\\Relations\\Relation",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/app/Http/Controllers/API/SinglePlayerGameController.php",
"line": 48,
"function": "__call",
"class": "Illuminate\\Database\\Eloquent\\Relations\\Relation",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
"line": 54,
"function": "index",
"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": 798,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"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": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"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": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 141,
"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": 116,
"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": 180,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/DisableBrowserCache.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": 180,
"function": "handle",
"class": "Livewire\\DisableBrowserCache",
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 180,
"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": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"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": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"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": 92,
"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": 45,
"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": 209,
"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": 124,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 71,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 49,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 51,
"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": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"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": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 1063,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 320,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 174,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\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 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://next.matchplay.events/api/tournaments/1/single-player-games/csv?player=16&arena=13&bestGame=&status=illum&orderBy=modi" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/tournaments/1/single-player-games/csv"
);
const params = {
"player": "16",
"arena": "13",
"bestGame": "0",
"status": "illum",
"orderBy": "modi",
};
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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/single-player-games/csv',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'player' => '16',
'arena' => '13',
'bestGame' => '0',
'status' => 'illum',
'orderBy' => 'modi',
],
]
);
$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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/single-player-games/top-scores',
[
'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: 49
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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/single-player-games/1',
[
'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: 48
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": 1147,
"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": 134,
"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": 798,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"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": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"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": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 141,
"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": 116,
"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": 180,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/DisableBrowserCache.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": 180,
"function": "handle",
"class": "Livewire\\DisableBrowserCache",
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 180,
"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": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"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": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"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": 92,
"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": 45,
"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": 209,
"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": 124,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 71,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 49,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 51,
"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": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"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": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 1063,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 320,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 174,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\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://next.matchplay.events/api/tournaments/1/cards?player=6&bestGame=&status=mollitia" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/tournaments/1/cards"
);
const params = {
"player": "6",
"bestGame": "0",
"status": "mollitia",
};
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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/cards',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'player' => '6',
'bestGame' => '0',
'status' => 'mollitia',
],
]
);
$body = $response->getBody();
print_r(json_decode((string) $body));
Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
x-ratelimit-limit: 60
x-ratelimit-remaining: 47
vary: Origin
{
"message": "Too few arguments to function App\\CardFilters::bestGame(), 0 passed in /Users/andreas/code/matchplay-v2/app/QueryFilters.php on line 52 and exactly 1 expected",
"exception": "ArgumentCountError",
"file": "/Users/andreas/code/matchplay-v2/app/CardFilters.php",
"line": 14,
"trace": [
{
"file": "/Users/andreas/code/matchplay-v2/app/QueryFilters.php",
"line": 52,
"function": "bestGame",
"class": "App\\CardFilters",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/app/Filterable.php",
"line": 18,
"function": "apply",
"class": "App\\QueryFilters",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php",
"line": 1623,
"function": "scopeFilter",
"class": "App\\Models\\Card",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
"line": 1331,
"function": "callNamedScope",
"class": "Illuminate\\Database\\Eloquent\\Model",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
"line": 1312,
"function": "Illuminate\\Database\\Eloquent\\{closure}",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
"line": 1330,
"function": "callScope",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php",
"line": 1865,
"function": "callNamedScope",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php",
"line": 23,
"function": "__call",
"class": "Illuminate\\Database\\Eloquent\\Builder",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php",
"line": 52,
"function": "forwardCallTo",
"class": "Illuminate\\Database\\Eloquent\\Relations\\Relation",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php",
"line": 491,
"function": "forwardDecoratedCallTo",
"class": "Illuminate\\Database\\Eloquent\\Relations\\Relation",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/app/Http/Controllers/API/CardController.php",
"line": 40,
"function": "__call",
"class": "Illuminate\\Database\\Eloquent\\Relations\\Relation",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Controller.php",
"line": 54,
"function": "index",
"class": "App\\Http\\Controllers\\API\\CardController",
"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": 798,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"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": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"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": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 141,
"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": 116,
"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": 180,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/DisableBrowserCache.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": 180,
"function": "handle",
"class": "Livewire\\DisableBrowserCache",
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 180,
"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": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"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": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"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": 92,
"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": 45,
"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": 209,
"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": 124,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 71,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 49,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 51,
"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": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"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": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 1063,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 320,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 174,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\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 card
requires authentication
Get a single card from a Card-based Best Game tournament
Example request:
curl --request GET \
--get "https://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/cards/1',
[
'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: 46
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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/queues',
[
'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: 45
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": 1147,
"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": 37,
"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": 798,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"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": 45,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"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": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 141,
"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": 116,
"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": 180,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/DisableBrowserCache.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": 180,
"function": "handle",
"class": "Livewire\\DisableBrowserCache",
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 180,
"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": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"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": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"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": 92,
"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": 45,
"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": 209,
"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": 124,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 71,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 49,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 51,
"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": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"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": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 1063,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 320,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 174,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/stats/matchplay',
[
'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: 44
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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/stats/rounds',
[
'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
[]
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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/stats/arenas',
[
'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.
Player stats for match play style
requires authentication
Get various stats for players in matchplay style tournaments
Example request:
curl --request GET \
--get "https://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/stats/players',
[
'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
{
"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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/stats/matches',
[
'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: 40
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": 1147,
"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": 418,
"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": 798,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"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": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"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": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 141,
"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": 116,
"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": 180,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/DisableBrowserCache.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": 180,
"function": "handle",
"class": "Livewire\\DisableBrowserCache",
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 180,
"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": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"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": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"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": 92,
"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": 45,
"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": 209,
"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": 124,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 71,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 49,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 51,
"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": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"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": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 1063,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 320,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 174,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/stats/bestgame',
[
'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": "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": 1147,
"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": 32,
"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": 798,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"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": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"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": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 141,
"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": 116,
"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": 180,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/DisableBrowserCache.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": 180,
"function": "handle",
"class": "Livewire\\DisableBrowserCache",
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 180,
"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": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"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": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"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": 92,
"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": 45,
"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": 209,
"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": 124,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 71,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 49,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 51,
"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": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"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": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 1063,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 320,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 174,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/players/csv',
[
'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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/arenas/bgsummary',
[
'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",
"exception": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
"line": 1147,
"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": 35,
"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": 798,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"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": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"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": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 141,
"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": 116,
"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": 180,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/DisableBrowserCache.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": 180,
"function": "handle",
"class": "Livewire\\DisableBrowserCache",
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 180,
"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": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"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": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"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": 92,
"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": 45,
"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": 209,
"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": 124,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 71,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 49,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 51,
"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": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"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": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 1063,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 320,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 174,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/arenas/1/bgdetails',
[
'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": 1147,
"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": 91,
"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": 798,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"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": 180,
"function": "handle",
"class": "Illuminate\\Routing\\Middleware\\SubstituteBindings",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 126,
"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": 102,
"function": "handleRequest",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php",
"line": 54,
"function": "handleRequestUsingNamedLimiter",
"class": "Illuminate\\Routing\\Middleware\\ThrottleRequests",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 141,
"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": 116,
"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": 180,
"function": "handle",
"class": "Laravel\\Sanctum\\Http\\Middleware\\EnsureFrontendRequestsAreStateful",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 799,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 776,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 740,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 729,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 190,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 141,
"function": "Illuminate\\Foundation\\Http\\{closure}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/livewire/livewire/src/DisableBrowserCache.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": 180,
"function": "handle",
"class": "Livewire\\DisableBrowserCache",
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 180,
"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": 86,
"function": "Illuminate\\Pipeline\\{closure}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"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": 180,
"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": 180,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 116,
"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": 165,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 134,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 299,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 287,
"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": 92,
"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": 45,
"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": 209,
"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": 124,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 71,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 49,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 51,
"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": 661,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 183,
"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": 153,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 1063,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 320,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/symfony/console/Application.php",
"line": 174,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Console/Application.php",
"line": 102,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/Users/andreas/code/matchplay-v2/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 155,
"function": "run",
"class": "Illuminate\\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://next.matchplay.events/api/tournaments/1/games?player=14&arena=2&round=19&bank=16&status=labore" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/tournaments/1/games"
);
const params = {
"player": "14",
"arena": "2",
"round": "19",
"bank": "16",
"status": "labore",
};
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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/games',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'player' => '14',
'arena' => '2',
'round' => '19',
'bank' => '16',
'status' => 'labore',
],
]
);
$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: 36
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://next.matchplay.events/api/tournaments/1/games/csv?player=13&arena=17&round=6&bank=7&status=illum" \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--header "Accept: application/json"
const url = new URL(
"https://next.matchplay.events/api/tournaments/1/games/csv"
);
const params = {
"player": "13",
"arena": "17",
"round": "6",
"bank": "7",
"status": "illum",
};
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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/games/csv',
[
'headers' => [
'Authorization' => 'Bearer YOUR_API_TOKEN',
'Content-Type' => 'application/json',
'Accept' => 'application/json',
],
'query' => [
'player' => '13',
'arena' => '17',
'round' => '6',
'bank' => '7',
'status' => 'illum',
],
]
);
$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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/games/1',
[
'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: 35
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,
"players": [
{
"playerId": 1,
"name": "Andreas Haugstrup Pedersen",
"ifpaId": 15925,
"status": "active",
"organizerId": 1,
"claimedBy": 1,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 2,
"name": "Per Schwarzenberger",
"ifpaId": 12220,
"status": "active",
"organizerId": 1,
"claimedBy": 2,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"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://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/rounds',
[
'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": [
{
"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,
"games": [
{
"gameId": 1767,
"roundId": 315,
"tournamentId": 1,
"arenaId": 4,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 2,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 2,
"name": "Per Schwarzenberger",
"ifpaId": 12220,
"status": "active",
"organizerId": 1,
"claimedBy": 2,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 3,
"name": "Echa Schneider",
"ifpaId": 13275,
"status": "active",
"organizerId": 1,
"claimedBy": 3,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
2,
3
],
"userIds": [
2,
3
],
"resultPositions": [
2,
3
],
"resultPoints": [
"1.00",
"0.00"
],
"resultScores": [
null,
null
],
"arena": {
"arenaId": 4,
"name": "Captain Fantastic",
"status": "active",
"opdbId": "GRveZ-MNE38",
"categoryId": 1,
"organizerId": 1
},
"suggestions": []
},
{
"gameId": 1768,
"roundId": 315,
"tournamentId": 1,
"arenaId": 3,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 4,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 1,
"name": "Andreas Haugstrup Pedersen",
"ifpaId": 15925,
"status": "active",
"organizerId": 1,
"claimedBy": 1,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 4,
"name": "Darren Ensley",
"ifpaId": 12117,
"status": "active",
"organizerId": 1,
"claimedBy": 424,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
1,
4
],
"userIds": [
1,
424
],
"resultPositions": [
4,
1
],
"resultPoints": [
"0.00",
"1.00"
],
"resultScores": [
null,
null
],
"arena": {
"arenaId": 3,
"name": "Playboy",
"status": "active",
"opdbId": "GrkOB-MJVvl",
"categoryId": 2,
"organizerId": 1
},
"suggestions": []
}
]
},
{
"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,
"games": [
{
"gameId": 1765,
"roundId": 314,
"tournamentId": 1,
"arenaId": 3,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 4,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 2,
"name": "Per Schwarzenberger",
"ifpaId": 12220,
"status": "active",
"organizerId": 1,
"claimedBy": 2,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 4,
"name": "Darren Ensley",
"ifpaId": 12117,
"status": "active",
"organizerId": 1,
"claimedBy": 424,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
2,
4
],
"userIds": [
2,
424
],
"resultPositions": [
2,
4
],
"resultPoints": [
"1.00",
"0.00"
],
"resultScores": [
null,
null
],
"arena": {
"arenaId": 3,
"name": "Playboy",
"status": "active",
"opdbId": "GrkOB-MJVvl",
"categoryId": 2,
"organizerId": 1
},
"suggestions": []
},
{
"gameId": 1766,
"roundId": 314,
"tournamentId": 1,
"arenaId": 4,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 1,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 1,
"name": "Andreas Haugstrup Pedersen",
"ifpaId": 15925,
"status": "active",
"organizerId": 1,
"claimedBy": 1,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 3,
"name": "Echa Schneider",
"ifpaId": 13275,
"status": "active",
"organizerId": 1,
"claimedBy": 3,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
1,
3
],
"userIds": [
1,
3
],
"resultPositions": [
1,
3
],
"resultPoints": [
"1.00",
"0.00"
],
"resultScores": [
null,
null
],
"arena": {
"arenaId": 4,
"name": "Captain Fantastic",
"status": "active",
"opdbId": "GRveZ-MNE38",
"categoryId": 1,
"organizerId": 1
},
"suggestions": []
}
]
},
{
"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,
"games": [
{
"gameId": 917,
"roundId": 159,
"tournamentId": 1,
"arenaId": 3,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 2,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 2,
"name": "Per Schwarzenberger",
"ifpaId": 12220,
"status": "active",
"organizerId": 1,
"claimedBy": 2,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 3,
"name": "Echa Schneider",
"ifpaId": 13275,
"status": "active",
"organizerId": 1,
"claimedBy": 3,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
2,
3
],
"userIds": [
2,
3
],
"resultPositions": [
2,
3
],
"resultPoints": [
"1.00",
"0.00"
],
"resultScores": [
null,
null
],
"arena": {
"arenaId": 3,
"name": "Playboy",
"status": "active",
"opdbId": "GrkOB-MJVvl",
"categoryId": 2,
"organizerId": 1
},
"suggestions": []
},
{
"gameId": 918,
"roundId": 159,
"tournamentId": 1,
"arenaId": 4,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 1,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 1,
"name": "Andreas Haugstrup Pedersen",
"ifpaId": 15925,
"status": "active",
"organizerId": 1,
"claimedBy": 1,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 4,
"name": "Darren Ensley",
"ifpaId": 12117,
"status": "active",
"organizerId": 1,
"claimedBy": 424,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
1,
4
],
"userIds": [
1,
424
],
"resultPositions": [
4,
1
],
"resultPoints": [
"0.00",
"1.00"
],
"resultScores": [
null,
null
],
"arena": {
"arenaId": 4,
"name": "Captain Fantastic",
"status": "active",
"opdbId": "GRveZ-MNE38",
"categoryId": 1,
"organizerId": 1
},
"suggestions": []
}
]
},
{
"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,
"games": [
{
"gameId": 196,
"roundId": 42,
"tournamentId": 1,
"arenaId": 4,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 1,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 1,
"name": "Andreas Haugstrup Pedersen",
"ifpaId": 15925,
"status": "active",
"organizerId": 1,
"claimedBy": 1,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 2,
"name": "Per Schwarzenberger",
"ifpaId": 12220,
"status": "active",
"organizerId": 1,
"claimedBy": 2,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
1,
2
],
"userIds": [
1,
2
],
"resultPositions": [
2,
1
],
"resultPoints": [
"0.00",
"1.00"
],
"resultScores": [
null,
null
],
"arena": {
"arenaId": 4,
"name": "Captain Fantastic",
"status": "active",
"opdbId": "GRveZ-MNE38",
"categoryId": 1,
"organizerId": 1
},
"suggestions": []
},
{
"gameId": 197,
"roundId": 42,
"tournamentId": 1,
"arenaId": 1,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 3,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 3,
"name": "Echa Schneider",
"ifpaId": 13275,
"status": "active",
"organizerId": 1,
"claimedBy": 3,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 4,
"name": "Darren Ensley",
"ifpaId": 12117,
"status": "active",
"organizerId": 1,
"claimedBy": 424,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
3,
4
],
"userIds": [
3,
424
],
"resultPositions": [
3,
4
],
"resultPoints": [
"1.00",
"0.00"
],
"resultScores": [
null,
null
],
"arena": {
"arenaId": 1,
"name": "Black Pyramid",
"status": "active",
"opdbId": "GRVnY-MDz0l",
"categoryId": 2,
"organizerId": 1
},
"suggestions": []
}
]
},
{
"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,
"games": [
{
"gameId": 5,
"roundId": 3,
"tournamentId": 1,
"arenaId": 1,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 4,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 2,
"name": "Per Schwarzenberger",
"ifpaId": 12220,
"status": "active",
"organizerId": 1,
"claimedBy": 2,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 4,
"name": "Darren Ensley",
"ifpaId": 12117,
"status": "active",
"organizerId": 1,
"claimedBy": 424,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
2,
4
],
"userIds": [
2,
424
],
"resultPositions": [
2,
4
],
"resultPoints": [
"1.00",
"0.00"
],
"resultScores": [
null,
null
],
"arena": {
"arenaId": 1,
"name": "Black Pyramid",
"status": "active",
"opdbId": "GRVnY-MDz0l",
"categoryId": 2,
"organizerId": 1
},
"suggestions": []
},
{
"gameId": 6,
"roundId": 3,
"tournamentId": 1,
"arenaId": 2,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 1,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 1,
"name": "Andreas Haugstrup Pedersen",
"ifpaId": 15925,
"status": "active",
"organizerId": 1,
"claimedBy": 1,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 3,
"name": "Echa Schneider",
"ifpaId": 13275,
"status": "active",
"organizerId": 1,
"claimedBy": 3,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
1,
3
],
"userIds": [
1,
3
],
"resultPositions": [
1,
3
],
"resultPoints": [
"1.00",
"0.00"
],
"resultScores": [
null,
null
],
"arena": {
"arenaId": 2,
"name": "Meteor",
"status": "active",
"opdbId": "G5b38-MDqkx",
"categoryId": 2,
"organizerId": 1
},
"suggestions": []
}
]
},
{
"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,
"games": [
{
"gameId": 3,
"roundId": 2,
"tournamentId": 1,
"arenaId": 2,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 3,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 2,
"name": "Per Schwarzenberger",
"ifpaId": 12220,
"status": "active",
"organizerId": 1,
"claimedBy": 2,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 3,
"name": "Echa Schneider",
"ifpaId": 13275,
"status": "active",
"organizerId": 1,
"claimedBy": 3,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
2,
3
],
"userIds": [
2,
3
],
"resultPositions": [
2,
3
],
"resultPoints": [
"1.00",
"0.00"
],
"resultScores": [
null,
null
],
"arena": {
"arenaId": 2,
"name": "Meteor",
"status": "active",
"opdbId": "G5b38-MDqkx",
"categoryId": 2,
"organizerId": 1
},
"suggestions": []
},
{
"gameId": 4,
"roundId": 2,
"tournamentId": 1,
"arenaId": 1,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 4,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 1,
"name": "Andreas Haugstrup Pedersen",
"ifpaId": 15925,
"status": "active",
"organizerId": 1,
"claimedBy": 1,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 4,
"name": "Darren Ensley",
"ifpaId": 12117,
"status": "active",
"organizerId": 1,
"claimedBy": 424,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
1,
4
],
"userIds": [
1,
424
],
"resultPositions": [
4,
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": []
}
]
},
{
"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,
"games": [
{
"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,
"players": [
{
"playerId": 1,
"name": "Andreas Haugstrup Pedersen",
"ifpaId": 15925,
"status": "active",
"organizerId": 1,
"claimedBy": 1,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 2,
"name": "Per Schwarzenberger",
"ifpaId": 12220,
"status": "active",
"organizerId": 1,
"claimedBy": 2,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"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": []
},
{
"gameId": 2,
"roundId": 1,
"tournamentId": 1,
"arenaId": 2,
"bankId": null,
"index": null,
"set": 0,
"playerIdAdvantage": 3,
"scorekeeperId": null,
"status": "completed",
"startedAt": null,
"duration": null,
"bye": false,
"players": [
{
"playerId": 3,
"name": "Echa Schneider",
"ifpaId": 13275,
"status": "active",
"organizerId": 1,
"claimedBy": 3,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
},
{
"playerId": 4,
"name": "Darren Ensley",
"ifpaId": 12117,
"status": "active",
"organizerId": 1,
"claimedBy": 424,
"tournamentPlayer": {
"status": null,
"seed": null,
"pointsAdjustment": 0,
"subscription": null,
"labels": [],
"labelColor": null
}
}
],
"playerIds": [
3,
4
],
"userIds": [
3,
424
],
"resultPositions": [
3,
4
],
"resultPoints": [
"1.00",
"0.00"
],
"resultScores": [
null,
null
],
"arena": {
"arenaId": 2,
"name": "Meteor",
"status": "active",
"opdbId": "G5b38-MDqkx",
"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 standings
requires authentication
Example request:
curl --request GET \
--get "https://next.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://next.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();
$response = $client->get(
'https://next.matchplay.events/api/tournaments/1/standings',
[
'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
[
{
"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.