Create a proxy

POST
/v1/{namespace}/proxies

Needs ns:update. The response carries the proxy's credential in secret, the only time it is returned besides a rotation.

Answered with 400 when name is missing; when a firewall does not exist, is a container (OCI) firewall, or covers a host another listed firewall covers (the message names both firewalls and the host); when userHeader or trust has another value; when trust is shared and the deployment has no shared root; or when userHeaderName is not a valid header name or is one Bytesafe reads for something else: Authorization, Proxy-Authorization, X-Bytesafe-Proxy-Token, Cookie, Host, X-Forwarded-For, X-Forwarded-Host, X-Forwarded-Proto, or a hop-by-hop header such as Connection.

Authorization

headerAuthorizationBearer <token>

A personal or service access token, sent as Authorization: Bearer <token>. See access tokens.

Path Parameters

namespace*string

The namespace id.

Request Body

application/json
  1. body

The writable fields of a proxy.

name*string

A display name. Required.

description?string

A free-form description.

firewalls?array<string>

The firewalls whose registries the proxy routes. Duplicates are dropped. Container (OCI) firewalls cannot be attached, and no two may cover the same host.

userHeader?string

How the user identity header is read. Defaults to none.

Value in"none""plain""base64"
userHeaderName?string

The header the user identity is read from. Defaults to X-Authenticated-User.

trust?string

The CA the web proxy trusts. Defaults to dedicated. shared is accepted only when the deployment has a shared root.

Value in"dedicated""shared"

Response Body

The new proxy and its credential.

application/json
  1. response

A proxy and its credential.

proxy*

The proxy.

secret*string

The proxy's credential, starting with prx-. Returned only on create and rotate; store it now.

curl -X POST 'https://eu-sov-1.bytesafecloud.eu/v1/my-namespace-id/proxies' \  -H 'Content-Type: application/json' \  -d '{  "name": "Zscaler, Stockholm office",  "description": "Office egress",  "firewalls": [    "npm-main"  ],  "userHeader": "plain",  "userHeaderName": "X-Authenticated-User",  "trust": "shared"}'
{  "proxy": {    "id": "proxy-01kya2b7m3q8xz5n0hdr4wcv6t",    "name": "Zscaler, Stockholm office",    "description": "Office egress",    "firewalls": [      "npm-main"    ],    "userHeader": "plain",    "userHeaderName": "X-Authenticated-User",    "trust": "shared",    "caCertificatePem": "-----BEGIN CERTIFICATE-----\nMIIBszCCAVmgAwIBAgIQ...\n-----END CERTIFICATE-----\n",    "caFingerprint": "97ebbd4919033a7226e1c8b7f7fde3a4c2b1e0f9d8c7b6a5f4e3d2c1b0a99887",    "caExpiresAt": "2028-11-04T09:30:00Z",    "createdAt": "2026-11-05T09:30:00Z",    "updatedAt": "2026-11-05T09:30:00Z"  },  "secret": "prx-Xq7kP2mLr9TzW4vB8nC3dF6hJ1sA5eG0"}