Extractors
List Disposition Extractors
List the extractors available to an agent’s dispositions.
GET
/
v2
/
agents
/
{agent_id}
/
dispositions
/
extractors
List Disposition Extractors
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractors \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractors"
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/extractors', 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/extractors",
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/extractors"
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/extractors")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractors")
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": [
{
"id": "a3d48658-9827-4726-8560-1da7c46402ed",
"agentId": null,
"key": "appointment_outcome",
"name": "Appointment outcome",
"description": "Whether an appointment was booked, rescheduled, or declined.",
"currentVersionId": "1164a759-ad0c-4e44-aeb9-f7b1e3ea1704",
"activeVersionId": "7146de47-7558-47b9-b690-82fca5ef50a9",
"draftRevision": 3,
"createdAt": "2026-09-01T15:02:11.480Z",
"updatedAt": "2026-09-09T18:44:03.117Z"
},
{
"id": "dca50693-63e3-4ffd-a7c1-8511df6aa6f2",
"agentId": "eaf4ec8e-74d9-4bbc-a5e6-7cf10e4ff151",
"key": "callback_window",
"name": "Callback window",
"description": null,
"currentVersionId": "cde3f9e9-8448-4e1a-ad26-6f3f245f8d00",
"activeVersionId": null,
"draftRevision": 1,
"createdAt": "2026-09-08T10:21:37.902Z",
"updatedAt": "2026-09-08T10:21:37.902Z"
}
],
"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
Path Parameters
The agent’s unique identifier. A malformed id returns
400 with the message agentId must be a valid UUID.Response
Array of extractor objects.
Show extractor object
Show extractor object
null for an organization-wide extractor available to every agent. Otherwise the id of the one agent it is scoped to.The most recently published version, or
null if the extractor has never been published. Only published extractors appear in the extractor catalog.Concurrency counter. Starts at
1 and increments on every draft update and publish. Pass it as expectedDraftRevision when updating or publishing.{
"data": [
{
"id": "a3d48658-9827-4726-8560-1da7c46402ed",
"agentId": null,
"key": "appointment_outcome",
"name": "Appointment outcome",
"description": "Whether an appointment was booked, rescheduled, or declined.",
"currentVersionId": "1164a759-ad0c-4e44-aeb9-f7b1e3ea1704",
"activeVersionId": "7146de47-7558-47b9-b690-82fca5ef50a9",
"draftRevision": 3,
"createdAt": "2026-09-01T15:02:11.480Z",
"updatedAt": "2026-09-09T18:44:03.117Z"
},
{
"id": "dca50693-63e3-4ffd-a7c1-8511df6aa6f2",
"agentId": "eaf4ec8e-74d9-4bbc-a5e6-7cf10e4ff151",
"key": "callback_window",
"name": "Callback window",
"description": null,
"currentVersionId": "cde3f9e9-8448-4e1a-ad26-6f3f245f8d00",
"activeVersionId": null,
"draftRevision": 1,
"createdAt": "2026-09-08T10:21:37.902Z",
"updatedAt": "2026-09-08T10:21:37.902Z"
}
],
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Docs for agents: llms.txt
Was this page helpful?
⌘I
List Disposition Extractors
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractors \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractors"
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/extractors', 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/extractors",
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/extractors"
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/extractors")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractors")
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": [
{
"id": "a3d48658-9827-4726-8560-1da7c46402ed",
"agentId": null,
"key": "appointment_outcome",
"name": "Appointment outcome",
"description": "Whether an appointment was booked, rescheduled, or declined.",
"currentVersionId": "1164a759-ad0c-4e44-aeb9-f7b1e3ea1704",
"activeVersionId": "7146de47-7558-47b9-b690-82fca5ef50a9",
"draftRevision": 3,
"createdAt": "2026-09-01T15:02:11.480Z",
"updatedAt": "2026-09-09T18:44:03.117Z"
},
{
"id": "dca50693-63e3-4ffd-a7c1-8511df6aa6f2",
"agentId": "eaf4ec8e-74d9-4bbc-a5e6-7cf10e4ff151",
"key": "callback_window",
"name": "Callback window",
"description": null,
"currentVersionId": "cde3f9e9-8448-4e1a-ad26-6f3f245f8d00",
"activeVersionId": null,
"draftRevision": 1,
"createdAt": "2026-09-08T10:21:37.902Z",
"updatedAt": "2026-09-08T10:21:37.902Z"
}
],
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}