curl --request POST \
--url https://{command_center_host}/api/v1/gateways/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"active": true,
"inbound_prompt": "<string>",
"outbound_prompt": "<string>",
"inbound_override_enabled": true,
"outbound_override_enabled": true,
"metadata": {}
}
'import requests
url = "https://{command_center_host}/api/v1/gateways/{id}"
payload = {
"active": True,
"inbound_prompt": "<string>",
"outbound_prompt": "<string>",
"inbound_override_enabled": True,
"outbound_override_enabled": True,
"metadata": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
active: true,
inbound_prompt: '<string>',
outbound_prompt: '<string>',
inbound_override_enabled: true,
outbound_override_enabled: true,
metadata: {}
})
};
fetch('https://{command_center_host}/api/v1/gateways/{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://{command_center_host}/api/v1/gateways/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'active' => true,
'inbound_prompt' => '<string>',
'outbound_prompt' => '<string>',
'inbound_override_enabled' => true,
'outbound_override_enabled' => true,
'metadata' => [
]
]),
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://{command_center_host}/api/v1/gateways/{id}"
payload := strings.NewReader("{\n \"active\": true,\n \"inbound_prompt\": \"<string>\",\n \"outbound_prompt\": \"<string>\",\n \"inbound_override_enabled\": true,\n \"outbound_override_enabled\": true,\n \"metadata\": {}\n}")
req, _ := http.NewRequest("POST", 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))
}HttpResponse<String> response = Unirest.post("https://{command_center_host}/api/v1/gateways/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"active\": true,\n \"inbound_prompt\": \"<string>\",\n \"outbound_prompt\": \"<string>\",\n \"inbound_override_enabled\": true,\n \"outbound_override_enabled\": true,\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{command_center_host}/api/v1/gateways/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"active\": true,\n \"inbound_prompt\": \"<string>\",\n \"outbound_prompt\": \"<string>\",\n \"inbound_override_enabled\": true,\n \"outbound_override_enabled\": true,\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "gtw_6a2d4f81-...",
"type": "servicenow",
"active": true,
"org_id": "org_460b541c-...",
"tenant_id": "ten_115bea44-...",
"user_id": "usr_2b91c7de-...",
"metadata": {
"servicenow_assigned_group_id": "net-ops",
"environment": "prod"
},
"inbound_prompt": "<string>",
"outbound_prompt": "<string>",
"inbound_override_enabled": true,
"outbound_override_enabled": true,
"created_at": "2026-08-26T10:00:26.380Z",
"updated_at": "2026-08-26T10:00:26.380Z"
}{
"code": "VALIDATION_FAILED",
"message": "Validation failed",
"request_id": "req_3702b7e7-...",
"field": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
],
"details": {}
}{
"code": "VALIDATION_FAILED",
"message": "Validation failed",
"request_id": "req_3702b7e7-...",
"field": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
],
"details": {}
}{
"code": "VALIDATION_FAILED",
"message": "Validation failed",
"request_id": "req_3702b7e7-...",
"field": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
],
"details": {}
}{
"code": "VALIDATION_FAILED",
"message": "Validation failed",
"request_id": "req_3702b7e7-...",
"field": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
],
"details": {}
}{
"code": "VALIDATION_FAILED",
"message": "Validation failed",
"request_id": "req_3702b7e7-...",
"field": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
],
"details": {}
}Update a gateway
Only supplied fields change; send null to clear a prompt. A gateway’s organization and type cannot be changed. When the type’s feature toggle is off, activating an inactive gateway returns 403; editing or deactivating an existing gateway remains allowed. An update returns 409 if it would leave two active ServiceNow gateways in the tenant using the same assignment group and environment.
curl --request POST \
--url https://{command_center_host}/api/v1/gateways/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"active": true,
"inbound_prompt": "<string>",
"outbound_prompt": "<string>",
"inbound_override_enabled": true,
"outbound_override_enabled": true,
"metadata": {}
}
'import requests
url = "https://{command_center_host}/api/v1/gateways/{id}"
payload = {
"active": True,
"inbound_prompt": "<string>",
"outbound_prompt": "<string>",
"inbound_override_enabled": True,
"outbound_override_enabled": True,
"metadata": {}
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
active: true,
inbound_prompt: '<string>',
outbound_prompt: '<string>',
inbound_override_enabled: true,
outbound_override_enabled: true,
metadata: {}
})
};
fetch('https://{command_center_host}/api/v1/gateways/{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://{command_center_host}/api/v1/gateways/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'active' => true,
'inbound_prompt' => '<string>',
'outbound_prompt' => '<string>',
'inbound_override_enabled' => true,
'outbound_override_enabled' => true,
'metadata' => [
]
]),
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://{command_center_host}/api/v1/gateways/{id}"
payload := strings.NewReader("{\n \"active\": true,\n \"inbound_prompt\": \"<string>\",\n \"outbound_prompt\": \"<string>\",\n \"inbound_override_enabled\": true,\n \"outbound_override_enabled\": true,\n \"metadata\": {}\n}")
req, _ := http.NewRequest("POST", 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))
}HttpResponse<String> response = Unirest.post("https://{command_center_host}/api/v1/gateways/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"active\": true,\n \"inbound_prompt\": \"<string>\",\n \"outbound_prompt\": \"<string>\",\n \"inbound_override_enabled\": true,\n \"outbound_override_enabled\": true,\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{command_center_host}/api/v1/gateways/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"active\": true,\n \"inbound_prompt\": \"<string>\",\n \"outbound_prompt\": \"<string>\",\n \"inbound_override_enabled\": true,\n \"outbound_override_enabled\": true,\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"id": "gtw_6a2d4f81-...",
"type": "servicenow",
"active": true,
"org_id": "org_460b541c-...",
"tenant_id": "ten_115bea44-...",
"user_id": "usr_2b91c7de-...",
"metadata": {
"servicenow_assigned_group_id": "net-ops",
"environment": "prod"
},
"inbound_prompt": "<string>",
"outbound_prompt": "<string>",
"inbound_override_enabled": true,
"outbound_override_enabled": true,
"created_at": "2026-08-26T10:00:26.380Z",
"updated_at": "2026-08-26T10:00:26.380Z"
}{
"code": "VALIDATION_FAILED",
"message": "Validation failed",
"request_id": "req_3702b7e7-...",
"field": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
],
"details": {}
}{
"code": "VALIDATION_FAILED",
"message": "Validation failed",
"request_id": "req_3702b7e7-...",
"field": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
],
"details": {}
}{
"code": "VALIDATION_FAILED",
"message": "Validation failed",
"request_id": "req_3702b7e7-...",
"field": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
],
"details": {}
}{
"code": "VALIDATION_FAILED",
"message": "Validation failed",
"request_id": "req_3702b7e7-...",
"field": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
],
"details": {}
}{
"code": "VALIDATION_FAILED",
"message": "Validation failed",
"request_id": "req_3702b7e7-...",
"field": "<string>",
"errors": [
{
"field": "<string>",
"message": "<string>"
}
],
"details": {}
}Authorizations
An API key minted in Command Center (Settings -> API Keys), sent as Authorization: Bearer 2501_ak_.... A Command Center session cookie is also accepted.
Path Parameters
Body
Response
The updated gateway
"gtw_6a2d4f81-..."
Integration this gateway speaks
"servicenow"
"org_460b541c-..."
"ten_115bea44-..."
"usr_2b91c7de-..."
Type-specific connection settings
Show child attributes
Show child attributes
{
"servicenow_assigned_group_id": "net-ops",
"environment": "prod"
}
Take/skip and routing rules applied to incoming tickets
Status, comment and escalation rules for ticket writes
Off leaves the default ticket rules in force
"2026-08-26T10:00:26.380Z"
"2026-08-26T10:00:26.380Z"

