Skip to main content
PATCH
/
edges
/
https
/
{edge_id}
/
routes
/
{id}
Update
curl --request PATCH \
  --url https://api.ngrok.com/edges/https/{edge_id}/routes/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'ngrok-version: <ngrok-version>' \
  --data '{
  "edge_id": "<string>",
  "id": "<string>",
  "match_type": "<string>",
  "match": "<string>",
  "description": "<string>",
  "metadata": "<string>",
  "backend": {
    "enabled": true,
    "backend_id": "<string>"
  },
  "ip_restriction": {
    "enabled": true,
    "ip_policy_ids": [
      "<string>"
    ]
  },
  "circuit_breaker": {
    "enabled": true,
    "tripped_duration": 123,
    "rolling_window": 123,
    "num_buckets": 123,
    "volume_threshold": 123,
    "error_threshold_percentage": 123
  },
  "compression": {
    "enabled": true
  },
  "request_headers": {
    "enabled": true,
    "add": {},
    "remove": [
      "<string>"
    ]
  },
  "response_headers": {
    "enabled": true,
    "add": {},
    "remove": [
      "<string>"
    ]
  },
  "webhook_verification": {
    "enabled": true,
    "provider": "<string>",
    "secret": "<string>"
  },
  "oauth": {
    "enabled": true,
    "provider": {
      "github": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ],
        "teams": [
          "<string>"
        ],
        "organizations": [
          "<string>"
        ]
      },
      "facebook": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      },
      "microsoft": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      },
      "google": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      },
      "linkedin": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      },
      "gitlab": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      },
      "twitch": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      },
      "amazon": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      }
    },
    "options_passthrough": true,
    "cookie_prefix": "<string>",
    "inactivity_timeout": 123,
    "maximum_duration": 123,
    "auth_check_interval": 123
  },
  "saml": {
    "enabled": true,
    "options_passthrough": true,
    "cookie_prefix": "<string>",
    "inactivity_timeout": 123,
    "maximum_duration": 123,
    "idp_metadata": "<string>",
    "force_authn": true,
    "allow_idp_initiated": true,
    "authorized_groups": [
      "<string>"
    ],
    "nameid_format": "<string>"
  },
  "oidc": {
    "enabled": true,
    "options_passthrough": true,
    "cookie_prefix": "<string>",
    "inactivity_timeout": 123,
    "maximum_duration": 123,
    "issuer": "<string>",
    "client_id": "<string>",
    "client_secret": "<string>",
    "scopes": [
      "<string>"
    ]
  },
  "websocket_tcp_converter": {
    "enabled": true
  },
  "user_agent_filter": {
    "enabled": true,
    "allow": [
      "<string>"
    ],
    "deny": [
      "<string>"
    ]
  },
  "traffic_policy": {
    "enabled": true,
    "value": "<string>"
  }
}'
{
  "edge_id": "<string>",
  "id": "<string>",
  "created_at": "<string>",
  "match_type": "<string>",
  "match": "<string>",
  "uri": "<string>",
  "description": "<string>",
  "metadata": "<string>",
  "backend": {
    "enabled": true,
    "backend": {
      "id": "<string>",
      "uri": "<string>"
    }
  },
  "ip_restriction": {
    "enabled": true,
    "ip_policies": [
      {
        "id": "<string>",
        "uri": "<string>"
      }
    ]
  },
  "circuit_breaker": {
    "enabled": true,
    "tripped_duration": 123,
    "rolling_window": 123,
    "num_buckets": 123,
    "volume_threshold": 123,
    "error_threshold_percentage": 123
  },
  "compression": {
    "enabled": true
  },
  "request_headers": {
    "enabled": true,
    "add": {},
    "remove": [
      "<string>"
    ]
  },
  "response_headers": {
    "enabled": true,
    "add": {},
    "remove": [
      "<string>"
    ]
  },
  "webhook_verification": {
    "enabled": true,
    "provider": "<string>",
    "secret": "<string>"
  },
  "oauth": {
    "enabled": true,
    "provider": {
      "github": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ],
        "teams": [
          "<string>"
        ],
        "organizations": [
          "<string>"
        ]
      },
      "facebook": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      },
      "microsoft": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      },
      "google": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      },
      "linkedin": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      },
      "gitlab": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      },
      "twitch": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      },
      "amazon": {
        "client_id": "<string>",
        "client_secret": "<string>",
        "scopes": [
          "<string>"
        ],
        "email_addresses": [
          "<string>"
        ],
        "email_domains": [
          "<string>"
        ]
      }
    },
    "options_passthrough": true,
    "cookie_prefix": "<string>",
    "inactivity_timeout": 123,
    "maximum_duration": 123,
    "auth_check_interval": 123
  },
  "saml": {
    "enabled": true,
    "options_passthrough": true,
    "cookie_prefix": "<string>",
    "inactivity_timeout": 123,
    "maximum_duration": 123,
    "idp_metadata": "<string>",
    "force_authn": true,
    "allow_idp_initiated": true,
    "authorized_groups": [
      "<string>"
    ],
    "entity_id": "<string>",
    "assertion_consumer_service_url": "<string>",
    "single_logout_url": "<string>",
    "request_signing_certificate_pem": "<string>",
    "metadata_url": "<string>",
    "nameid_format": "<string>"
  },
  "oidc": {
    "enabled": true,
    "options_passthrough": true,
    "cookie_prefix": "<string>",
    "inactivity_timeout": 123,
    "maximum_duration": 123,
    "issuer": "<string>",
    "client_id": "<string>",
    "client_secret": "<string>",
    "scopes": [
      "<string>"
    ]
  },
  "websocket_tcp_converter": {
    "enabled": true
  },
  "user_agent_filter": {
    "enabled": true,
    "allow": [
      "<string>"
    ],
    "deny": [
      "<string>"
    ]
  },
  "traffic_policy": {
    "enabled": true,
    "value": "<string>"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

ngrok-version
integer
default:2
required

Path Parameters

edge_id
string
required

unique identifier of this edge

id
string
required

unique identifier of this edge route

Body

application/json
edge_id
string

unique identifier of this edge

id
string

unique identifier of this edge route

match_type
string

Type of match to use for this route. Valid values are "exact_path" and "path_prefix".

match
string

Route selector: "/blog" or "example.com" or "example.com/blog"

description
string

human-readable description of what this edge will be used for; optional, max 255 bytes.

metadata
string

arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.

backend
object

backend module configuration or null

ip_restriction
object

ip restriction module configuration or null

circuit_breaker
object

circuit breaker module configuration or null

compression
object

compression module configuration or null

request_headers
object

request headers module configuration or null

response_headers
object

response headers module configuration or null

webhook_verification
object

webhook verification module configuration or null

oauth
object

oauth module configuration or null

saml
object

saml module configuration or null

oidc
object

oidc module configuration or null

websocket_tcp_converter
object

websocket to tcp adapter configuration or null

user_agent_filter
object

n/a

traffic_policy
object

the traffic policy associated with this edge or null

Response

200 - application/json

Updates an HTTPS Edge Route by ID. If a module is not specified in the update, it will not be modified. However, each module configuration that is specified will completely replace the existing value. There is no way to delete an existing module via this API, instead use the delete module API.

edge_id
string

unique identifier of this edge

id
string

unique identifier of this edge route

created_at
string

timestamp when the edge configuration was created, RFC 3339 format

match_type
string

Type of match to use for this route. Valid values are "exact_path" and "path_prefix".

match
string

Route selector: "/blog" or "example.com" or "example.com/blog"

uri
string

URI of the edge API resource

description
string

human-readable description of what this edge will be used for; optional, max 255 bytes.

metadata
string

arbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.

backend
object

backend module configuration or null

ip_restriction
object

ip restriction module configuration or null

circuit_breaker
object

circuit breaker module configuration or null

compression
object

compression module configuration or null

request_headers
object

request headers module configuration or null

response_headers
object

response headers module configuration or null

webhook_verification
object

webhook verification module configuration or null

oauth
object

oauth module configuration or null

saml
object

saml module configuration or null

oidc
object

oidc module configuration or null

websocket_tcp_converter
object

websocket to tcp adapter configuration or null

user_agent_filter
object

n/a

traffic_policy
object

the traffic policy associated with this edge or null