Update Issue
curl --request PATCH \
--url https://api.bland.ai/v1/triage/issues/{id} \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"title": "<string>",
"description": "<string>",
"status": "<string>",
"severity": "<string>",
"category": "<string>",
"owner_id": {},
"assignee_id": {}
}
'import requests
url = "https://api.bland.ai/v1/triage/issues/{id}"
payload = {
"title": "<string>",
"description": "<string>",
"status": "<string>",
"severity": "<string>",
"category": "<string>",
"owner_id": {},
"assignee_id": {}
}
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
description: '<string>',
status: '<string>',
severity: '<string>',
category: '<string>',
owner_id: {},
assignee_id: {}
})
};
fetch('https://api.bland.ai/v1/triage/issues/{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/v1/triage/issues/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'description' => '<string>',
'status' => '<string>',
'severity' => '<string>',
'category' => '<string>',
'owner_id' => [
],
'assignee_id' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bland.ai/v1/triage/issues/{id}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"status\": \"<string>\",\n \"severity\": \"<string>\",\n \"category\": \"<string>\",\n \"owner_id\": {},\n \"assignee_id\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.bland.ai/v1/triage/issues/{id}")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"status\": \"<string>\",\n \"severity\": \"<string>\",\n \"category\": \"<string>\",\n \"owner_id\": {},\n \"assignee_id\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/triage/issues/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"status\": \"<string>\",\n \"severity\": \"<string>\",\n \"category\": \"<string>\",\n \"owner_id\": {},\n \"assignee_id\": {}\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "b4f022b0-e47e-4c8e-b67c-b763db7b4ba4",
"triage_id": "T-1042",
"org_id": "f038cd1d-aa49-4127-ab2d-90c3fce669f3",
"number": 1042,
"title": "Agent skipped the verification step (confirmed)",
"description": "On the Aug 12 demo flow the agent jumped to the closing node without asking for the email confirmation.",
"status": "in_progress",
"severity": "high",
"source": "manual",
"category": "Routing",
"owner_id": null,
"assignee_id": "d8dddfff-cc75-4e31-8056-cf3521e8055b",
"author_id": "df480553-8bf8-4327-917d-402c33282a2e",
"external_link": null,
"created_at": "2026-05-04T18:24:11.482Z",
"updated_at": "2026-05-07T02:29:25.744Z",
"last_activity_at": "2026-05-07T02:29:25.744Z",
"resource_count": 3,
"flag_count": 1,
"relation_count": 0,
"latest_agent_session": null,
"is_processing": false,
"has_unread_activity": true
},
"errors": null
}
Issues
Update Issue
Update a triage issue. All fields optional.
PATCH
/
v1
/
triage
/
issues
/
{id}
Update Issue
curl --request PATCH \
--url https://api.bland.ai/v1/triage/issues/{id} \
--header 'Content-Type: application/json' \
--header 'authorization: <authorization>' \
--data '
{
"title": "<string>",
"description": "<string>",
"status": "<string>",
"severity": "<string>",
"category": "<string>",
"owner_id": {},
"assignee_id": {}
}
'import requests
url = "https://api.bland.ai/v1/triage/issues/{id}"
payload = {
"title": "<string>",
"description": "<string>",
"status": "<string>",
"severity": "<string>",
"category": "<string>",
"owner_id": {},
"assignee_id": {}
}
headers = {
"authorization": "<authorization>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {authorization: '<authorization>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
description: '<string>',
status: '<string>',
severity: '<string>',
category: '<string>',
owner_id: {},
assignee_id: {}
})
};
fetch('https://api.bland.ai/v1/triage/issues/{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/v1/triage/issues/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => '<string>',
'description' => '<string>',
'status' => '<string>',
'severity' => '<string>',
'category' => '<string>',
'owner_id' => [
],
'assignee_id' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bland.ai/v1/triage/issues/{id}"
payload := strings.NewReader("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"status\": \"<string>\",\n \"severity\": \"<string>\",\n \"category\": \"<string>\",\n \"owner_id\": {},\n \"assignee_id\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.bland.ai/v1/triage/issues/{id}")
.header("authorization", "<authorization>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"status\": \"<string>\",\n \"severity\": \"<string>\",\n \"category\": \"<string>\",\n \"owner_id\": {},\n \"assignee_id\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bland.ai/v1/triage/issues/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["authorization"] = '<authorization>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"<string>\",\n \"description\": \"<string>\",\n \"status\": \"<string>\",\n \"severity\": \"<string>\",\n \"category\": \"<string>\",\n \"owner_id\": {},\n \"assignee_id\": {}\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "b4f022b0-e47e-4c8e-b67c-b763db7b4ba4",
"triage_id": "T-1042",
"org_id": "f038cd1d-aa49-4127-ab2d-90c3fce669f3",
"number": 1042,
"title": "Agent skipped the verification step (confirmed)",
"description": "On the Aug 12 demo flow the agent jumped to the closing node without asking for the email confirmation.",
"status": "in_progress",
"severity": "high",
"source": "manual",
"category": "Routing",
"owner_id": null,
"assignee_id": "d8dddfff-cc75-4e31-8056-cf3521e8055b",
"author_id": "df480553-8bf8-4327-917d-402c33282a2e",
"external_link": null,
"created_at": "2026-05-04T18:24:11.482Z",
"updated_at": "2026-05-07T02:29:25.744Z",
"last_activity_at": "2026-05-07T02:29:25.744Z",
"resource_count": 3,
"flag_count": 1,
"relation_count": 0,
"latest_agent_session": null,
"is_processing": false,
"has_unread_activity": true
},
"errors": null
}
Overview
Partial update. Send only the fields you want to change. Passnull for owner_id or assignee_id to clear them. Returns the full updated issue.
Headers
Your API key for authentication.
Path Parameters
Internal UUID of the issue.
Body Parameters
Send any combination of the fields below. Sending an empty body is allowed but a no-op.New title. 1-200 characters.
New description. Maximum 10,000 characters.
New status. One of
backlog, todo, in_progress, in_review, done, closed.New severity. One of
critical, high, medium, low.New category. 1-64 characters. The category does not need to exist in the Categories catalog beforehand, freely-typed values are accepted.
New owner. Pass a user ID to assign, or
null to clear.New assignee. Pass a user ID to assign, or
null to clear.Response
The updated issue. See Create Issue for the full field list.
null on success. Returns 404 if the issue does not exist or is not in your org. Returns 400 with { error: "bad_request" } if any field fails validation, the message lists each invalid path.{
"data": {
"id": "b4f022b0-e47e-4c8e-b67c-b763db7b4ba4",
"triage_id": "T-1042",
"org_id": "f038cd1d-aa49-4127-ab2d-90c3fce669f3",
"number": 1042,
"title": "Agent skipped the verification step (confirmed)",
"description": "On the Aug 12 demo flow the agent jumped to the closing node without asking for the email confirmation.",
"status": "in_progress",
"severity": "high",
"source": "manual",
"category": "Routing",
"owner_id": null,
"assignee_id": "d8dddfff-cc75-4e31-8056-cf3521e8055b",
"author_id": "df480553-8bf8-4327-917d-402c33282a2e",
"external_link": null,
"created_at": "2026-05-04T18:24:11.482Z",
"updated_at": "2026-05-07T02:29:25.744Z",
"last_activity_at": "2026-05-07T02:29:25.744Z",
"resource_count": 3,
"flag_count": 1,
"relation_count": 0,
"latest_agent_session": null,
"is_processing": false,
"has_unread_activity": true
},
"errors": null
}
Docs for agents: llms.txt
Was this page helpful?
⌘I