PUT /accounts/{account_id}/cfd_tunnel/{tunnel_id}/configurations

Adds or updates the configuration for a remotely-managed tunnel.

Servers

Path parameters

Name Type Required Description
tunnel_id String Yes
account_id String Yes

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
config Object No

The tunnel configuration and ingress rules.

config.originRequest Object No

Configuration parameters for the public hostname specific connection settings between cloudflared and origin server.

config.originRequest.disableChunkedEncoding Boolean No

Disables chunked transfer encoding. Useful if you are running a WSGI server.

config.originRequest.caPool String No

Path to the certificate authority (CA) for the certificate of your origin. This option should be used only if your certificate is not signed by Cloudflare.

config.originRequest.connectTimeout Integer No

Timeout for establishing a new TCP connection to your origin server. This excludes the time taken to establish TLS, which is controlled by tlsTimeout.

Default value: 10

config.originRequest.noHappyEyeballs Boolean No

Disable the “happy eyeballs” algorithm for IPv4/IPv6 fallback if your local network has misconfigured one of the protocols.

Default value: false

config.originRequest.tlsTimeout Integer No

Timeout for completing a TLS handshake to your origin server, if you have chosen to connect Tunnel to an HTTPS server.

Default value: 10

config.originRequest.tcpKeepAlive Integer No

The timeout after which a TCP keepalive packet is sent on a connection between Tunnel and the origin server.

Default value: 30

config.originRequest.keepAliveTimeout Integer No

Timeout after which an idle keepalive connection can be discarded.

Default value: 90

config.originRequest.http2Origin Boolean No

Attempt to connect to origin using HTTP2. Origin must be configured as https.

config.originRequest.originServerName String No

Hostname that cloudflared should expect from your origin server certificate.

config.originRequest.keepAliveConnections Integer No

Maximum number of idle keepalive connections between Tunnel and your origin. This does not restrict the total number of concurrent connections.

Default value: 100

config.originRequest.noTLSVerify Boolean No

Disables TLS verification of the certificate presented by your origin. Will allow any certificate from the origin to be accepted.

Default value: false

config.originRequest.proxyType String No

cloudflared starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures what type of proxy will be started. Valid options are: "" for the regular proxy and "socks" for a SOCKS5 proxy.

config.originRequest.access Object No

For all L7 requests to this hostname, cloudflared will validate each request's Cf-Access-Jwt-Assertion request header.

config.originRequest.access.required Boolean No

Deny traffic that has not fulfilled Access authorization.

Default value: false

config.originRequest.access.teamName String Yes

Default value: "Your Zero Trust organization name."

config.originRequest.access.audTag[] Array Yes

Access applications that are allowed to reach this hostname for this Tunnel. Audience tags can be identified in the dashboard or via the List Access policies API.

config.originRequest.httpHostHeader String No

Sets the HTTP Host header on requests sent to the local service.

config.warp-routing Object No

Enable private network access from WARP users to private network routes. This is enabled if the tunnel has an assigned route.

config.warp-routing.enabled Boolean No

Default value: false

config.ingress[] Array No

List of public hostname definitions. At least one ingress rule needs to be defined for the tunnel.

config.ingress[].originRequest Object No

Configuration parameters for the public hostname specific connection settings between cloudflared and origin server.

config.ingress[].originRequest.disableChunkedEncoding Boolean No

Disables chunked transfer encoding. Useful if you are running a WSGI server.

config.ingress[].originRequest.caPool String No

Path to the certificate authority (CA) for the certificate of your origin. This option should be used only if your certificate is not signed by Cloudflare.

config.ingress[].originRequest.connectTimeout Integer No

Timeout for establishing a new TCP connection to your origin server. This excludes the time taken to establish TLS, which is controlled by tlsTimeout.

Default value: 10

config.ingress[].originRequest.noHappyEyeballs Boolean No

Disable the “happy eyeballs” algorithm for IPv4/IPv6 fallback if your local network has misconfigured one of the protocols.

Default value: false

config.ingress[].originRequest.tlsTimeout Integer No

Timeout for completing a TLS handshake to your origin server, if you have chosen to connect Tunnel to an HTTPS server.

Default value: 10

config.ingress[].originRequest.tcpKeepAlive Integer No

The timeout after which a TCP keepalive packet is sent on a connection between Tunnel and the origin server.

Default value: 30

config.ingress[].originRequest.keepAliveTimeout Integer No

Timeout after which an idle keepalive connection can be discarded.

Default value: 90

config.ingress[].originRequest.http2Origin Boolean No

Attempt to connect to origin using HTTP2. Origin must be configured as https.

config.ingress[].originRequest.originServerName String No

Hostname that cloudflared should expect from your origin server certificate.

config.ingress[].originRequest.keepAliveConnections Integer No

Maximum number of idle keepalive connections between Tunnel and your origin. This does not restrict the total number of concurrent connections.

Default value: 100

config.ingress[].originRequest.noTLSVerify Boolean No

Disables TLS verification of the certificate presented by your origin. Will allow any certificate from the origin to be accepted.

Default value: false

config.ingress[].originRequest.proxyType String No

cloudflared starts a proxy server to translate HTTP traffic into TCP when proxying, for example, SSH or RDP. This configures what type of proxy will be started. Valid options are: "" for the regular proxy and "socks" for a SOCKS5 proxy.

config.ingress[].originRequest.access Object No

For all L7 requests to this hostname, cloudflared will validate each request's Cf-Access-Jwt-Assertion request header.

config.ingress[].originRequest.access.required Boolean No

Deny traffic that has not fulfilled Access authorization.

Default value: false

config.ingress[].originRequest.access.teamName String Yes

Default value: "Your Zero Trust organization name."

config.ingress[].originRequest.access.audTag[] Array Yes

Access applications that are allowed to reach this hostname for this Tunnel. Audience tags can be identified in the dashboard or via the List Access policies API.

config.ingress[].originRequest.httpHostHeader String No

Sets the HTTP Host header on requests sent to the local service.

config.ingress[].hostname String Yes

Public hostname for this service.

config.ingress[].service String Yes

Protocol and address of destination server. Supported protocols: http://, https://, unix://, tcp://, ssh://, rdp://, unix+tls://, smb://. Alternatively can return a HTTP status code http_status:[code] e.g. 'http_status:404'.

config.ingress[].path String No

Requests with this path route to this public hostname.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.