curl --request GET \
--url https://softmax.com/api/observatory/v2/leagues/{league_id}/landscape \
--header 'Authorization: Bearer <token>'import requests
url = "https://softmax.com/api/observatory/v2/leagues/{league_id}/landscape"
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/leagues/{league_id}/landscape', 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/leagues/{league_id}/landscape",
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/leagues/{league_id}/landscape"
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/leagues/{league_id}/landscape")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://softmax.com/api/observatory/v2/leagues/{league_id}/landscape")
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{
"league_id": "<string>",
"enabled": true,
"config": {},
"players": [
{}
],
"viewer_player_ids": [
"<string>"
],
"map_refs": [
"<string>"
],
"modes": [
"<string>"
],
"map_seeds": [
123
],
"map_sizes": [
"<string>"
],
"preview_urls": [
"<string>"
],
"blob_ids": [
123
],
"owners": [
"<string>"
],
"ladders": [
[
{
"rank": 123,
"player_id": "<string>",
"rating": 123,
"games": 123,
"wins": 123,
"draws": 123,
"losses": 123
}
]
],
"round": 123,
"last_round_at": "<string>",
"pending": true,
"color_prefs": {},
"frames_count": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Get landscape board
Return the current cell ladders, leaders, and visible board state for a league.
curl --request GET \
--url https://softmax.com/api/observatory/v2/leagues/{league_id}/landscape \
--header 'Authorization: Bearer <token>'import requests
url = "https://softmax.com/api/observatory/v2/leagues/{league_id}/landscape"
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/leagues/{league_id}/landscape', 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/leagues/{league_id}/landscape",
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/leagues/{league_id}/landscape"
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/leagues/{league_id}/landscape")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://softmax.com/api/observatory/v2/leagues/{league_id}/landscape")
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{
"league_id": "<string>",
"enabled": true,
"config": {},
"players": [
{}
],
"viewer_player_ids": [
"<string>"
],
"map_refs": [
"<string>"
],
"modes": [
"<string>"
],
"map_seeds": [
123
],
"map_sizes": [
"<string>"
],
"preview_urls": [
"<string>"
],
"blob_ids": [
123
],
"owners": [
"<string>"
],
"ladders": [
[
{
"rank": 123,
"player_id": "<string>",
"rating": 123,
"games": 123,
"wins": 123,
"draws": 123,
"losses": 123
}
]
],
"round": 123,
"last_round_at": "<string>",
"pending": true,
"color_prefs": {},
"frames_count": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer token issued by Softmax
Path Parameters
League whose landscape board should be returned.
^league_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$Response
Successful Response
League whose landscape board is returned.
Whether landscape rounds are enabled.
Public landscape geometry and round settings.
Visible players and their board symbols.
Players on this board owned by the caller.
Coworld variant ID for each bounding-grid position.
Match mode for each bounding-grid position.
Generated-map seed for each bounding-grid position.
Generated-map size for each bounding-grid position.
Authored map preview for each bounding-grid position.
Contiguous board-region ID for each grid position.
Leading player for each bounding-grid position.
Top cell-ladder entries for each grid position.
Show child attributes
Show child attributes
Number of completed landscape rounds.
UTC completion time of the latest landscape round.
Whether a landscape round is currently in flight.
Preferred board-palette slot keyed by player ID.
Show child attributes
Show child attributes
Number of retained landscape history frames.