terminalBoard
curl --request POST \
--url http://127.0.0.1:9113/v1/terminal/board \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"cursor": "<string>"
}
'import requests
url = "http://127.0.0.1:9113/v1/terminal/board"
payload = { "cursor": "<string>" }
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({cursor: '<string>'})
};
fetch('http://127.0.0.1:9113/v1/terminal/board', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "9113",
CURLOPT_URL => "http://127.0.0.1:9113/v1/terminal/board",
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([
'cursor' => '<string>'
]),
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 := "http://127.0.0.1:9113/v1/terminal/board"
payload := strings.NewReader("{\n \"cursor\": \"<string>\"\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("http://127.0.0.1:9113/v1/terminal/board")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"cursor\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://127.0.0.1:9113/v1/terminal/board")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cursor\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"displayed_fixtures": 123,
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"namespace": "<string>",
"next_cursor": "<string>",
"preferences_revision": 123,
"product": "<string>",
"provenance": "<string>",
"rows": [
{
"cells": [
{
"best": true,
"confirmed_ts": "2023-11-07T05:31:56Z",
"freshness_limit_seconds": 123,
"key": {
"depth": 2,
"fixture_id": 4503599627370496,
"market_id": 4503599627370496,
"outcome_id": 4503599627370496,
"side": "quote",
"source_fixture_id": "<string>",
"source_id": 4503599627370496,
"source_market_id": "<string>",
"source_outcome_id": "<string>"
},
"native_unit": "decimal_odds",
"quote_key": "<string>",
"reason": "<string>",
"seen_ts": "2023-11-07T05:31:56Z",
"status": "active",
"decimal_odds": "<string>",
"native_value": "<string>",
"source_ts": "2023-11-07T05:31:56Z"
}
],
"code": "<string>",
"family": "1x2",
"fixture": {
"away": {
"id": 4503599627370496,
"kind": "team",
"name": "<string>",
"sport_id": 4503599627370496,
"external_ids": {}
},
"bindings": [
{
"native_fixture_id": 4503599627370496,
"revision": 123,
"source_fixture_id": "<string>",
"source_id": 4503599627370496,
"source_swapped": true,
"state": "<string>",
"swapped": true,
"group_fixture_id": 4503599627370496
}
],
"fixture": {
"away_id": 4503599627370496,
"competition_id": 4503599627370496,
"home_id": 4503599627370496,
"id": 4503599627370496,
"sport_id": 4503599627370496,
"start_ts": "2023-11-07T05:31:56Z",
"status": "scheduled",
"external_ids": {},
"previous_fixture_id": 4503599627370496,
"reissued_fixture_id": 4503599627370496
},
"home": {
"id": 4503599627370496,
"kind": "team",
"name": "<string>",
"sport_id": 4503599627370496,
"external_ids": {}
},
"identity_scope": "reviewed_group"
},
"id": "<string>",
"identity_scope": "<string>",
"kind": "sportsbook",
"period": "full_time",
"reference_reason": "<string>",
"settlement_rule": "<string>",
"line_quarters": 123,
"reference": {
"evaluated_at": "2023-11-07T05:31:56Z",
"independent_groups": 123,
"market": {
"family": "1x2",
"fixture_id": 4503599627370496,
"period": "full_time",
"settlement_rule": "<string>",
"line_quarters": 123
},
"max_confirmation_skew_seconds": 123,
"method": "multiplicative",
"min_independent_groups": 123,
"min_sharp_groups": 123,
"missing": [
"<string>"
],
"policy_id": "<string>",
"policy_sha256": "<string>",
"sharp_groups": 123,
"sources": [
{
"max_age_seconds": 123,
"max_probability_spread": "<string>",
"min_size": "<string>",
"offers": [
{
"native_offer": "<string>",
"reasons": [
"<string>"
]
}
],
"quotes": [
{
"latest_revision": 123,
"mapping_revision": 123,
"mapping_swapped": true,
"market_id": 4503599627370496,
"native_settlement_rule": "<string>",
"price": {
"confirmed_ts": "2023-11-07T05:31:56Z",
"observation": {
"event_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": {
"depth": 2,
"fixture_id": 4503599627370496,
"market_id": 4503599627370496,
"outcome_id": 4503599627370496,
"side": "quote",
"source_fixture_id": "<string>",
"source_id": 4503599627370496,
"source_market_id": "<string>",
"source_outcome_id": "<string>"
},
"raw_payload_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"seen_ts": "2023-11-07T05:31:56Z",
"value": {
"native_unit": "decimal_odds",
"state": "active",
"available_size": "<string>",
"commission_rate": "<string>",
"currency": "<string>",
"decimal_odds": "<string>",
"fee_rate": "<string>",
"main_line": true,
"native_value": "<string>",
"size_unit": "currency"
},
"source_sequence": "<string>",
"source_ts": "2023-11-07T05:31:56Z"
}
},
"source_swapped": true,
"target_code": "<string>"
}
],
"reasons": [
"<string>"
],
"region": "<string>",
"selected": true,
"sharp": true,
"source_id": 4503599627370496,
"configured_weight": "<string>",
"currency": "<string>",
"effective_weight": "<string>",
"feed_group_id": 4503599627370496,
"power_exponent": "<string>",
"probabilities": [
{
"code": "<string>",
"decimal_odds": "<string>",
"probability": "<string>"
}
],
"selected_offer": "<string>",
"size_unit": "<string>"
}
],
"status": "available",
"version": "<string>",
"probabilities": [
{
"code": "<string>",
"decimal_odds": "<string>",
"probability": "<string>"
}
],
"valid_until": "2023-11-07T05:31:56Z"
}
}
],
"server_now": "2023-11-07T05:31:56Z",
"sources": [
{
"chart_allowed": true,
"display_allowed": true,
"fair_allowed": true,
"info": {
"brand": {
"id": 4503599627370496,
"name": "<string>",
"slug": "<string>"
},
"collection": "working",
"entitled": true,
"families": [
"1x2"
],
"inplay": {
"families": [
"1x2"
],
"freshness_limit_seconds": 123,
"mode": "pre_match_only",
"reason": "<string>"
},
"rights": "<string>",
"source": {
"brand_id": 4503599627370496,
"enabled": true,
"id": 4503599627370496,
"kind": "sportsbook",
"region": "<string>",
"slug": "<string>",
"feed_group_id": 4503599627370496
}
},
"namespace": "<string>",
"reason": "<string>"
}
],
"total_fixtures": 123
}
],
"meta": {
"consistency": "<string>",
"count": 123,
"next_cursor": "<string>",
"request_id": "<string>",
"sent_ts": "2023-11-07T05:31:56Z",
"snapshot_ts": "2023-11-07T05:31:56Z",
"version": "<string>",
"namespace": "<string>"
},
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
]
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}Account and control reference
Terminal board
Terminal board: request contract, authentication, parameters and response behavior for the Oddswire private pilot.
terminalBoard
curl --request POST \
--url http://127.0.0.1:9113/v1/terminal/board \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"cursor": "<string>"
}
'import requests
url = "http://127.0.0.1:9113/v1/terminal/board"
payload = { "cursor": "<string>" }
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({cursor: '<string>'})
};
fetch('http://127.0.0.1:9113/v1/terminal/board', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "9113",
CURLOPT_URL => "http://127.0.0.1:9113/v1/terminal/board",
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([
'cursor' => '<string>'
]),
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 := "http://127.0.0.1:9113/v1/terminal/board"
payload := strings.NewReader("{\n \"cursor\": \"<string>\"\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("http://127.0.0.1:9113/v1/terminal/board")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"cursor\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://127.0.0.1:9113/v1/terminal/board")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"cursor\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"displayed_fixtures": 123,
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"namespace": "<string>",
"next_cursor": "<string>",
"preferences_revision": 123,
"product": "<string>",
"provenance": "<string>",
"rows": [
{
"cells": [
{
"best": true,
"confirmed_ts": "2023-11-07T05:31:56Z",
"freshness_limit_seconds": 123,
"key": {
"depth": 2,
"fixture_id": 4503599627370496,
"market_id": 4503599627370496,
"outcome_id": 4503599627370496,
"side": "quote",
"source_fixture_id": "<string>",
"source_id": 4503599627370496,
"source_market_id": "<string>",
"source_outcome_id": "<string>"
},
"native_unit": "decimal_odds",
"quote_key": "<string>",
"reason": "<string>",
"seen_ts": "2023-11-07T05:31:56Z",
"status": "active",
"decimal_odds": "<string>",
"native_value": "<string>",
"source_ts": "2023-11-07T05:31:56Z"
}
],
"code": "<string>",
"family": "1x2",
"fixture": {
"away": {
"id": 4503599627370496,
"kind": "team",
"name": "<string>",
"sport_id": 4503599627370496,
"external_ids": {}
},
"bindings": [
{
"native_fixture_id": 4503599627370496,
"revision": 123,
"source_fixture_id": "<string>",
"source_id": 4503599627370496,
"source_swapped": true,
"state": "<string>",
"swapped": true,
"group_fixture_id": 4503599627370496
}
],
"fixture": {
"away_id": 4503599627370496,
"competition_id": 4503599627370496,
"home_id": 4503599627370496,
"id": 4503599627370496,
"sport_id": 4503599627370496,
"start_ts": "2023-11-07T05:31:56Z",
"status": "scheduled",
"external_ids": {},
"previous_fixture_id": 4503599627370496,
"reissued_fixture_id": 4503599627370496
},
"home": {
"id": 4503599627370496,
"kind": "team",
"name": "<string>",
"sport_id": 4503599627370496,
"external_ids": {}
},
"identity_scope": "reviewed_group"
},
"id": "<string>",
"identity_scope": "<string>",
"kind": "sportsbook",
"period": "full_time",
"reference_reason": "<string>",
"settlement_rule": "<string>",
"line_quarters": 123,
"reference": {
"evaluated_at": "2023-11-07T05:31:56Z",
"independent_groups": 123,
"market": {
"family": "1x2",
"fixture_id": 4503599627370496,
"period": "full_time",
"settlement_rule": "<string>",
"line_quarters": 123
},
"max_confirmation_skew_seconds": 123,
"method": "multiplicative",
"min_independent_groups": 123,
"min_sharp_groups": 123,
"missing": [
"<string>"
],
"policy_id": "<string>",
"policy_sha256": "<string>",
"sharp_groups": 123,
"sources": [
{
"max_age_seconds": 123,
"max_probability_spread": "<string>",
"min_size": "<string>",
"offers": [
{
"native_offer": "<string>",
"reasons": [
"<string>"
]
}
],
"quotes": [
{
"latest_revision": 123,
"mapping_revision": 123,
"mapping_swapped": true,
"market_id": 4503599627370496,
"native_settlement_rule": "<string>",
"price": {
"confirmed_ts": "2023-11-07T05:31:56Z",
"observation": {
"event_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": {
"depth": 2,
"fixture_id": 4503599627370496,
"market_id": 4503599627370496,
"outcome_id": 4503599627370496,
"side": "quote",
"source_fixture_id": "<string>",
"source_id": 4503599627370496,
"source_market_id": "<string>",
"source_outcome_id": "<string>"
},
"raw_payload_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"seen_ts": "2023-11-07T05:31:56Z",
"value": {
"native_unit": "decimal_odds",
"state": "active",
"available_size": "<string>",
"commission_rate": "<string>",
"currency": "<string>",
"decimal_odds": "<string>",
"fee_rate": "<string>",
"main_line": true,
"native_value": "<string>",
"size_unit": "currency"
},
"source_sequence": "<string>",
"source_ts": "2023-11-07T05:31:56Z"
}
},
"source_swapped": true,
"target_code": "<string>"
}
],
"reasons": [
"<string>"
],
"region": "<string>",
"selected": true,
"sharp": true,
"source_id": 4503599627370496,
"configured_weight": "<string>",
"currency": "<string>",
"effective_weight": "<string>",
"feed_group_id": 4503599627370496,
"power_exponent": "<string>",
"probabilities": [
{
"code": "<string>",
"decimal_odds": "<string>",
"probability": "<string>"
}
],
"selected_offer": "<string>",
"size_unit": "<string>"
}
],
"status": "available",
"version": "<string>",
"probabilities": [
{
"code": "<string>",
"decimal_odds": "<string>",
"probability": "<string>"
}
],
"valid_until": "2023-11-07T05:31:56Z"
}
}
],
"server_now": "2023-11-07T05:31:56Z",
"sources": [
{
"chart_allowed": true,
"display_allowed": true,
"fair_allowed": true,
"info": {
"brand": {
"id": 4503599627370496,
"name": "<string>",
"slug": "<string>"
},
"collection": "working",
"entitled": true,
"families": [
"1x2"
],
"inplay": {
"families": [
"1x2"
],
"freshness_limit_seconds": 123,
"mode": "pre_match_only",
"reason": "<string>"
},
"rights": "<string>",
"source": {
"brand_id": 4503599627370496,
"enabled": true,
"id": 4503599627370496,
"kind": "sportsbook",
"region": "<string>",
"slug": "<string>",
"feed_group_id": 4503599627370496
}
},
"namespace": "<string>",
"reason": "<string>"
}
],
"total_fixtures": 123
}
],
"meta": {
"consistency": "<string>",
"count": 123,
"next_cursor": "<string>",
"request_id": "<string>",
"sent_ts": "2023-11-07T05:31:56Z",
"snapshot_ts": "2023-11-07T05:31:56Z",
"version": "<string>",
"namespace": "<string>"
},
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
]
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}{
"code": "<string>",
"detail": "<string>",
"invalid_params": [
{
"name": "<string>",
"reason": "<string>"
}
],
"missing": [
{
"detail": "<string>",
"reason": "<string>",
"family": "1x2",
"fixture_id": 4503599627370496,
"quote_key": "<string>",
"source_id": 4503599627370496
}
],
"request_id": "<string>",
"status": 123,
"title": "<string>",
"type": "<string>"
}Session-only Terminal product. Separate current Terminal grants and display/chart source-purpose/region reviews; API plans/keys and REST credits are not used. Private, no-store, bounded polling and native recorded history only.
Full request and response schemas: OpenAPI. Authentication · Prices and coverage · Errors and credits.
POST /v1/terminal/board
Authentication
AccountSession
Parameters
| Name | Location | Required | Description |
|---|---|---|---|
X-Oddswire-Account | header | No | UUID of an account where the signed-in user is a member; defaults to their oldest account. |
Request body
{
"$ref": "#/components/schemas/TerminalBoardInput"
}
Responses
| Status | Meaning |
|---|---|
| 200 | Account ledger response; no-store. Key secrets appear only once on creation/rotation. Lists contain at most 100 recent entries, active keys first. |
| 400 | Structured problem; see error handling. |
| 401 | Structured problem; see error handling. |
| 403 | Structured problem; see error handling. |
| 404 | Structured problem; see error handling. |
| 405 | Structured problem; see error handling. |
| 409 | Structured problem; see error handling. |
| 422 | Structured problem; see error handling. |
| 429 | Structured problem; see error handling. |
| 500 | Structured problem; see error handling. |
| 503 | Structured problem; see error handling. |
| 504 | Structured problem; see error handling. |
Authorizations
Clerk session JWT, or one-hour CLI-only local session. No cookie authentication.
Headers
UUID of an account where the signed-in user is a member; defaults to their oldest account.
Body
application/json