List Agent Versions
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/versions \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/versions"
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', 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",
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"
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")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/versions")
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": "93fcf9e7-a820-4355-a36b-266f0c0ad2f4",
"agent_id": "475fd530-91f5-4fcf-8743-ab55966a7f86",
"name": null,
"created_via": "autosave",
"created_by": "cefd689f-49e5-4ce7-ac04-393976a57961",
"created_at": "2026-09-10T23:41:07.902Z",
"semver": null
},
{
"id": "b33360ee-7e59-46bb-a68a-d79102d1c9a0",
"agent_id": "475fd530-91f5-4fcf-8743-ab55966a7f86",
"name": "Adds booking flow",
"created_via": "manual",
"created_by": "cefd689f-49e5-4ce7-ac04-393976a57961",
"created_at": "2026-09-10T23:02:11.418Z",
"semver": "1.2.0"
}
],
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Versions
List Agent Versions
List an agent’s saved versions, newest first.
GET
/
v2
/
agents
/
{agent_id}
/
versions
List Agent Versions
curl --request GET \
--url https://api.bland.ai/v2/agents/{agent_id}/versions \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v2/agents/{agent_id}/versions"
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', 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",
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"
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")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v2/agents/{agent_id}/versions")
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": "93fcf9e7-a820-4355-a36b-266f0c0ad2f4",
"agent_id": "475fd530-91f5-4fcf-8743-ab55966a7f86",
"name": null,
"created_via": "autosave",
"created_by": "cefd689f-49e5-4ce7-ac04-393976a57961",
"created_at": "2026-09-10T23:41:07.902Z",
"semver": null
},
{
"id": "b33360ee-7e59-46bb-a68a-d79102d1c9a0",
"agent_id": "475fd530-91f5-4fcf-8743-ab55966a7f86",
"name": "Adds booking flow",
"created_via": "manual",
"created_by": "cefd689f-49e5-4ce7-ac04-393976a57961",
"created_at": "2026-09-10T23:02:11.418Z",
"semver": "1.2.0"
}
],
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Overview
Returns version metadata for the agent’s dev timeline, or for one branch’s own saves whenbranch is set, ordered by created_at descending. Snapshots are omitted because they can be large; read one with Get Latest Agent Version or, for a published version, Get Agent Version.
Headers
string
required
Your API key for authentication.
Path Parameters
string
required
The agent’s unique identifier.
Query Parameters
integer
default:"50"
Maximum number of versions to return. Minimum
1, maximum 200. Values outside that range are clamped; a non-numeric value falls back to the default.string
A branch ID. When set, only that branch’s own saves are listed (its base version is not included). When omitted, only dev-timeline versions are listed and branch saves are excluded. An unknown branch ID returns an empty array.
Response
array
Array of version metadata objects.
Show version metadata object
Show version metadata object
string
Unique identifier for the version.
string
The agent this version belongs to.
string | null
The version’s display name, or
null if none was given.string
manual or autosave.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.
string | null
The semantic version minted when this version was first published (for example
1.2.0), or null if it has never been published.null | array
null on success, or a list of error objects if the request failed.{
"data": [
{
"id": "93fcf9e7-a820-4355-a36b-266f0c0ad2f4",
"agent_id": "475fd530-91f5-4fcf-8743-ab55966a7f86",
"name": null,
"created_via": "autosave",
"created_by": "cefd689f-49e5-4ce7-ac04-393976a57961",
"created_at": "2026-09-10T23:41:07.902Z",
"semver": null
},
{
"id": "b33360ee-7e59-46bb-a68a-d79102d1c9a0",
"agent_id": "475fd530-91f5-4fcf-8743-ab55966a7f86",
"name": "Adds booking flow",
"created_via": "manual",
"created_by": "cefd689f-49e5-4ce7-ac04-393976a57961",
"created_at": "2026-09-10T23:02:11.418Z",
"semver": "1.2.0"
}
],
"errors": null
}
{
"data": null,
"errors": [
{
"error": "NOT_FOUND",
"message": "Agent not found"
}
]
}
Docs for agents: llms.txt
Was this page helpful?