curl --request GET \
--url https://gateway.errorbar.ai/v1/criteria/{id}/adjudication \
--header 'Authorization: Bearer <token>'import requests
url = "https://gateway.errorbar.ai/v1/criteria/{id}/adjudication"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://gateway.errorbar.ai/v1/criteria/{id}/adjudication', 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://gateway.errorbar.ai/v1/criteria/{id}/adjudication",
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://gateway.errorbar.ai/v1/criteria/{id}/adjudication"
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://gateway.errorbar.ai/v1/criteria/{id}/adjudication")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://gateway.errorbar.ai/v1/criteria/{id}/adjudication")
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{
"criterion_id": "<string>",
"aligned_at": "<string>",
"before": {
"n": 123,
"matrix": {
"tp": 123,
"fp": 123,
"tn": 123,
"fn": 123
},
"se": 123,
"se_ci": [
123
],
"sp": 123,
"sp_ci": [
123
],
"kappa": 123,
"trust": "<string>",
"holdout_active": true
},
"after": {
"n": 123,
"matrix": {
"tp": 123,
"fp": 123,
"tn": 123,
"fn": 123
},
"se": 123,
"se_ci": [
123
],
"sp": 123,
"sp_ci": [
123
],
"kappa": 123,
"trust": "<string>",
"holdout_active": true
},
"adjudicated": 123,
"by_kind": {
"label_error": 123,
"judge_error": 123,
"ambiguous": 123
},
"adjudications": [
{
"label_id": "<string>",
"request_id": "<string>",
"kind": "label_error",
"original_verdict": "<string>",
"adjudicated_verdict": "<string>",
"note": "<string>",
"adjudicated_at": "2023-11-07T05:31:56Z"
}
],
"remaining_disagreements": 123,
"remaining": [
{
"label_id": "<string>",
"request_id": "<string>",
"judge_verdict": "<string>",
"human_verdict": "<string>",
"critique": "<string>",
"judge_grade": 123,
"direction": "fp",
"in_report_half": true
}
],
"concentration": [
{
"direction": "<string>",
"count": 123,
"share_of_errors": 123
}
],
"certificate_voided": true
}{
"error": {
"message": "Invalid API key",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}The certificate before and after adjudication
Free and uncached: re-reads the stored calibration rows (the judge’s verdicts at judging time) against the adjudicated grades — no judge call. before is the calibration as measured; after is what a re-calibration would read once label_error corrections are applied and ambiguous grades withdrawn. With no adjudications the two are identical. remaining lists the open disagreements ranked by error concentration, each with the label_id to POST to. Read scope.
curl --request GET \
--url https://gateway.errorbar.ai/v1/criteria/{id}/adjudication \
--header 'Authorization: Bearer <token>'import requests
url = "https://gateway.errorbar.ai/v1/criteria/{id}/adjudication"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://gateway.errorbar.ai/v1/criteria/{id}/adjudication', 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://gateway.errorbar.ai/v1/criteria/{id}/adjudication",
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://gateway.errorbar.ai/v1/criteria/{id}/adjudication"
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://gateway.errorbar.ai/v1/criteria/{id}/adjudication")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://gateway.errorbar.ai/v1/criteria/{id}/adjudication")
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{
"criterion_id": "<string>",
"aligned_at": "<string>",
"before": {
"n": 123,
"matrix": {
"tp": 123,
"fp": 123,
"tn": 123,
"fn": 123
},
"se": 123,
"se_ci": [
123
],
"sp": 123,
"sp_ci": [
123
],
"kappa": 123,
"trust": "<string>",
"holdout_active": true
},
"after": {
"n": 123,
"matrix": {
"tp": 123,
"fp": 123,
"tn": 123,
"fn": 123
},
"se": 123,
"se_ci": [
123
],
"sp": 123,
"sp_ci": [
123
],
"kappa": 123,
"trust": "<string>",
"holdout_active": true
},
"adjudicated": 123,
"by_kind": {
"label_error": 123,
"judge_error": 123,
"ambiguous": 123
},
"adjudications": [
{
"label_id": "<string>",
"request_id": "<string>",
"kind": "label_error",
"original_verdict": "<string>",
"adjudicated_verdict": "<string>",
"note": "<string>",
"adjudicated_at": "2023-11-07T05:31:56Z"
}
],
"remaining_disagreements": 123,
"remaining": [
{
"label_id": "<string>",
"request_id": "<string>",
"judge_verdict": "<string>",
"human_verdict": "<string>",
"critique": "<string>",
"judge_grade": 123,
"direction": "fp",
"in_report_half": true
}
],
"concentration": [
{
"direction": "<string>",
"count": 123,
"share_of_errors": 123
}
],
"certificate_voided": true
}{
"error": {
"message": "Invalid API key",
"type": "invalid_request_error",
"code": "invalid_api_key"
}
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}Authorizations
Your workspace API key, e.g. sk_sovereign_..., sent as Authorization: Bearer <key>.
Path Parameters
Response
Before, after, and what is left.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Ranked: the dominant error direction first (one direction carrying most of the error is one systematic defect), then the rows the judge was most confident about.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
A label_error correction or an ambiguous withdrawal changed the measured set: the stored signed certificate is voided until a re-calibration; after is what that run would read.