List Issues
curl --request GET \
--url https://api.bland.ai/v1/triage/issues \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v1/triage/issues"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v1/triage/issues', 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/v1/triage/issues",
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/v1/triage/issues"
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/v1/triage/issues")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/triage/issues")
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": {
"items": [
{
"id": "1aec670c-08d1-42dd-933b-b939508e6693",
"triage_id": "T-1042",
"org_id": "4edcdd57-4b33-4d1f-a905-e6859ed8cca9",
"number": 1042,
"title": "Agent skipped the verification step",
"description": "On the Aug 12 demo flow the agent jumped to the closing node...",
"status": "in_progress",
"severity": "high",
"source": "manual",
"category": "Routing",
"owner_id": null,
"assignee_id": "6e6c4e2f-ec3f-4582-bd95-6fa2d6375234",
"author_id": "4fa8878d-4091-4c19-849a-1c64a79609da",
"external_link": null,
"created_at": "2026-05-04T18:24:11.482Z",
"updated_at": "2026-05-06T02:11:08.901Z",
"last_activity_at": "2026-05-06T02:11:08.901Z",
"resource_count": 3,
"flag_count": 1,
"relation_count": 0,
"latest_agent_session": null,
"is_processing": false,
"has_unread_activity": true
},
{
"id": "822508a1-4e77-498b-892a-01cf6f9b1801",
"triage_id": "T-1039",
"org_id": "4edcdd57-4b33-4d1f-a905-e6859ed8cca9",
"number": 1039,
"title": "Caller transferred to wrong queue",
"description": "",
"status": "todo",
"severity": "high",
"source": "automated",
"category": "Routing",
"owner_id": null,
"assignee_id": null,
"author_id": "4fa8878d-4091-4c19-849a-1c64a79609da",
"external_link": null,
"created_at": "2026-05-03T22:14:01.117Z",
"updated_at": "2026-05-03T22:14:01.117Z",
"last_activity_at": "2026-05-03T22:14:01.117Z",
"resource_count": 1,
"flag_count": 0,
"relation_count": 0,
"latest_agent_session": null,
"is_processing": false,
"has_unread_activity": false
}
],
"next_cursor": "822508a1-4e77-498b-892a-01cf6f9b1801"
},
"errors": null
}
Issues
List Issues
List triage issues with filters and keyset pagination.
GET
/
v1
/
triage
/
issues
List Issues
curl --request GET \
--url https://api.bland.ai/v1/triage/issues \
--header 'authorization: <authorization>'import requests
url = "https://api.bland.ai/v1/triage/issues"
headers = {"authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {authorization: '<authorization>'}};
fetch('https://api.bland.ai/v1/triage/issues', 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/v1/triage/issues",
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/v1/triage/issues"
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/v1/triage/issues")
.header("authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/triage/issues")
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": {
"items": [
{
"id": "1aec670c-08d1-42dd-933b-b939508e6693",
"triage_id": "T-1042",
"org_id": "4edcdd57-4b33-4d1f-a905-e6859ed8cca9",
"number": 1042,
"title": "Agent skipped the verification step",
"description": "On the Aug 12 demo flow the agent jumped to the closing node...",
"status": "in_progress",
"severity": "high",
"source": "manual",
"category": "Routing",
"owner_id": null,
"assignee_id": "6e6c4e2f-ec3f-4582-bd95-6fa2d6375234",
"author_id": "4fa8878d-4091-4c19-849a-1c64a79609da",
"external_link": null,
"created_at": "2026-05-04T18:24:11.482Z",
"updated_at": "2026-05-06T02:11:08.901Z",
"last_activity_at": "2026-05-06T02:11:08.901Z",
"resource_count": 3,
"flag_count": 1,
"relation_count": 0,
"latest_agent_session": null,
"is_processing": false,
"has_unread_activity": true
},
{
"id": "822508a1-4e77-498b-892a-01cf6f9b1801",
"triage_id": "T-1039",
"org_id": "4edcdd57-4b33-4d1f-a905-e6859ed8cca9",
"number": 1039,
"title": "Caller transferred to wrong queue",
"description": "",
"status": "todo",
"severity": "high",
"source": "automated",
"category": "Routing",
"owner_id": null,
"assignee_id": null,
"author_id": "4fa8878d-4091-4c19-849a-1c64a79609da",
"external_link": null,
"created_at": "2026-05-03T22:14:01.117Z",
"updated_at": "2026-05-03T22:14:01.117Z",
"last_activity_at": "2026-05-03T22:14:01.117Z",
"resource_count": 1,
"flag_count": 0,
"relation_count": 0,
"latest_agent_session": null,
"is_processing": false,
"has_unread_activity": false
}
],
"next_cursor": "822508a1-4e77-498b-892a-01cf6f9b1801"
},
"errors": null
}
Overview
Lists triage issues for your org. Items have the same shape as Create Issue. The same filters power the Triage dashboard sidebar.Headers
string
required
Your API key for authentication.
Query Parameters
Pagination
integer
default:"50"
Number of issues to return. Minimum 1, maximum 100.
string
Opaque cursor returned as
next_cursor from a previous page. Omit on the first request.Sorting
string
default:"last_activity_at"
Field to sort by. Must be one of:
last_activity_at(default)created_atseveritystatus
id so keyset pagination is deterministic.string
default:"desc"
Sort direction.
asc or desc.Search
string
Free-text search across issue title and description.
Faceted filters
string | string[]
Filter by status. Pass a single value, or repeat the parameter for multiple. Allowed values:
backlog, todo, in_progress, in_review, done, closed.?status=todo&status=in_progress
string | string[]
Filter by severity. Allowed values:
critical, high, medium, low. Repeatable.string | string[]
Filter by category name. Repeatable.
string
Only return issues that have at least one resource of this type. One of
call, sms_conversation, file.Scope filters
string
Only return issues with this owner.
string
Only return issues with this assignee.
Date range
string
default:"last_activity_at"
Which date field the
date_range filter applies to. One of last_activity_at or created_at.string
Relative window from now. One of:
24h7d30d90d
Response
array
Array of issues. Each issue has the same shape as the response from Create Issue.
string | null
Cursor to pass back as the
cursor query parameter for the next page. null when there are no more pages.null | array
null on success.{
"data": {
"items": [
{
"id": "1aec670c-08d1-42dd-933b-b939508e6693",
"triage_id": "T-1042",
"org_id": "4edcdd57-4b33-4d1f-a905-e6859ed8cca9",
"number": 1042,
"title": "Agent skipped the verification step",
"description": "On the Aug 12 demo flow the agent jumped to the closing node...",
"status": "in_progress",
"severity": "high",
"source": "manual",
"category": "Routing",
"owner_id": null,
"assignee_id": "6e6c4e2f-ec3f-4582-bd95-6fa2d6375234",
"author_id": "4fa8878d-4091-4c19-849a-1c64a79609da",
"external_link": null,
"created_at": "2026-05-04T18:24:11.482Z",
"updated_at": "2026-05-06T02:11:08.901Z",
"last_activity_at": "2026-05-06T02:11:08.901Z",
"resource_count": 3,
"flag_count": 1,
"relation_count": 0,
"latest_agent_session": null,
"is_processing": false,
"has_unread_activity": true
},
{
"id": "822508a1-4e77-498b-892a-01cf6f9b1801",
"triage_id": "T-1039",
"org_id": "4edcdd57-4b33-4d1f-a905-e6859ed8cca9",
"number": 1039,
"title": "Caller transferred to wrong queue",
"description": "",
"status": "todo",
"severity": "high",
"source": "automated",
"category": "Routing",
"owner_id": null,
"assignee_id": null,
"author_id": "4fa8878d-4091-4c19-849a-1c64a79609da",
"external_link": null,
"created_at": "2026-05-03T22:14:01.117Z",
"updated_at": "2026-05-03T22:14:01.117Z",
"last_activity_at": "2026-05-03T22:14:01.117Z",
"resource_count": 1,
"flag_count": 0,
"relation_count": 0,
"latest_agent_session": null,
"is_processing": false,
"has_unread_activity": false
}
],
"next_cursor": "822508a1-4e77-498b-892a-01cf6f9b1801"
},
"errors": null
}
Docs for agents: llms.txt
Was this page helpful?