Create an ingress route
const url = 'https://gateway.example.com/api/proxy-hosts';const options = { method: 'POST', 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":false,"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":false,"sslForced":false,"http2Support":true,"websocketSupport":false,"sslCertificateId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","internalCertificateId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","redirectUrl":"https://example.com","redirectStatusCode":301,"customHeaders":[],"cacheEnabled":false,"cacheOptions":{"maxAge":1,"staleWhileRevalidate":1},"rateLimitEnabled":false,"rateLimitMode":"inherit","rateLimitOptions":{"requestsPerSecond":1,"burst":1,"connectionsPerIp":1},"customRewrites":[],"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":{"additionalProperty":"example"},"healthCheckEnabled":false,"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 POST \ --url https://gateway.example.com/api/proxy-hosts \ --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": false, "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": false, "sslForced": false, "http2Support": true, "websocketSupport": false, "sslCertificateId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "internalCertificateId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "redirectUrl": "https://example.com", "redirectStatusCode": 301, "customHeaders": [], "cacheEnabled": false, "cacheOptions": { "maxAge": 1, "staleWhileRevalidate": 1 }, "rateLimitEnabled": false, "rateLimitMode": "inherit", "rateLimitOptions": { "requestsPerSecond": 1, "burst": 1, "connectionsPerIp": 1 }, "customRewrites": [], "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": { "additionalProperty": "example" }, "healthCheckEnabled": false, "healthCheckUrl": "example", "healthCheckInterval": 1, "healthCheckExpectedStatus": 1, "healthCheckExpectedBody": "example", "healthCheckBodyMatchMode": "includes", "healthCheckSlowThreshold": 1 }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Optional retry key (1-255 printable ASCII characters), bound to your token or session and its current scopes. A retry with the same key and request within 24 hours replays the original response with Idempotency-Replayed: true; a different request under the same key returns 422 IDEMPOTENCY_KEY_REUSED, a retry while the first request still runs returns 409 IDEMPOTENCY_KEY_IN_PROGRESS with Retry-After, and a completed request whose response was not stored returns 409 IDEMPOTENCY_RESPONSE_WITHHELD.
Request Bodyrequired
Section titled “Request Bodyrequired”JSON request body
object
object
object
object
object
Responses
Section titled “Responses”Created
object
Resource object. Exact fields depend on the endpoint.
object
Example
{ "data": { "id": "550e8400-e29b-41d4-a716-446655440000", "domainNames": [ "app.example.com" ], "forwardHost": "10.0.0.10", "forwardPort": 3000, "enabled": true }}Bad request
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "VALIDATION_ERROR", "message": "Request validation failed", "details": [ { "path": [ "name" ], "message": "Required" } ]}Authentication required
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "UNAUTHORIZED", "message": "Authentication required"}Forbidden
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "FORBIDDEN", "message": "Insufficient permissions"}Not found
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "NOT_FOUND", "message": "Resource not found"}Conflict
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "CONFLICT", "message": "Resource already exists"}Unprocessable entity
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "UNPROCESSABLE_ENTITY", "message": "Request could not be processed"}Internal server error
object
Error code
Human-readable error message
Additional error details
Example
{ "code": "INTERNAL_ERROR", "message": "Internal server error"}