Skip to content

Update an ingress route

PUT
/api/proxy-hosts/{id}
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 }'
id
required
string
>= 1 characters
Example
550e8400-e29b-41d4-a716-446655440000

JSON request body

Media typeapplication/json
object
type
string
Allowed values: proxy redirect 404 raw
nodeId
string format: uuid
ingressGroupId
string | null format: uuid
domainNames
Array<string>
>= 1 items
upstreamKind
string
Allowed values: manual docker_container docker_deployment pages
forwardHost
string | null
>= 1 characters <= 255 characters /^[a-zA-Z0-9._-]+$/
forwardPort
integer | null
>= 1 <= 65535
forwardScheme
string
Allowed values: http https
upstreamIpv6Enabled
boolean
dockerNodeId
string | null format: uuid
dockerContainerName
string | null
>= 1 characters <= 255 characters
dockerComposeProjectId
string | null format: uuid
dockerComposeServiceName
string | null
>= 1 characters <= 255 characters
dockerDeploymentId
string | null format: uuid
dockerContainerPort
integer | null
>= 1 <= 65535
dockerHostPort
integer | null
>= 1 <= 65535
dockerProtocol
string | null
Allowed values: tcp
pageProjectId
string | null format: uuid
pageTagId
string | null format: uuid
relaySpreadMode
string
Allowed values: inherit fixed all
relaySpreadCount
integer | null
>= 1 <= 64
sslEnabled
boolean
sslForced
boolean
http2Support
boolean
websocketSupport
boolean
sslCertificateId
string | null format: uuid
internalCertificateId
string | null format: uuid
redirectUrl
string | null format: uri
<= 2048 characters
redirectStatusCode
Any of:
number
Allowed values: 301
customHeaders
Array<object>
object
name
required
string
>= 1 characters <= 255 characters
value
required
string
>= 1 characters <= 4096 characters
cacheEnabled
boolean
cacheOptions
object
maxAge
integer
staleWhileRevalidate
integer
rateLimitEnabled
boolean
rateLimitMode
string
Allowed values: inherit custom disabled
rateLimitOptions
object
requestsPerSecond
required
integer
>= 1
burst
integer
>= 1
connectionsPerIp
integer
>= 1
customRewrites
Array<object>
object
source
required
string
>= 1 characters <= 1024 characters
destination
required
string
>= 1 characters <= 1024 characters
type
required
string
Allowed values: permanent temporary
advancedConfig
string | null
<= 10000 characters
rawConfig
string | null
<= 100000 characters
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
<= 500 characters /^\//
healthCheckInterval
integer | null
>= 5 <= 3600
healthCheckExpectedStatus
integer | null
>= 100 <= 599
healthCheckExpectedBody
string | null
<= 500 characters
healthCheckBodyMatchMode
string | null
Allowed values: includes exact starts_with ends_with
healthCheckSlowThreshold
integer | null
<= 100

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"
}