Evaluate a version
curl --request POST \
--url https://api.galtea.ai/evaluations/fromVersion \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"versionId": "ver_123",
"specificationIds": [
"spec_123",
"spec_456"
]
}
'import requests
url = "https://api.galtea.ai/evaluations/fromVersion"
payload = {
"versionId": "ver_123",
"specificationIds": ["spec_123", "spec_456"]
}
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({versionId: 'ver_123', specificationIds: ['spec_123', 'spec_456']})
};
fetch('https://api.galtea.ai/evaluations/fromVersion', 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.galtea.ai/evaluations/fromVersion",
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([
'versionId' => 'ver_123',
'specificationIds' => [
'spec_123',
'spec_456'
]
]),
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://api.galtea.ai/evaluations/fromVersion"
payload := strings.NewReader("{\n \"versionId\": \"ver_123\",\n \"specificationIds\": [\n \"spec_123\",\n \"spec_456\"\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://api.galtea.ai/evaluations/fromVersion")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"versionId\": \"ver_123\",\n \"specificationIds\": [\n \"spec_123\",\n \"spec_456\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/evaluations/fromVersion")
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 \"versionId\": \"ver_123\",\n \"specificationIds\": [\n \"spec_123\",\n \"spec_456\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jobId": "<string>",
"testCaseCount": 123,
"message": "<string>",
"specifications": [
{
"specificationId": "<string>",
"testCount": 123,
"metricCount": 123
}
]
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}Evaluate a version
Automatically evaluates a version by resolving its product’s specifications, their linked metrics, and their linked tests. Creates inference generation jobs for every test case across all linked tests. Specifications without tests or without metrics are silently skipped. See Evaluations.
POST
/
evaluations
/
fromVersion
Evaluate a version
curl --request POST \
--url https://api.galtea.ai/evaluations/fromVersion \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"versionId": "ver_123",
"specificationIds": [
"spec_123",
"spec_456"
]
}
'import requests
url = "https://api.galtea.ai/evaluations/fromVersion"
payload = {
"versionId": "ver_123",
"specificationIds": ["spec_123", "spec_456"]
}
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({versionId: 'ver_123', specificationIds: ['spec_123', 'spec_456']})
};
fetch('https://api.galtea.ai/evaluations/fromVersion', 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.galtea.ai/evaluations/fromVersion",
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([
'versionId' => 'ver_123',
'specificationIds' => [
'spec_123',
'spec_456'
]
]),
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://api.galtea.ai/evaluations/fromVersion"
payload := strings.NewReader("{\n \"versionId\": \"ver_123\",\n \"specificationIds\": [\n \"spec_123\",\n \"spec_456\"\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://api.galtea.ai/evaluations/fromVersion")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"versionId\": \"ver_123\",\n \"specificationIds\": [\n \"spec_123\",\n \"spec_456\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.galtea.ai/evaluations/fromVersion")
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 \"versionId\": \"ver_123\",\n \"specificationIds\": [\n \"spec_123\",\n \"spec_456\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jobId": "<string>",
"testCaseCount": 123,
"message": "<string>",
"specifications": [
{
"specificationId": "<string>",
"testCount": 123,
"metricCount": 123
}
]
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}{
"error": "Error type",
"message": "Error message description"
}Authorizations
API key authorization. Pass your API key in the Authorization header as a Bearer token. Both new (gsk_*) and legacy (gsk-) API keys are accepted, e.g. Authorization: Bearer gsk_... or Authorization: Bearer gsk-....
Body
application/json
⌘I