List division leaderboards
curl --request GET \
--url https://softmax.com/api/observatory/v2/division-leaderboards \
--header 'Authorization: Bearer <token>'import requests
url = "https://softmax.com/api/observatory/v2/division-leaderboards"
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/division-leaderboards', 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/division-leaderboards",
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/division-leaderboards"
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/division-leaderboards")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://softmax.com/api/observatory/v2/division-leaderboards")
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[
{
"division_id": "<string>",
"entries": [
{
"rank": 123,
"player_id": "<string>",
"score": 123,
"rounds_played": 123,
"player_name": "<string>",
"score_label": "Score",
"score_value_type": "number",
"episode_wins": 123,
"episodes_played": 123,
"win_rate": 123,
"policy_label": "<string>",
"recent_rounds": [
{
"id": "<string>",
"round_number": 123,
"status": "pending",
"rank": 123,
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"score": 123,
"episode_wins": 123,
"episodes_played": 123,
"policy_version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]
}
]
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Rounds
List division leaderboards
Return the primary leaderboard for each requested division in one response. Divisions that do not exist or are not visible to the caller are omitted rather than failing the batch.
GET
/
v2
/
division-leaderboards
List division leaderboards
curl --request GET \
--url https://softmax.com/api/observatory/v2/division-leaderboards \
--header 'Authorization: Bearer <token>'import requests
url = "https://softmax.com/api/observatory/v2/division-leaderboards"
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/division-leaderboards', 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/division-leaderboards",
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/division-leaderboards"
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/division-leaderboards")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://softmax.com/api/observatory/v2/division-leaderboards")
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[
{
"division_id": "<string>",
"entries": [
{
"rank": 123,
"player_id": "<string>",
"score": 123,
"rounds_played": 123,
"player_name": "<string>",
"score_label": "Score",
"score_value_type": "number",
"episode_wins": 123,
"episodes_played": 123,
"win_rate": 123,
"policy_label": "<string>",
"recent_rounds": [
{
"id": "<string>",
"round_number": 123,
"status": "pending",
"rank": 123,
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"score": 123,
"episode_wins": 123,
"episodes_played": 123,
"policy_version_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]
}
]
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer token issued by Softmax
Query Parameters
Divisions whose primary leaderboards should be returned; repeat the parameter.
Required array length:
1 - 100 elementsPattern:
^div_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$Include each entry's recent per-round score history.