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
Path Parameters
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
The published version, with its snapshot.
Show version object
Show version object
The saved configuration:
behavior (the node and edge graph), settings (agent-wide options), contact (inboundNumbers), and knowledge (kbIds) when present.ID of the user who saved the version. With an API key, this is the user the key belongs to.
null when no user was recorded.{
"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?
⌘I
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"
}
]
}