Get Agent Version
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/versions/{semver} \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/versions/{semver}"
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}/versions/{semver}', 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}/versions/{semver}",
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}/versions/{semver}"
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}/versions/{semver}")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/versions/{semver}")
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": "791e3da4-c453-45cb-9b86-3a6ef7666d3e",
"org_id": "5c51e1ad-bbd6-4f6f-a139-a308e7c26c05",
"agent_id": "405c75d5-c228-462d-bfe4-c4ce0b5c9f7f",
"branch_id": null,
"snapshot": {
"behavior": {
"nodes": [
{
"id": "e4d8dda7-16cb-4999-a6b3-e107ac8d8a21",
"type": "start",
"position": { "x": 0, "y": 0 },
"data": {}
},
{
"id": "bb73b6ae-8a68-4836-a36a-215df13f7c85",
"type": "scenario",
"position": { "x": 320, "y": 0 },
"data": {
"name": "Book appointment",
"rule": "Collect the caller's preferred date and time, then confirm the booking.",
"target": { "kind": "dialogue", "label": "Book appointment" },
"loopWhile": "",
"variables": [],
"entry": {
"mode": "llm",
"label": "Caller wants to book",
"description": "",
"alwaysPick": false,
"conditions": []
}
}
}
],
"edges": [
{
"id": "e51ac686-e907-472a-a2e1-df1ccf6ac0a3",
"source": "e4d8dda7-16cb-4999-a6b3-e107ac8d8a21",
"target": "bb73b6ae-8a68-4836-a36a-215df13f7c85"
}
]
},
"settings": {
"displayName": "Front desk",
"systemPrompt": "You are the front desk assistant for a dental clinic.",
"languages": ["en"],
"enableMemory": false,
"backgroundNoise": "off"
},
"contact": {
"inboundNumbers": ["+14155550123"]
},
"knowledge": {
"kbIds": []
}
},
"name": "Adds booking flow",
"created_via": "manual",
"revision": 0,
"created_by": "6d598dbb-36fc-4001-adab-8004fa6b230d",
"created_at": "2026-09-10T23:02:11.418Z"
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "INVALID_VERSION",
"message": "version must be a semantic version like 1.2.0"
}
]
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent version not found"
}
]
}
Versions
Get Agent Version
Retrieve a published version by its semantic version.
GET
/
v2
/
agents
/
{agent_id}
/
versions
/
{semver}
Get Agent Version
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/versions/{semver} \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/versions/{semver}"
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}/versions/{semver}', 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}/versions/{semver}",
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}/versions/{semver}"
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}/versions/{semver}")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/versions/{semver}")
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": "791e3da4-c453-45cb-9b86-3a6ef7666d3e",
"org_id": "5c51e1ad-bbd6-4f6f-a139-a308e7c26c05",
"agent_id": "405c75d5-c228-462d-bfe4-c4ce0b5c9f7f",
"branch_id": null,
"snapshot": {
"behavior": {
"nodes": [
{
"id": "e4d8dda7-16cb-4999-a6b3-e107ac8d8a21",
"type": "start",
"position": { "x": 0, "y": 0 },
"data": {}
},
{
"id": "bb73b6ae-8a68-4836-a36a-215df13f7c85",
"type": "scenario",
"position": { "x": 320, "y": 0 },
"data": {
"name": "Book appointment",
"rule": "Collect the caller's preferred date and time, then confirm the booking.",
"target": { "kind": "dialogue", "label": "Book appointment" },
"loopWhile": "",
"variables": [],
"entry": {
"mode": "llm",
"label": "Caller wants to book",
"description": "",
"alwaysPick": false,
"conditions": []
}
}
}
],
"edges": [
{
"id": "e51ac686-e907-472a-a2e1-df1ccf6ac0a3",
"source": "e4d8dda7-16cb-4999-a6b3-e107ac8d8a21",
"target": "bb73b6ae-8a68-4836-a36a-215df13f7c85"
}
]
},
"settings": {
"displayName": "Front desk",
"systemPrompt": "You are the front desk assistant for a dental clinic.",
"languages": ["en"],
"enableMemory": false,
"backgroundNoise": "off"
},
"contact": {
"inboundNumbers": ["+14155550123"]
},
"knowledge": {
"kbIds": []
}
},
"name": "Adds booking flow",
"created_via": "manual",
"revision": 0,
"created_by": "6d598dbb-36fc-4001-adab-8004fa6b230d",
"created_at": "2026-09-10T23:02:11.418Z"
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "INVALID_VERSION",
"message": "version must be a semantic version like 1.2.0"
}
]
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent version not found"
}
]
}
Overview
Returns the full snapshot of a version that has been published, resolved by the semantic version minted at publish time (for example1.2.0). Versions that were saved but never published have no semver; read those with Get Latest Agent Version. Find semvers with List Agent Versions or List Agent Deployments.
Headers
string
required
Your API key for authentication.
Path Parameters
string
required
The agent’s unique identifier.
string
required
The version’s semantic version in strict
MAJOR.MINOR.PATCH form with numeric components, for example 1.2.0. No v prefix and no prerelease or build suffix. Any other format returns 400 INVALID_VERSION. A well-formed semver that was never minted for this agent returns 404 NOT_FOUND.Response
object
The published version, with its snapshot.
Show version object
Show version object
string
Unique identifier for the version.
string
The organization that owns the agent.
string
The agent this version belongs to.
string | null
The branch the version was saved onto, or
null on the dev timeline.object
The saved configuration:
behavior (the node and edge graph), settings (agent-wide options), contact (inboundNumbers), and knowledge (kbIds) when present.string | null
The version’s display name, or
null if none was given.string
manual or autosave.integer
Number of times an autosave rewrote this row in place before it was published.
string | null
ID of the user who saved the version, or
null when saved with an org-level key.string
ISO 8601 timestamp of the save.
null | array
null on success, or a list of error objects if the request failed.{
"data": {
"id": "791e3da4-c453-45cb-9b86-3a6ef7666d3e",
"org_id": "5c51e1ad-bbd6-4f6f-a139-a308e7c26c05",
"agent_id": "405c75d5-c228-462d-bfe4-c4ce0b5c9f7f",
"branch_id": null,
"snapshot": {
"behavior": {
"nodes": [
{
"id": "e4d8dda7-16cb-4999-a6b3-e107ac8d8a21",
"type": "start",
"position": { "x": 0, "y": 0 },
"data": {}
},
{
"id": "bb73b6ae-8a68-4836-a36a-215df13f7c85",
"type": "scenario",
"position": { "x": 320, "y": 0 },
"data": {
"name": "Book appointment",
"rule": "Collect the caller's preferred date and time, then confirm the booking.",
"target": { "kind": "dialogue", "label": "Book appointment" },
"loopWhile": "",
"variables": [],
"entry": {
"mode": "llm",
"label": "Caller wants to book",
"description": "",
"alwaysPick": false,
"conditions": []
}
}
}
],
"edges": [
{
"id": "e51ac686-e907-472a-a2e1-df1ccf6ac0a3",
"source": "e4d8dda7-16cb-4999-a6b3-e107ac8d8a21",
"target": "bb73b6ae-8a68-4836-a36a-215df13f7c85"
}
]
},
"settings": {
"displayName": "Front desk",
"systemPrompt": "You are the front desk assistant for a dental clinic.",
"languages": ["en"],
"enableMemory": false,
"backgroundNoise": "off"
},
"contact": {
"inboundNumbers": ["+14155550123"]
},
"knowledge": {
"kbIds": []
}
},
"name": "Adds booking flow",
"created_via": "manual",
"revision": 0,
"created_by": "6d598dbb-36fc-4001-adab-8004fa6b230d",
"created_at": "2026-09-10T23:02:11.418Z"
},
"errors": null
}
{
"data": null,
"errors": [
{
"error": "INVALID_VERSION",
"message": "version must be a semantic version like 1.2.0"
}
]
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent version not found"
}
]
}
Docs for agents: llms.txt
Was this page helpful?