Compare two dataset runs
curl --request GET \
--url https://api.zespan.com/v1/datasets/{datasetId}/runs/compare \
--header 'x-api-key: <api-key>'import requests
url = "https://api.zespan.com/v1/datasets/{datasetId}/runs/compare"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.zespan.com/v1/datasets/{datasetId}/runs/compare', 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.zespan.com/v1/datasets/{datasetId}/runs/compare",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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://api.zespan.com/v1/datasets/{datasetId}/runs/compare"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.zespan.com/v1/datasets/{datasetId}/runs/compare")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zespan.com/v1/datasets/{datasetId}/runs/compare")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"runA": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"avgScore": 123
},
"runB": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"avgScore": 123
},
"rows": [
{
"datasetItemId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"input": "<unknown>",
"a": {
"traceId": "<string>",
"score": 123
},
"b": {
"traceId": "<string>",
"score": 123
}
}
]
}{
"error": "Unauthorized",
"code": "rate_limit_exceeded"
}{
"error": "Unauthorized",
"code": "rate_limit_exceeded"
}Compare two dataset runs
Compare two runs of a dataset. Returns each dataset item shared by both runs with each run’s trace id and score side by side, plus each run’s average score over the shared items.
GET
/
v1
/
datasets
/
{datasetId}
/
runs
/
compare
Compare two dataset runs
curl --request GET \
--url https://api.zespan.com/v1/datasets/{datasetId}/runs/compare \
--header 'x-api-key: <api-key>'import requests
url = "https://api.zespan.com/v1/datasets/{datasetId}/runs/compare"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.zespan.com/v1/datasets/{datasetId}/runs/compare', 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.zespan.com/v1/datasets/{datasetId}/runs/compare",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$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://api.zespan.com/v1/datasets/{datasetId}/runs/compare"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.zespan.com/v1/datasets/{datasetId}/runs/compare")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.zespan.com/v1/datasets/{datasetId}/runs/compare")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"runA": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"avgScore": 123
},
"runB": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"avgScore": 123
},
"rows": [
{
"datasetItemId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"input": "<unknown>",
"a": {
"traceId": "<string>",
"score": 123
},
"b": {
"traceId": "<string>",
"score": 123
}
}
]
}{
"error": "Unauthorized",
"code": "rate_limit_exceeded"
}{
"error": "Unauthorized",
"code": "rate_limit_exceeded"
}Authorizations
Project API key. Manage keys in the Zespan dashboard under project settings.
Path Parameters
Dataset id.
Query Parameters
First run id.
Second run id.
Project id. Optional and ignored when authenticating with an API key, since the key already scopes the request to one project.
Was this page helpful?
⌘I

