curl --request PATCH \
--url https://api.instantly.ai/api/v2/ai-agents/inbox-manager/{id}/guidances/{guidance_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.instantly.ai/api/v2/ai-agents/inbox-manager/{id}/guidances/{guidance_id}"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.instantly.ai/api/v2/ai-agents/inbox-manager/{id}/guidances/{guidance_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.patch("https://api.instantly.ai/api/v2/ai-agents/inbox-manager/{id}/guidances/{guidance_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{}")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instantly.ai/api/v2/ai-agents/inbox-manager/{id}/guidances/{guidance_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([
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.instantly.ai/api/v2/ai-agents/inbox-manager/{id}/guidances/{guidance_id}"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}{
"id": "01a08b36-6a2e-7ba6-8346-7b64299ddeb2",
"organization_id": "01a08b36-6a2e-7ba6-8346-7b6567319560",
"agent_id": "01a08b36-6a2e-7ba6-8346-7b6610aadc5e",
"label": "Test AI Agent Guidance",
"instruction": "This is an AI agent guidance instruction",
"status": 1,
"category": 1,
"timestamp_created": "2026-09-10T12:06:34.286Z",
"timestamp_updated": "2026-09-10T12:06:34.286Z",
"basic_guidance_options": {
"tone": "professional",
"length": "standard"
}
}{
"statusCode": 400,
"error": "Bad Request",
"message": "body must have required property 'name'"
}{
"statusCode": 401,
"error": "Unauthorized",
"message": "Missing Authorization header"
}{
"statusCode": 402,
"error": "Payment Required",
"message": "Workspace does not have an active paid plan"
}{
"statusCode": 404,
"error": "Not Found",
"message": "Resource not found"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Rate limit exceeded"
}Update an AI Inbox Manager guidance
Update a guidance of an AI Inbox Manager. BASICS guidances keep an empty instruction and stay active; a guidance cannot be changed to or from the BASICS category.
Requires one of the following scopes: ai_agent_guidances:update, ai_agents:all, all:update, all:all
curl --request PATCH \
--url https://api.instantly.ai/api/v2/ai-agents/inbox-manager/{id}/guidances/{guidance_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.instantly.ai/api/v2/ai-agents/inbox-manager/{id}/guidances/{guidance_id}"
payload = {}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.instantly.ai/api/v2/ai-agents/inbox-manager/{id}/guidances/{guidance_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.patch("https://api.instantly.ai/api/v2/ai-agents/inbox-manager/{id}/guidances/{guidance_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{}")
.asString();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.instantly.ai/api/v2/ai-agents/inbox-manager/{id}/guidances/{guidance_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([
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.instantly.ai/api/v2/ai-agents/inbox-manager/{id}/guidances/{guidance_id}"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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))
}{
"id": "01a08b36-6a2e-7ba6-8346-7b64299ddeb2",
"organization_id": "01a08b36-6a2e-7ba6-8346-7b6567319560",
"agent_id": "01a08b36-6a2e-7ba6-8346-7b6610aadc5e",
"label": "Test AI Agent Guidance",
"instruction": "This is an AI agent guidance instruction",
"status": 1,
"category": 1,
"timestamp_created": "2026-09-10T12:06:34.286Z",
"timestamp_updated": "2026-09-10T12:06:34.286Z",
"basic_guidance_options": {
"tone": "professional",
"length": "standard"
}
}{
"statusCode": 400,
"error": "Bad Request",
"message": "body must have required property 'name'"
}{
"statusCode": 401,
"error": "Unauthorized",
"message": "Missing Authorization header"
}{
"statusCode": 402,
"error": "Payment Required",
"message": "Workspace does not have an active paid plan"
}{
"statusCode": 404,
"error": "Not Found",
"message": "Resource not found"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "Rate limit exceeded"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
AI Inbox Manager ID
"01a08b36-b23b-79f1-9558-8f35d47456bf"
Guidance ID
"01a08b36-b23b-79f1-9558-8f367d9d0aa3"
Body
Label of the guidance
1"Handover to sales"
Category of the guidance
0, 1, 2, 3, 4 1
Instruction text. Must be empty for BASICS guidances.
"Always answer pricing questions with a link to the pricing page."
Status of the guidance. Ignored for BASICS guidances, which are always active.
1, 0 1
Tone and length options. Required for the BASICS category, rejected for every other category.
Show child attributes
Show child attributes
Response
The updated guidance
A guidance category or input box for an AI agent
Unique identifier for the AI agent guidance
"01a08b36-6a2e-7ba6-8346-7b64299ddeb2"
Organization ID
"01a08b36-6a2e-7ba6-8346-7b6567319560"
Associated AI Agent ID
"01a08b36-6a2e-7ba6-8346-7b6610aadc5e"
Label of the AI agent guidance
"Test AI Agent Guidance"
Instruction text for the AI agent guidance. Should be empty string for BASICS category.
"This is an AI agent guidance instruction"
Status of the AI agent guidance
1, 0 1
Category of the AI agent guidance
0, 1, 2, 3, 4 1
Timestamp when the AI agent guidance was created
"2026-09-10T12:06:34.286Z"
Timestamp when the AI agent guidance was updated
"2026-09-10T12:06:34.286Z"
Basic guidance options (tone, length, etc.) - only for BASICS category
Show child attributes
Show child attributes