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"
}
]
}
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
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 objects.
Show extractor object
Show extractor object
string
Unique identifier for the extractor.
string | null
null for an organization-wide extractor available to every agent. Otherwise the id of the one agent it is scoped to.string
Stable machine key, unique within your organization.
string
The extractor’s display name.
string | null
Optional description.
string
The
editable draft version. Pass it as expectedVersionId when updating or publishing.string | null
The most recently published version, or
null if the extractor has never been published. Only published extractors appear in the extractor catalog.integer
Concurrency counter. Starts at
1 and increments on every draft update and publish. Pass it as expectedDraftRevision when updating or publishing.string
ISO 8601 timestamp of creation.
string
ISO 8601 timestamp of the last update.
null | array
null on success, or a list of error objects if the request failed.{
"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?