Get Extractor Catalog
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractor-catalog \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractor-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/extractor-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/extractor-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/extractor-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/extractor-catalog")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractor-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": [
{
"extractorId": "f4e932c3-4a1d-4551-9a28-235eb2b85ac5",
"extractorVersionId": "5b346f5f-ed6e-4282-b41b-48ebca9f9baf",
"key": "appointment_outcome",
"name": "Appointment outcome",
"description": "Whether an appointment was booked, rescheduled, or declined.",
"outputSchema": {
"kind": "enum",
"description": "Final appointment outcome for this call.",
"options": [
{ "key": "booked", "label": "Booked" },
{ "key": "rescheduled", "label": "Rescheduled" },
{ "key": "declined", "label": "Declined" },
{ "key": "unclear", "label": "Unclear" }
]
},
"inputSourceIds": ["transcript", "call_metadata"],
"scopedToAgent": false
},
{
"extractorId": "8d207a81-fa1e-4210-b9c2-c1e708bb4327",
"extractorVersionId": "9c63687a-fa6c-4613-8c22-e72c63aa4fa4",
"key": "callback_window",
"name": "Callback window",
"description": null,
"outputSchema": {
"kind": "object",
"properties": {
"requested": { "kind": "boolean", "description": "Whether the caller asked for a callback." },
"window_start": { "kind": "string", "format": "date-time" },
"window_end": { "kind": "string", "format": "date-time" }
},
"required": ["requested"]
},
"inputSourceIds": ["transcript"],
"scopedToAgent": true
}
],
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Catalogs
Get Extractor Catalog
List the published extractors a disposition can pin.
GET
/
v2
/
agents
/
{agent_id}
/
dispositions
/
extractor-catalog
Get Extractor Catalog
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractor-catalog \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractor-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/extractor-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/extractor-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/extractor-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/extractor-catalog")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractor-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": [
{
"extractorId": "f4e932c3-4a1d-4551-9a28-235eb2b85ac5",
"extractorVersionId": "5b346f5f-ed6e-4282-b41b-48ebca9f9baf",
"key": "appointment_outcome",
"name": "Appointment outcome",
"description": "Whether an appointment was booked, rescheduled, or declined.",
"outputSchema": {
"kind": "enum",
"description": "Final appointment outcome for this call.",
"options": [
{ "key": "booked", "label": "Booked" },
{ "key": "rescheduled", "label": "Rescheduled" },
{ "key": "declined", "label": "Declined" },
{ "key": "unclear", "label": "Unclear" }
]
},
"inputSourceIds": ["transcript", "call_metadata"],
"scopedToAgent": false
},
{
"extractorId": "8d207a81-fa1e-4210-b9c2-c1e708bb4327",
"extractorVersionId": "9c63687a-fa6c-4613-8c22-e72c63aa4fa4",
"key": "callback_window",
"name": "Callback window",
"description": null,
"outputSchema": {
"kind": "object",
"properties": {
"requested": { "kind": "boolean", "description": "Whether the caller asked for a callback." },
"window_start": { "kind": "string", "format": "date-time" },
"window_end": { "kind": "string", "format": "date-time" }
},
"required": ["requested"]
},
"inputSourceIds": ["transcript"],
"scopedToAgent": true
}
],
"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.Headers
string
required
Your API key for authentication.
Path Parameters
string
required
The agent’s unique identifier. A malformed id returns
400 with the message agentId must be a valid UUID.Response
array
Array of extractor catalog entries. Empty when no extractor has been published.
Show catalog entry
Show catalog entry
string
Unique identifier for the extractor. Use it as
extractorId in a disposition value’s structured_extraction source.string
The published version to pin as
extractorVersionId. Read its full body with Get Disposition Extractor Version.string
Stable machine key, unique within your organization.
string
Display name of the published version.
string | null
Description of the published version.
object
The value schema the published version produces: a
kind of boolean, string, number, enum, array, or object plus kind-specific fields. A disposition value pinning this extractor uses this as its schema.array
The evidence the published version reads, from
transcript, audio_recording, call_metadata, pathway_logs, tool_logs, variables, agent_config, call_config.boolean
true when the extractor is scoped to this agent, false when it is organization-wide.null | array
null on success, or a list of error objects if the request failed.{
"data": [
{
"extractorId": "f4e932c3-4a1d-4551-9a28-235eb2b85ac5",
"extractorVersionId": "5b346f5f-ed6e-4282-b41b-48ebca9f9baf",
"key": "appointment_outcome",
"name": "Appointment outcome",
"description": "Whether an appointment was booked, rescheduled, or declined.",
"outputSchema": {
"kind": "enum",
"description": "Final appointment outcome for this call.",
"options": [
{ "key": "booked", "label": "Booked" },
{ "key": "rescheduled", "label": "Rescheduled" },
{ "key": "declined", "label": "Declined" },
{ "key": "unclear", "label": "Unclear" }
]
},
"inputSourceIds": ["transcript", "call_metadata"],
"scopedToAgent": false
},
{
"extractorId": "8d207a81-fa1e-4210-b9c2-c1e708bb4327",
"extractorVersionId": "9c63687a-fa6c-4613-8c22-e72c63aa4fa4",
"key": "callback_window",
"name": "Callback window",
"description": null,
"outputSchema": {
"kind": "object",
"properties": {
"requested": { "kind": "boolean", "description": "Whether the caller asked for a callback." },
"window_start": { "kind": "string", "format": "date-time" },
"window_end": { "kind": "string", "format": "date-time" }
},
"required": ["requested"]
},
"inputSourceIds": ["transcript"],
"scopedToAgent": true
}
],
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Docs for agents: llms.txt
Was this page helpful?