List Dispositions
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions"
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', 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",
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"
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")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions")
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": {
"dispositions": [
{
"id": "a2eb0578-7b5b-4dbf-9ef9-47c9612208cf",
"agentId": "93431be6-4e2b-489d-96b3-2de573e1a11e",
"key": "appointment_outcome",
"state": "enabled",
"publishedVersionId": "139e85f9-81e8-4371-92b6-649922bc32d1",
"publishedVersionNumber": 3,
"draftRevision": 7,
"draftValueCount": 2,
"hasUnpublishedChanges": false,
"name": "Appointment outcome",
"description": "Did the caller book, and did they ask for a callback?",
"createdAt": "2026-08-30T15:21:04.118Z",
"updatedAt": "2026-09-09T11:47:52.903Z"
},
{
"id": "1019d89e-7d92-4087-aaf0-520e4ad21577",
"agentId": "93431be6-4e2b-489d-96b3-2de573e1a11e",
"key": "escalation_reason",
"state": "disabled",
"publishedVersionId": null,
"publishedVersionNumber": null,
"draftRevision": 2,
"draftValueCount": 1,
"hasUnpublishedChanges": true,
"name": "Escalation reason",
"description": "",
"createdAt": "2026-09-08T09:02:33.560Z",
"updatedAt": "2026-09-08T09:15:10.221Z"
}
]
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Dispositions
List Dispositions
List the dispositions defined on an agent.
GET
/
v2
/
agents
/
{agent_id}
/
dispositions
List Dispositions
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions"
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', 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",
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"
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")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions")
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": {
"dispositions": [
{
"id": "a2eb0578-7b5b-4dbf-9ef9-47c9612208cf",
"agentId": "93431be6-4e2b-489d-96b3-2de573e1a11e",
"key": "appointment_outcome",
"state": "enabled",
"publishedVersionId": "139e85f9-81e8-4371-92b6-649922bc32d1",
"publishedVersionNumber": 3,
"draftRevision": 7,
"draftValueCount": 2,
"hasUnpublishedChanges": false,
"name": "Appointment outcome",
"description": "Did the caller book, and did they ask for a callback?",
"createdAt": "2026-08-30T15:21:04.118Z",
"updatedAt": "2026-09-09T11:47:52.903Z"
},
{
"id": "1019d89e-7d92-4087-aaf0-520e4ad21577",
"agentId": "93431be6-4e2b-489d-96b3-2de573e1a11e",
"key": "escalation_reason",
"state": "disabled",
"publishedVersionId": null,
"publishedVersionNumber": null,
"draftRevision": 2,
"draftValueCount": 1,
"hasUnpublishedChanges": true,
"name": "Escalation reason",
"description": "",
"createdAt": "2026-09-08T09:02:33.560Z",
"updatedAt": "2026-09-08T09:15:10.221Z"
}
]
},
"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. Must be a UUID; otherwise returns
400 with the message agentId must be a valid UUID. Returns 404 Agent not found if the agent is not in your organization.Response
array
Disposition summaries ordered by
createdAt ascending.Show disposition object
Show disposition object
string
Unique identifier for the disposition.
string
The agent this disposition belongs to.
string
Stable slug, unique per agent. Set at creation and never changes.
string
disabled or enabled. A new disposition starts disabled. Publish Disposition sets enabled; Disable Disposition sets disabled again.string | null
The most recently published version, or
null if never published.number | null
Sequential number of that version, starting at
1, or null if never published.number
Optimistic-concurrency counter for the draft. Starts at
1 and increments on every draft update and publish. Pass it back as expectedDraftRevision when writing.number
Number of values in the current draft definition.
boolean
true when the draft differs from the published version, or when nothing has been published yet.string
The draft definition’s name.
string
The draft definition’s description. May be an empty string.
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": {
"dispositions": [
{
"id": "a2eb0578-7b5b-4dbf-9ef9-47c9612208cf",
"agentId": "93431be6-4e2b-489d-96b3-2de573e1a11e",
"key": "appointment_outcome",
"state": "enabled",
"publishedVersionId": "139e85f9-81e8-4371-92b6-649922bc32d1",
"publishedVersionNumber": 3,
"draftRevision": 7,
"draftValueCount": 2,
"hasUnpublishedChanges": false,
"name": "Appointment outcome",
"description": "Did the caller book, and did they ask for a callback?",
"createdAt": "2026-08-30T15:21:04.118Z",
"updatedAt": "2026-09-09T11:47:52.903Z"
},
{
"id": "1019d89e-7d92-4087-aaf0-520e4ad21577",
"agentId": "93431be6-4e2b-489d-96b3-2de573e1a11e",
"key": "escalation_reason",
"state": "disabled",
"publishedVersionId": null,
"publishedVersionNumber": null,
"draftRevision": 2,
"draftValueCount": 1,
"hasUnpublishedChanges": true,
"name": "Escalation reason",
"description": "",
"createdAt": "2026-09-08T09:02:33.560Z",
"updatedAt": "2026-09-08T09:15:10.221Z"
}
]
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Docs for agents: llms.txt
Was this page helpful?