Partially update a Gateway

Partially update a dedicated Gateway. All fields are optional — flat body, no nesting.

Returns 404 if the gateway does not exist or belongs to a different tenant — never 403,
to avoid confirming the existence of gateways owned by other tenants.

tenantIds are validated against the caller's organization — 403 on mismatch.
When datacenter changes, availabilityZones must match the new datacenter prefix
— returns 400 on mismatch.
Sending ipsec.left.secret: null explicitly returns 400 IPSEC_SECRET_CLEAR_NOT_SUPPORTED
— omit the field to leave the existing secret unchanged.
Sending ipsec: null explicitly returns 400 IPSEC_REMOVAL_NOT_SUPPORTED
— IPSec configuration cannot be removed from a gateway that has it.

Partial IPSec update: When ipsec is present in the patch, sub-fields are
deep-merged — you may supply only left.secret to rotate the PSK without replacing
the rest of the configuration, or supply the full ipsec block to replace cipher
suites and endpoint addresses simultaneously.

contact: null is rejected. Setting contact to null in a merge-patch returns
409 — the contact field cannot be removed from a dedicated gateway.

tenantIds: [] is rejected. Setting tenantIds to an empty array returns 400
— a dedicated gateway must always have at least one tenant (minItems: 1 enforced by schema).

Known limitation: Concurrent modifications to the same gateway may overwrite each
other — no optimistic locking is in place for this release.

Datacenter change is destructive: Expect a connectivity outage while the gateway is
re-provisioned. status.state resets to PENDING immediately; status.tunnelState resets
to null; status records for the old datacenter are expired. dedicatedIps.ips are not
cleared immediately — treat them as unreliable until VSC completes provisioning in the new datacenter.

Required Permissions: ztna:update

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required
^[0-9a-f]{4}$

ID of the Gateway (obtained from GET /gateways or a create response). Format: 4-character lowercase hexadecimal string (e.g. a1b2).

Body Params

Flat merge-patch body (application/merge-patch+json). All fields optional. When datacenter is omitted, the existing value is preserved. When datacenter changes, availabilityZones must match the new datacenter prefix (e.g. eu-central-1a for eu-central-1) — returns 400 on mismatch.

string
length ≥ 1

New name for the gateway.

tenantIds
array of strings, unique
length ≥ 1

Replaces the full tenantIds list. Validated against the caller's organization — 403 if mismatched. Setting tenantIds: [] (empty array) returns 400minItems: 1 enforced by schema.

tenantIds
contact
object

Operational contact for this gateway.

string
enum

New datacenter for this deployment (e.g. eu-central-1). When changed, availabilityZones must match the new datacenter prefix — returns 400 on mismatch. Destructive: triggers re-provisioning, connectivity outage, and immediate status.state reset to PENDING. dedicatedIps.ips remain stale until VSC completes provisioning in the new datacenter.

boolean

Whether the deployment should be active.

availabilityZones
array of strings, unique

Replaces the availability zone node list. Accepts public IPv4 addresses
(e.g. 18.202.42.169). Zones must belong to the (new or existing) datacenter.

For IPsec gateways, these are the source addresses the peer firewall must allow. Valid IPs per datacenter:

DatacenterNameIP 1IP 2
af-south-1Africa - Cape Town13.244.169.18213.246.106.52
ap-east-1Asia - Hong Kong16.163.54.10516.163.15.242
ap-northeast-1Asia - Japan35.76.189.15252.192.166.230
ap-south-1Asia - Mumbai3.109.252.17665.1.247.99
ap-southeast-1Asia - Singapore18.140.158.23552.77.139.71
ap-southeast-2Australia54.66.243.18213.238.46.250
ca-central-1North America - Canada15.222.200.1893.98.80.44
eu-central-1Europe - Germany3.66.107.2083.121.43.105
eu-west-1Europe - Ireland54.220.161.5718.202.42.169
eu-west-2Europe - UK3.9.67.9018.130.213.235
sa-east-1South America - Brazil54.207.180.9454.232.123.56
us-east-1North America - USA East163.123.175.1163.123.175.2
us-west-2North America - USA West163.123.174.1163.123.174.2
availabilityZones
ipsec
object

IPSec tunnel configuration to update. Fields are deep-merged — you may supply only left.secret to rotate the pre-shared key, or the full block to replace cipher suites and endpoint addresses simultaneously. right.secret is always derived from left.secret automatically — callers never set it directly. Sending null returns 400 IPSEC_REMOVAL_NOT_SUPPORTED.

Headers
uuid
^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

The tenant UUID identifier. Send it to address tenant scope. This API is also published at environment scope — send that scope's header instead. Send exactly one scope header per request.

uuid
^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$

The environment UUID identifier. Send it to address environment scope. This API is also published at tenant scope — send that scope's header instead. Send exactly one scope header per request.

Responses
204

Gateway updated.

404

Gateway not found or belongs to a different tenant.

Language
Credentials
OAuth2
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json