Settlement
Grade Selections
Grades up to 50 bet selections against final results. Each selection is the event id, market name, side and, where the market has one, the line (hdp) and label exactly as served on /odds. Returns won, lost, void, half_won, half_lost, pending or ungradeable per selection, with a reason for void, pending and ungradeable answers (reason is null for won, lost, half_won and half_lost). Paid plans only.
POST
/
settlements
/
grade
Grade Selections
curl --request POST \
--url https://api.odds-api.io/v3/settlements/grade \
--header 'Content-Type: application/json' \
--data '
{
"selections": [
{
"eventId": 74919888,
"market": "Spread",
"side": "home",
"ref": "bet-1",
"hdp": -0.25,
"label": "Arike Ogunbowale (Assists)"
}
]
}
'import requests
url = "https://api.odds-api.io/v3/settlements/grade"
payload = { "selections": [
{
"eventId": 74919888,
"market": "Spread",
"side": "home",
"ref": "bet-1",
"hdp": -0.25,
"label": "Arike Ogunbowale (Assists)"
}
] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
selections: [
{
eventId: 74919888,
market: 'Spread',
side: 'home',
ref: 'bet-1',
hdp: -0.25,
label: 'Arike Ogunbowale (Assists)'
}
]
})
};
fetch('https://api.odds-api.io/v3/settlements/grade', 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://api.odds-api.io/v3/settlements/grade",
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([
'selections' => [
[
'eventId' => 74919888,
'market' => 'Spread',
'side' => 'home',
'ref' => 'bet-1',
'hdp' => -0.25,
'label' => 'Arike Ogunbowale (Assists)'
]
]
]),
CURLOPT_HTTPHEADER => [
"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://api.odds-api.io/v3/settlements/grade"
payload := strings.NewReader("{\n \"selections\": [\n {\n \"eventId\": 74919888,\n \"market\": \"Spread\",\n \"side\": \"home\",\n \"ref\": \"bet-1\",\n \"hdp\": -0.25,\n \"label\": \"Arike Ogunbowale (Assists)\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.odds-api.io/v3/settlements/grade")
.header("Content-Type", "application/json")
.body("{\n \"selections\": [\n {\n \"eventId\": 74919888,\n \"market\": \"Spread\",\n \"side\": \"home\",\n \"ref\": \"bet-1\",\n \"hdp\": -0.25,\n \"label\": \"Arike Ogunbowale (Assists)\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.odds-api.io/v3/settlements/grade")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"selections\": [\n {\n \"eventId\": 74919888,\n \"market\": \"Spread\",\n \"side\": \"home\",\n \"ref\": \"bet-1\",\n \"hdp\": -0.25,\n \"label\": \"Arike Ogunbowale (Assists)\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"grades": [
{
"ref": "bet-1",
"eventId": 74919888,
"result": "won",
"reason": null,
"final": true,
"basis": {
"scope": "regulation",
"home": 3,
"away": 2
}
}
]
}{
"error": "Error message"
}{
"error": "Error message"
}{
"error": "Error message"
}{
"error": "Error message"
}{
"error": "Error message"
}{
"error": "Error message"
}⌘I
Grade Selections
curl --request POST \
--url https://api.odds-api.io/v3/settlements/grade \
--header 'Content-Type: application/json' \
--data '
{
"selections": [
{
"eventId": 74919888,
"market": "Spread",
"side": "home",
"ref": "bet-1",
"hdp": -0.25,
"label": "Arike Ogunbowale (Assists)"
}
]
}
'import requests
url = "https://api.odds-api.io/v3/settlements/grade"
payload = { "selections": [
{
"eventId": 74919888,
"market": "Spread",
"side": "home",
"ref": "bet-1",
"hdp": -0.25,
"label": "Arike Ogunbowale (Assists)"
}
] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
selections: [
{
eventId: 74919888,
market: 'Spread',
side: 'home',
ref: 'bet-1',
hdp: -0.25,
label: 'Arike Ogunbowale (Assists)'
}
]
})
};
fetch('https://api.odds-api.io/v3/settlements/grade', 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://api.odds-api.io/v3/settlements/grade",
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([
'selections' => [
[
'eventId' => 74919888,
'market' => 'Spread',
'side' => 'home',
'ref' => 'bet-1',
'hdp' => -0.25,
'label' => 'Arike Ogunbowale (Assists)'
]
]
]),
CURLOPT_HTTPHEADER => [
"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://api.odds-api.io/v3/settlements/grade"
payload := strings.NewReader("{\n \"selections\": [\n {\n \"eventId\": 74919888,\n \"market\": \"Spread\",\n \"side\": \"home\",\n \"ref\": \"bet-1\",\n \"hdp\": -0.25,\n \"label\": \"Arike Ogunbowale (Assists)\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
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://api.odds-api.io/v3/settlements/grade")
.header("Content-Type", "application/json")
.body("{\n \"selections\": [\n {\n \"eventId\": 74919888,\n \"market\": \"Spread\",\n \"side\": \"home\",\n \"ref\": \"bet-1\",\n \"hdp\": -0.25,\n \"label\": \"Arike Ogunbowale (Assists)\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.odds-api.io/v3/settlements/grade")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"selections\": [\n {\n \"eventId\": 74919888,\n \"market\": \"Spread\",\n \"side\": \"home\",\n \"ref\": \"bet-1\",\n \"hdp\": -0.25,\n \"label\": \"Arike Ogunbowale (Assists)\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"grades": [
{
"ref": "bet-1",
"eventId": 74919888,
"result": "won",
"reason": null,
"final": true,
"basis": {
"scope": "regulation",
"home": 3,
"away": 2
}
}
]
}{
"error": "Error message"
}{
"error": "Error message"
}{
"error": "Error message"
}{
"error": "Error message"
}{
"error": "Error message"
}{
"error": "Error message"
}