Catalogs
Get Model Profile Catalog
List the model profiles available to extractors.
GET
/
v2
/
agents
/
{agent_id}
/
dispositions
/
model-profile-catalog
Get Model Profile Catalog
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions/model-profile-catalog \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions/model-profile-catalog"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v2/agents/{agent_id}/dispositions/model-profile-catalog', 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/v2/agents/{agent_id}/dispositions/model-profile-catalog",
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: <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"
"net/http"
"io"
)
func main() {
url := "https://api.bland.ai/v2/agents/{agent_id}/dispositions/model-profile-catalog"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v2/agents/{agent_id}/dispositions/model-profile-catalog")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions/model-profile-catalog")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": {
"profiles": [
{
"key": "balanced",
"label": "Balanced",
"description": "Recommended quality, latency, and cost for most calls.",
"supportsAudio": true,
"supportsBatch": false
},
{
"key": "fast",
"label": "Fast",
"description": "Lower latency for straightforward text extraction.",
"supportsAudio": false,
"supportsBatch": false
},
{
"key": "high_accuracy",
"label": "High accuracy",
"description": "More reasoning for complex text extraction.",
"supportsAudio": false,
"supportsBatch": false
}
]
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Overview
Dispositions are enabled per organization. If your organization does not have access, these endpoints return
404.inferenceConfig.modelProfileKey may name. A profile is an opaque handle for a quality, latency, and cost trade-off; only profiles currently available for structured extraction are listed. Use a profile’s key in Create Disposition Extractor or Update Disposition Extractor Draft.
Headers
Path Parameters
The agent’s unique identifier. A malformed id returns
400 with the message agentId must be a valid UUID.Response
Array of model profile entries.
Show profile entry
Show profile entry
The value to pass as
modelProfileKey. balanced is the default when an extractor omits the key.true when an extractor using this profile may include audio_recording in contextSources. Profiles with false reject that source with a 400.{
"data": {
"profiles": [
{
"key": "balanced",
"label": "Balanced",
"description": "Recommended quality, latency, and cost for most calls.",
"supportsAudio": true,
"supportsBatch": false
},
{
"key": "fast",
"label": "Fast",
"description": "Lower latency for straightforward text extraction.",
"supportsAudio": false,
"supportsBatch": false
},
{
"key": "high_accuracy",
"label": "High accuracy",
"description": "More reasoning for complex text extraction.",
"supportsAudio": false,
"supportsBatch": false
}
]
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Docs for agents: llms.txt
Was this page helpful?
⌘I
Get Model Profile Catalog
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions/model-profile-catalog \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions/model-profile-catalog"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v2/agents/{agent_id}/dispositions/model-profile-catalog', 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/v2/agents/{agent_id}/dispositions/model-profile-catalog",
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: <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"
"net/http"
"io"
)
func main() {
url := "https://api.bland.ai/v2/agents/{agent_id}/dispositions/model-profile-catalog"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("authorization", "<authorization>")
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.bland.ai/v2/agents/{agent_id}/dispositions/model-profile-catalog")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions/model-profile-catalog")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"data": {
"profiles": [
{
"key": "balanced",
"label": "Balanced",
"description": "Recommended quality, latency, and cost for most calls.",
"supportsAudio": true,
"supportsBatch": false
},
{
"key": "fast",
"label": "Fast",
"description": "Lower latency for straightforward text extraction.",
"supportsAudio": false,
"supportsBatch": false
},
{
"key": "high_accuracy",
"label": "High accuracy",
"description": "More reasoning for complex text extraction.",
"supportsAudio": false,
"supportsBatch": false
}
]
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}