Get Disposition Extractor Version
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractors/{extractor_id}/versions/{version_id} \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractors/{extractor_id}/versions/{version_id}"
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/{extractor_id}/versions/{version_id}', 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/{extractor_id}/versions/{version_id}",
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/{extractor_id}/versions/{version_id}"
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/{extractor_id}/versions/{version_id}")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractors/{extractor_id}/versions/{version_id}")
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": "5d807088-411f-42b4-8193-a66f1949cd90",
"extractorId": "4edf5644-178b-4d7d-a434-a1b61beb3127",
"versionNumber": 1,
"state": "archived",
"name": "Callback window",
"description": "When the caller asked to be called back.",
"systemPromptMd": "You extract scheduling details from customer service calls.",
"promptMd": "Find the day and time window the caller asked for a callback. Leave fields empty if the caller did not ask for one.",
"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"]
},
"inferenceConfig": {
"modelProfileKey": "high_accuracy",
"temperature": 0,
"maxOutputTokens": 600,
"thinking": "medium",
"contextSources": ["transcript"]
},
"createdAt": "2026-09-03T09:12:50.004Z",
"updatedAt": "2026-09-05T14:30:22.671Z"
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Disposition extractor version not found"
}
]
}
Extractors
Get Disposition Extractor Version
Retrieve one version of an extractor.
GET
/
v2
/
agents
/
{agent_id}
/
dispositions
/
extractors
/
{extractor_id}
/
versions
/
{version_id}
Get Disposition Extractor Version
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractors/{extractor_id}/versions/{version_id} \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractors/{extractor_id}/versions/{version_id}"
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/{extractor_id}/versions/{version_id}', 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/{extractor_id}/versions/{version_id}",
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/{extractor_id}/versions/{version_id}"
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/{extractor_id}/versions/{version_id}")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/dispositions/extractors/{extractor_id}/versions/{version_id}")
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": "5d807088-411f-42b4-8193-a66f1949cd90",
"extractorId": "4edf5644-178b-4d7d-a434-a1b61beb3127",
"versionNumber": 1,
"state": "archived",
"name": "Callback window",
"description": "When the caller asked to be called back.",
"systemPromptMd": "You extract scheduling details from customer service calls.",
"promptMd": "Find the day and time window the caller asked for a callback. Leave fields empty if the caller did not ask for one.",
"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"]
},
"inferenceConfig": {
"modelProfileKey": "high_accuracy",
"temperature": 0,
"maxOutputTokens": 600,
"thinking": "medium",
"contextSources": ["transcript"]
},
"createdAt": "2026-09-03T09:12:50.004Z",
"updatedAt": "2026-09-05T14:30:22.671Z"
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Disposition extractor version not found"
}
]
}
Overview
Dispositions are enabled per organization. If your organization does not have access, these endpoints return
404.editable draft or an archived published version. Published versions are immutable, so this is the exact prompt and schema a disposition runs when it pins that version. Version ids come from currentVersionId and activeVersionId on Get Disposition Extractor and from extractorVersionId on Get Extractor Catalog.
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.string
required
The extractor’s unique identifier. Must be organization-wide or scoped to this agent; otherwise returns
404 with the message Disposition extractor not found. A malformed id returns 400 with the message extractorId must be a valid UUID.string
required
The version’s unique identifier. Must belong to
extractor_id; otherwise returns 404 with the message Disposition extractor version not found. A malformed id returns 400 with the message versionId must be a valid UUID.Response
object
The extractor version.
Show version object
Show version object
string
Unique identifier for the version.
string
The extractor this version belongs to.
integer
Starts at
1 and increments on each publish.string
editable for the live draft, archived for a published version.string
Display name at this version.
string | null
Description at this version.
string
The system prompt. Empty string when none was set.
string
The extraction prompt.
object
The value schema the extractor produces: a
kind of boolean, string, number, enum, array, or object plus kind-specific fields. See Create Disposition Extractor for the full shape.object
modelProfileKey (a key from Get Model Profile Catalog), contextSources (the evidence the extractor reads), and, when set, temperature, maxOutputTokens, and thinking.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": "5d807088-411f-42b4-8193-a66f1949cd90",
"extractorId": "4edf5644-178b-4d7d-a434-a1b61beb3127",
"versionNumber": 1,
"state": "archived",
"name": "Callback window",
"description": "When the caller asked to be called back.",
"systemPromptMd": "You extract scheduling details from customer service calls.",
"promptMd": "Find the day and time window the caller asked for a callback. Leave fields empty if the caller did not ask for one.",
"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"]
},
"inferenceConfig": {
"modelProfileKey": "high_accuracy",
"temperature": 0,
"maxOutputTokens": 600,
"thinking": "medium",
"contextSources": ["transcript"]
},
"createdAt": "2026-09-03T09:12:50.004Z",
"updatedAt": "2026-09-05T14:30:22.671Z"
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Disposition extractor version not found"
}
]
}
Docs for agents: llms.txt
Was this page helpful?