curl --request POST \
--url https://softmax.com/api/observatory/v2/reporters/subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reporter": {
"reporter_version_id": "<string>",
"kind": "version"
}
}
'import requests
url = "https://softmax.com/api/observatory/v2/reporters/subscriptions"
payload = { "reporter": {
"reporter_version_id": "<string>",
"kind": "version"
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reporter: {reporter_version_id: '<string>', kind: 'version'}})
};
fetch('https://softmax.com/api/observatory/v2/reporters/subscriptions', 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/reporters/subscriptions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'reporter' => [
'reporter_version_id' => '<string>',
'kind' => 'version'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://softmax.com/api/observatory/v2/reporters/subscriptions"
payload := strings.NewReader("{\n \"reporter\": {\n \"reporter_version_id\": \"<string>\",\n \"kind\": \"version\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://softmax.com/api/observatory/v2/reporters/subscriptions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reporter\": {\n \"reporter_version_id\": \"<string>\",\n \"kind\": \"version\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://softmax.com/api/observatory/v2/reporters/subscriptions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reporter\": {\n \"reporter_version_id\": \"<string>\",\n \"kind\": \"version\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"reporter": {
"reporter_version_id": "<string>",
"kind": "version"
},
"dependencies": [
{
"reporter": {
"reporter_version_id": "<string>",
"kind": "version"
},
"params": {},
"limits": {
"memory_mib": 1,
"guest_cpu_seconds": 1,
"wall_clock_seconds": 1,
"scratch_mib": 1,
"tool_calls": 1,
"llm_usd": 1,
"artifact_read_mib": 1,
"output_mib": 1
},
"reuse": {
"completed": true,
"max_age_seconds": 1,
"in_flight": true
},
"dependencies": [
{}
]
}
],
"owner_user_id": "<string>",
"trigger": "round_closed",
"league_id": "<string>",
"coworld_id": "<string>",
"cron": "<string>",
"params": {},
"publish_posts": true,
"enabled": true,
"created_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Create a reporter subscription
Creates a standing reporter binding for a trigger. Repeating an enabled binding with the same identity returns the existing subscription.
curl --request POST \
--url https://softmax.com/api/observatory/v2/reporters/subscriptions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reporter": {
"reporter_version_id": "<string>",
"kind": "version"
}
}
'import requests
url = "https://softmax.com/api/observatory/v2/reporters/subscriptions"
payload = { "reporter": {
"reporter_version_id": "<string>",
"kind": "version"
} }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reporter: {reporter_version_id: '<string>', kind: 'version'}})
};
fetch('https://softmax.com/api/observatory/v2/reporters/subscriptions', 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/reporters/subscriptions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'reporter' => [
'reporter_version_id' => '<string>',
'kind' => 'version'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://softmax.com/api/observatory/v2/reporters/subscriptions"
payload := strings.NewReader("{\n \"reporter\": {\n \"reporter_version_id\": \"<string>\",\n \"kind\": \"version\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://softmax.com/api/observatory/v2/reporters/subscriptions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reporter\": {\n \"reporter_version_id\": \"<string>\",\n \"kind\": \"version\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://softmax.com/api/observatory/v2/reporters/subscriptions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reporter\": {\n \"reporter_version_id\": \"<string>\",\n \"kind\": \"version\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"reporter": {
"reporter_version_id": "<string>",
"kind": "version"
},
"dependencies": [
{
"reporter": {
"reporter_version_id": "<string>",
"kind": "version"
},
"params": {},
"limits": {
"memory_mib": 1,
"guest_cpu_seconds": 1,
"wall_clock_seconds": 1,
"scratch_mib": 1,
"tool_calls": 1,
"llm_usd": 1,
"artifact_read_mib": 1,
"output_mib": 1
},
"reuse": {
"completed": true,
"max_age_seconds": 1,
"in_flight": true
},
"dependencies": [
{}
]
}
],
"owner_user_id": "<string>",
"trigger": "round_closed",
"league_id": "<string>",
"coworld_id": "<string>",
"cron": "<string>",
"params": {},
"publish_posts": true,
"enabled": true,
"created_at": "2023-11-07T05:31:56Z"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer token issued by Softmax
Body
Reporter binding, trigger, and publication options.
Reporter version to run.
- PinnedReporterRef
- LatestReporterRef
Show child attributes
Show child attributes
Event that starts a reporter run.
round_closed, episode_completed, cron Parameters passed to the reporter.
Run-limit overrides.
Show child attributes
Show child attributes
Reporter runs that must complete before this run.
Show child attributes
Show child attributes
League that limits the trigger, if applicable.
Coworld that limits the trigger, if applicable.
Five-field cron expression required for cron triggers.
Whether to publish each completed render output as a post.
Response
Successful Response
Reporter subscription ID.
Reporter version selected by the subscription.
- PinnedReporterRef
- LatestReporterRef
Show child attributes
Show child attributes
Reporter runs that must complete before each subscribed run.
Show child attributes
Show child attributes
User who owns the subscription.
Event that starts a reporter run.
round_closed, episode_completed, cron League that limits the trigger, if any.
Coworld that limits the trigger, if any.
Five-field cron expression for a cron trigger, otherwise null.
Parameters passed to the reporter, if any.
Whether completed render outputs are published as posts.
Whether the subscription accepts new triggers.
Time the subscription was created.