curl --request GET \
--url https://softmax.com/api/observatory/v2/competition-events \
--header 'Authorization: Bearer <token>'import requests
url = "https://softmax.com/api/observatory/v2/competition-events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://softmax.com/api/observatory/v2/competition-events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://softmax.com/api/observatory/v2/competition-events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://softmax.com/api/observatory/v2/competition-events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://softmax.com/api/observatory/v2/competition-events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://softmax.com/api/observatory/v2/competition-events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"event_type": "<string>",
"audience": "public",
"headline": "<string>",
"summary": "<string>",
"payload": {
"league_id": "<string>",
"league_name": "<string>",
"division_id": "<string>",
"division_name": "<string>",
"round_id": "<string>",
"round_number": 123,
"result_count": 123,
"first_place": {
"player_id": "<string>",
"score": 123,
"player_name": "<string>",
"second_player_id": "<string>",
"second_player_name": "<string>",
"gap_to_second": 123
}
},
"created_at": "2023-11-07T05:31:56Z",
"user_id": "<string>",
"player": {
"id": "<string>",
"name": "<string>",
"avatar_url": "<string>"
},
"policy_version": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"policy": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"version": 123,
"label": "<string>",
"player_id": "<string>"
},
"league": {
"name": "<string>",
"commissioner_key": "<string>",
"id": "<string>",
"game": {
"name": "<string>",
"owner_user_id": "<string>",
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"coworld_name": "<string>",
"description": "<string>",
"notes": "<string>",
"default_league_id": "<string>",
"coworld_id": "<string>",
"canonical_coworld_id": "<string>",
"coworld_tags": [
"<string>"
]
},
"mod": {
"name": "<string>",
"owner_user_id": "<string>",
"id": "<string>",
"game": {
"name": "<string>",
"owner_user_id": "<string>",
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"coworld_name": "<string>",
"description": "<string>",
"notes": "<string>",
"default_league_id": "<string>",
"coworld_id": "<string>",
"canonical_coworld_id": "<string>",
"coworld_tags": [
"<string>"
]
},
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"notes": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"logs_reporter_id": "<string>",
"handicaps": {},
"handicap_dynamic": {
"max_handicap": 0.5,
"curve": 1,
"min_entrants": 3,
"dominance_ratio_for_max": 3,
"winrate_for_max": 0.85
},
"short_name": "<string>",
"description": "<string>",
"commissioner_config": {},
"commissioner_migration_version": "<string>",
"rounds_paused_at": "2023-11-07T05:31:56Z",
"submissions_locked_at": "2023-11-07T05:31:56Z",
"settings": {},
"filler_policy_version_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"seed_policy_version_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"seed_policy_number": 123,
"rules": {},
"public": false,
"hidden": false,
"is_game_of_week": false,
"disabled_at": "2023-11-07T05:31:56Z",
"notes": "<string>"
},
"division": {
"id": "<string>",
"name": "<string>",
"level": 123,
"type": "<string>",
"hidden": true,
"league": {
"name": "<string>",
"commissioner_key": "<string>",
"id": "<string>",
"game": {
"name": "<string>",
"owner_user_id": "<string>",
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"coworld_name": "<string>",
"description": "<string>",
"notes": "<string>",
"default_league_id": "<string>",
"coworld_id": "<string>",
"canonical_coworld_id": "<string>",
"coworld_tags": [
"<string>"
]
},
"mod": {
"name": "<string>",
"owner_user_id": "<string>",
"id": "<string>",
"game": {
"name": "<string>",
"owner_user_id": "<string>",
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"coworld_name": "<string>",
"description": "<string>",
"notes": "<string>",
"default_league_id": "<string>",
"coworld_id": "<string>",
"canonical_coworld_id": "<string>",
"coworld_tags": [
"<string>"
]
},
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"notes": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"logs_reporter_id": "<string>",
"handicaps": {},
"handicap_dynamic": {
"max_handicap": 0.5,
"curve": 1,
"min_entrants": 3,
"dominance_ratio_for_max": 3,
"winrate_for_max": 0.85
},
"short_name": "<string>",
"description": "<string>",
"commissioner_config": {},
"commissioner_migration_version": "<string>",
"rounds_paused_at": "2023-11-07T05:31:56Z",
"submissions_locked_at": "2023-11-07T05:31:56Z",
"settings": {},
"filler_policy_version_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"seed_policy_version_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"seed_policy_number": 123,
"rules": {},
"public": false,
"hidden": false,
"is_game_of_week": false,
"disabled_at": "2023-11-07T05:31:56Z",
"notes": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"archived_at": "2023-11-07T05:31:56Z",
"round_schedule": {},
"notes": "<string>",
"commissioner_description": {
"round_schedule": "<string>",
"round_structure": "<string>",
"leaderboard_rules": "<string>",
"next_round": "<string>",
"scoring_mechanics": "<string>",
"changelog": [
{
"date": "<string>",
"title": "<string>",
"detail": "<string>",
"category": "<string>"
}
]
}
},
"round_id": "<string>",
"league_policy_membership_id": "<string>",
"submission_id": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}List competition events
Returns newest competition events visible to the caller. A continuation cursor is returned in the X-Next-Cursor response header when another page exists.
curl --request GET \
--url https://softmax.com/api/observatory/v2/competition-events \
--header 'Authorization: Bearer <token>'import requests
url = "https://softmax.com/api/observatory/v2/competition-events"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://softmax.com/api/observatory/v2/competition-events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://softmax.com/api/observatory/v2/competition-events",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://softmax.com/api/observatory/v2/competition-events"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://softmax.com/api/observatory/v2/competition-events")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://softmax.com/api/observatory/v2/competition-events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"event_type": "<string>",
"audience": "public",
"headline": "<string>",
"summary": "<string>",
"payload": {
"league_id": "<string>",
"league_name": "<string>",
"division_id": "<string>",
"division_name": "<string>",
"round_id": "<string>",
"round_number": 123,
"result_count": 123,
"first_place": {
"player_id": "<string>",
"score": 123,
"player_name": "<string>",
"second_player_id": "<string>",
"second_player_name": "<string>",
"gap_to_second": 123
}
},
"created_at": "2023-11-07T05:31:56Z",
"user_id": "<string>",
"player": {
"id": "<string>",
"name": "<string>",
"avatar_url": "<string>"
},
"policy_version": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"policy": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
},
"version": 123,
"label": "<string>",
"player_id": "<string>"
},
"league": {
"name": "<string>",
"commissioner_key": "<string>",
"id": "<string>",
"game": {
"name": "<string>",
"owner_user_id": "<string>",
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"coworld_name": "<string>",
"description": "<string>",
"notes": "<string>",
"default_league_id": "<string>",
"coworld_id": "<string>",
"canonical_coworld_id": "<string>",
"coworld_tags": [
"<string>"
]
},
"mod": {
"name": "<string>",
"owner_user_id": "<string>",
"id": "<string>",
"game": {
"name": "<string>",
"owner_user_id": "<string>",
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"coworld_name": "<string>",
"description": "<string>",
"notes": "<string>",
"default_league_id": "<string>",
"coworld_id": "<string>",
"canonical_coworld_id": "<string>",
"coworld_tags": [
"<string>"
]
},
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"notes": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"logs_reporter_id": "<string>",
"handicaps": {},
"handicap_dynamic": {
"max_handicap": 0.5,
"curve": 1,
"min_entrants": 3,
"dominance_ratio_for_max": 3,
"winrate_for_max": 0.85
},
"short_name": "<string>",
"description": "<string>",
"commissioner_config": {},
"commissioner_migration_version": "<string>",
"rounds_paused_at": "2023-11-07T05:31:56Z",
"submissions_locked_at": "2023-11-07T05:31:56Z",
"settings": {},
"filler_policy_version_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"seed_policy_version_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"seed_policy_number": 123,
"rules": {},
"public": false,
"hidden": false,
"is_game_of_week": false,
"disabled_at": "2023-11-07T05:31:56Z",
"notes": "<string>"
},
"division": {
"id": "<string>",
"name": "<string>",
"level": 123,
"type": "<string>",
"hidden": true,
"league": {
"name": "<string>",
"commissioner_key": "<string>",
"id": "<string>",
"game": {
"name": "<string>",
"owner_user_id": "<string>",
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"coworld_name": "<string>",
"description": "<string>",
"notes": "<string>",
"default_league_id": "<string>",
"coworld_id": "<string>",
"canonical_coworld_id": "<string>",
"coworld_tags": [
"<string>"
]
},
"mod": {
"name": "<string>",
"owner_user_id": "<string>",
"id": "<string>",
"game": {
"name": "<string>",
"owner_user_id": "<string>",
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"coworld_name": "<string>",
"description": "<string>",
"notes": "<string>",
"default_league_id": "<string>",
"coworld_id": "<string>",
"canonical_coworld_id": "<string>",
"coworld_tags": [
"<string>"
]
},
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"notes": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"logs_reporter_id": "<string>",
"handicaps": {},
"handicap_dynamic": {
"max_handicap": 0.5,
"curve": 1,
"min_entrants": 3,
"dominance_ratio_for_max": 3,
"winrate_for_max": 0.85
},
"short_name": "<string>",
"description": "<string>",
"commissioner_config": {},
"commissioner_migration_version": "<string>",
"rounds_paused_at": "2023-11-07T05:31:56Z",
"submissions_locked_at": "2023-11-07T05:31:56Z",
"settings": {},
"filler_policy_version_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"seed_policy_version_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"seed_policy_number": 123,
"rules": {},
"public": false,
"hidden": false,
"is_game_of_week": false,
"disabled_at": "2023-11-07T05:31:56Z",
"notes": "<string>"
},
"created_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"archived_at": "2023-11-07T05:31:56Z",
"round_schedule": {},
"notes": "<string>",
"commissioner_description": {
"round_schedule": "<string>",
"round_structure": "<string>",
"leaderboard_rules": "<string>",
"next_round": "<string>",
"scoring_mechanics": "<string>",
"changelog": [
{
"date": "<string>",
"title": "<string>",
"detail": "<string>",
"category": "<string>"
}
]
}
},
"round_id": "<string>",
"league_policy_membership_id": "<string>",
"submission_id": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer token issued by Softmax
Query Parameters
Return events from this league only.
^league_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$Return events from this division only.
^div_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$Return events from this round only.
^round_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$Return events with this event type only.
Return events published to this audience only.
public, player, user Return events associated with this player only.
^ply_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$Return events associated with this user only.
Return events associated with this policy version only.
Maximum events to return, newest first.
1 <= x <= 200Continuation token from the previous response's X-Next-Cursor header.
Response
Successful Response
Competition event ID.
Stable kind of competition event.
Audience allowed to see the event.
public, player, user Short event headline.
Human-readable event summary.
Structured details for this event type.
- RoundCompletedEventPayload
- LeaguePolicyMembershipPlacedEventPayload
- PolicyErrorEventPayload
- AchievementEarnedEventPayload
Show child attributes
Show child attributes
Time when the event was recorded.
User associated with the event, or null when it is not user-specific.
Player associated with the event, or null when it is not player-specific.
Show child attributes
Show child attributes
Policy version associated with the event, or null when none applies.
Show child attributes
Show child attributes
League associated with the event, or null when none applies.
Show child attributes
Show child attributes
Division associated with the event, or null when none applies.
Show child attributes
Show child attributes
Round associated with the event, or null when none applies.
League membership associated with the event, or null when none applies.
Submission associated with the event, or null when none applies.