Estimate Eval Run
curl --request POST \
--url https://api.bland.ai/v1/evals/runs/estimates \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"call_ids": {},
"attached_agents": {},
"workbench_setup_version_id": "<string>"
}
'import requests
url = "https://api.bland.ai/v1/evals/runs/estimates"
payload = {
"call_ids": {},
"attached_agents": {},
"workbench_setup_version_id": "<string>"
}
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({call_ids: {}, attached_agents: {}, workbench_setup_version_id: '<string>'})
};
fetch('https://api.bland.ai/v1/evals/runs/estimates', 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.bland.ai/v1/evals/runs/estimates",
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([
'call_ids' => [
],
'attached_agents' => [
],
'workbench_setup_version_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>"
],
]);
$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.bland.ai/v1/evals/runs/estimates"
payload := strings.NewReader("{\n \"call_ids\": {},\n \"attached_agents\": {},\n \"workbench_setup_version_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v1/evals/runs/estimates")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"call_ids\": {},\n \"attached_agents\": {},\n \"workbench_setup_version_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/evals/runs/estimates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"call_ids\": {},\n \"attached_agents\": {},\n \"workbench_setup_version_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"resolved_atom_count": 150,
"estimated_input_tokens": 420000,
"estimated_output_tokens": 15000,
"estimated_cost_usd_cents": 87.5
},
"errors": null
}
Experiments
Estimate Eval Run
Preview the size and cost of a run before starting it.
POST
/
v1
/
evals
/
runs
/
estimates
Estimate Eval Run
curl --request POST \
--url https://api.bland.ai/v1/evals/runs/estimates \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"call_ids": {},
"attached_agents": {},
"workbench_setup_version_id": "<string>"
}
'import requests
url = "https://api.bland.ai/v1/evals/runs/estimates"
payload = {
"call_ids": {},
"attached_agents": {},
"workbench_setup_version_id": "<string>"
}
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({call_ids: {}, attached_agents: {}, workbench_setup_version_id: '<string>'})
};
fetch('https://api.bland.ai/v1/evals/runs/estimates', 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.bland.ai/v1/evals/runs/estimates",
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([
'call_ids' => [
],
'attached_agents' => [
],
'workbench_setup_version_id' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"authorization: <authorization>"
],
]);
$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.bland.ai/v1/evals/runs/estimates"
payload := strings.NewReader("{\n \"call_ids\": {},\n \"attached_agents\": {},\n \"workbench_setup_version_id\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v1/evals/runs/estimates")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"call_ids\": {},\n \"attached_agents\": {},\n \"workbench_setup_version_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/evals/runs/estimates")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"call_ids\": {},\n \"attached_agents\": {},\n \"workbench_setup_version_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"data": {
"resolved_atom_count": 150,
"estimated_input_tokens": 420000,
"estimated_output_tokens": 15000,
"estimated_cost_usd_cents": 87.5
},
"errors": null
}
Headers
string
required
Your API key for authentication.
Body Parameters
Accepts the same body as Create Eval Run. Key fields:array of string
required
The call IDs to include in the estimate. Between 1 and 5000 calls.
array of objects
The eval agents to score with. Required when
workbench_setup_version_id is not provided.string
Pinned workbench setup version whose agent roster supplies the agents. Required when
attached_agents is not provided. Must be provided together with workbench_setup_id.Response
integer
Number of call-by-agent evaluations the run will perform.
integer
Estimated number of input tokens consumed by judge calls.
integer
Estimated number of output tokens produced by judge calls.
number
Estimated billable cost in USD cents.
{
"data": {
"resolved_atom_count": 150,
"estimated_input_tokens": 420000,
"estimated_output_tokens": 15000,
"estimated_cost_usd_cents": 87.5
},
"errors": null
}
Was this page helpful?
⌘I