Update an ingress route
PUT
/api/proxy-hosts/{id}
const url = 'https://gateway.example.com/api/proxy-hosts/550e8400-e29b-41d4-a716-446655440000';const options = { method: 'PUT', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"type":"proxy","nodeId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","ingressGroupId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","domainNames":["example"],"upstreamKind":"manual","forwardHost":"example","forwardPort":1,"forwardScheme":"http","upstreamIpv6Enabled":true,"dockerNodeId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","dockerContainerName":"example","dockerComposeProjectId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","dockerComposeServiceName":"example","dockerDeploymentId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","dockerContainerPort":1,"dockerHostPort":1,"dockerProtocol":"tcp","pageProjectId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","pageTagId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","relaySpreadMode":"inherit","relaySpreadCount":1,"sslEnabled":true,"sslForced":true,"http2Support":true,"websocketSupport":true,"sslCertificateId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","internalCertificateId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","redirectUrl":"https://example.com","redirectStatusCode":301,"customHeaders":[{"name":"example","value":"example"}],"cacheEnabled":true,"cacheOptions":{"maxAge":1,"staleWhileRevalidate":1},"rateLimitEnabled":true,"rateLimitMode":"inherit","rateLimitOptions":{"requestsPerSecond":1,"burst":1,"connectionsPerIp":1},"customRewrites":[{"source":"example","destination":"example","type":"permanent"}],"advancedConfig":"example","rawConfig":"example","rawConfigEnabled":true,"accessListId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","folderId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","nginxTemplateId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","templateVariables":"example","healthCheckEnabled":true,"healthCheckUrl":"example","healthCheckInterval":1,"healthCheckExpectedStatus":1,"healthCheckExpectedBody":"example","healthCheckBodyMatchMode":"includes","healthCheckSlowThreshold":1}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://gateway.example.com/api/proxy-hosts/550e8400-e29b-41d4-a716-446655440000 \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "type": "proxy", "nodeId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "ingressGroupId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "domainNames": [ "example" ], "upstreamKind": "manual", "forwardHost": "example", "forwardPort": 1, "forwardScheme": "http", "upstreamIpv6Enabled": true, "dockerNodeId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "dockerContainerName": "example", "dockerComposeProjectId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "dockerComposeServiceName": "example", "dockerDeploymentId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "dockerContainerPort": 1, "dockerHostPort": 1, "dockerProtocol": "tcp", "pageProjectId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "pageTagId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "relaySpreadMode": "inherit", "relaySpreadCount": 1, "sslEnabled": true, "sslForced": true, "http2Support": true, "websocketSupport": true, "sslCertificateId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "internalCertificateId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "redirectUrl": "https://example.com", "redirectStatusCode": 301, "customHeaders": [ { "name": "example", "value": "example" } ], "cacheEnabled": true, "cacheOptions": { "maxAge": 1, "staleWhileRevalidate": 1 }, "rateLimitEnabled": true, "rateLimitMode": "inherit", "rateLimitOptions": { "requestsPerSecond": 1, "burst": 1, "connectionsPerIp": 1 }, "customRewrites": [ { "source": "example", "destination": "example", "type": "permanent" } ], "advancedConfig": "example", "rawConfig": "example", "rawConfigEnabled": true, "accessListId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "folderId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "nginxTemplateId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "templateVariables": "example", "healthCheckEnabled": true, "healthCheckUrl": "example", "healthCheckInterval": 1, "healthCheckExpectedStatus": 1, "healthCheckExpectedBody": "example", "healthCheckBodyMatchMode": "includes", "healthCheckSlowThreshold": 1 }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”id
required
string
Example
550e8400-e29b-41d4-a716-446655440000Request Bodyrequired
Section titled “Request Bodyrequired”JSON request body
Media typeapplication/json
object
type
string
nodeId
string format: uuid
ingressGroupId
string | null format: uuid
domainNames
Array<string>
upstreamKind
string
forwardHost
string | null
forwardPort
integer | null
forwardScheme
string
upstreamIpv6Enabled
boolean
dockerNodeId
string | null format: uuid
dockerContainerName
string | null
dockerComposeProjectId
string | null format: uuid
dockerComposeServiceName
string | null
dockerDeploymentId
string | null format: uuid
dockerContainerPort
integer | null
dockerHostPort
integer | null
dockerProtocol
string | null
pageProjectId
string | null format: uuid
pageTagId
string | null format: uuid
relaySpreadMode
string
relaySpreadCount
integer | null
sslEnabled
boolean
sslForced
boolean
http2Support
boolean
websocketSupport
boolean
sslCertificateId
string | null format: uuid
internalCertificateId
string | null format: uuid
redirectUrl
string | null format: uri
customHeaders
Array<object>
object
name
required
string
value
required
string
cacheEnabled
boolean
cacheOptions
object
maxAge
integer
staleWhileRevalidate
integer
rateLimitEnabled
boolean
rateLimitMode
string
rateLimitOptions
object
requestsPerSecond
required
integer
burst
integer
connectionsPerIp
integer
customRewrites
Array<object>
object
source
required
string
destination
required
string
type
required
string
advancedConfig
string | null
rawConfig
string | null
rawConfigEnabled
boolean
accessListId
string | null format: uuid
folderId
string | null format: uuid
nginxTemplateId
string | null format: uuid
templateVariables
object | null
healthCheckEnabled
boolean
healthCheckUrl
string | null
healthCheckInterval
integer | null
healthCheckExpectedStatus
integer | null
healthCheckExpectedBody
string | null
healthCheckBodyMatchMode
string | null
healthCheckSlowThreshold
integer | null
Responses
Section titled “Responses”Successful response
Media typeapplication/json
object
data
required
Resource object. Exact fields depend on the endpoint.
object
id
string
name
string
key
additional properties
Example
{ "data": { "id": "550e8400-e29b-41d4-a716-446655440000", "domainNames": [ "app.example.com" ], "forwardHost": "10.0.0.10", "forwardPort": 3000, "enabled": true }}Bad request
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "VALIDATION_ERROR", "message": "Request validation failed", "details": [ { "path": [ "name" ], "message": "Required" } ]}Authentication required
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "UNAUTHORIZED", "message": "Authentication required"}Forbidden
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "FORBIDDEN", "message": "Insufficient permissions"}Not found
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "NOT_FOUND", "message": "Resource not found"}Conflict
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "CONFLICT", "message": "Resource already exists"}Unprocessable entity
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "UNPROCESSABLE_ENTITY", "message": "Request could not be processed"}Internal server error
Media typeapplication/json
object
code
required
Error code
string
message
required
Human-readable error message
string
details
Additional error details
Example
{ "code": "INTERNAL_ERROR", "message": "Internal server error"}