Skip to main content

Edges Tcp


Create TCP Edge

Create a TCP Edge

Request

POST /edges/tcp

Example Request

curl \
-X POST \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-H "Ngrok-Version: 2" \
-d '{"description":"acme tcp edge","metadata":"{\"environment\": \"staging\"}"}' \
https://api.ngrok.com/edges/tcp

Parameters

   
descriptionstringhuman-readable description of what this edge will be used for; optional, max 255 bytes.
metadatastringarbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
hostportsList<string>hostports served by this edge
backendEndpointBackendMutateedge modules
ip_restrictionEndpointIPPolicyMutate

EndpointBackendMutate parameters

   
enabledbooleantrue if the module will be applied to traffic, false to disable. default true if unspecified
backend_idstringbackend to be used to back this endpoint

EndpointIPPolicyMutate parameters

   
enabledbooleantrue if the module will be applied to traffic, false to disable. default true if unspecified
ip_policy_idsList<string>list of all IP policies that will be used to check if a source IP is allowed access to the endpoint

Response

Returns a 201 response on success

Example Response

{
"id": "edgtcp_2TMGJcNYozDQcdDZWPz1g4GrpYi",
"description": "acme tcp edge",
"metadata": "{\"environment\": \"staging\"}",
"created_at": "2023-07-31T23:17:45Z",
"uri": "https://api.ngrok.com/edges/tcp/edgtcp_2TMGJcNYozDQcdDZWPz1g4GrpYi",
"hostports": null,
"backend": null,
"ip_restriction": null
}

Fields

   
idstringunique identifier of this edge
descriptionstringhuman-readable description of what this edge will be used for; optional, max 255 bytes.
metadatastringarbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
created_atstringtimestamp when the edge was created, RFC 3339 format
uristringURI of the edge API resource
hostportsList<string>hostports served by this edge
backendEndpointBackendedge modules
ip_restrictionEndpointIPPolicy

EndpointBackend fields

   
enabledbooleantrue if the module will be applied to traffic, false to disable. default true if unspecified
backendRefbackend to be used to back this endpoint

Ref fields

   
idstringa resource identifier
uristringa uri for locating a resource

EndpointIPPolicy fields

   
enabledbooleantrue if the module will be applied to traffic, false to disable. default true if unspecified
ip_policiesReflist of all IP policies that will be used to check if a source IP is allowed access to the endpoint

Get TCP Edge

Get a TCP Edge by ID

Request

GET /edges/tcp/{id}

Example Request

curl \
-X GET \
-H "Authorization: Bearer {API_KEY}" \
-H "Ngrok-Version: 2" \
https://api.ngrok.com/edges/tcp/edgtcp_2TMGJcNYozDQcdDZWPz1g4GrpYi

Response

Returns a 200 response on success

Example Response

{
"id": "edgtcp_2TMGJcNYozDQcdDZWPz1g4GrpYi",
"description": "acme tcp edge",
"metadata": "{\"environment\": \"staging\"}",
"created_at": "2023-07-31T23:17:45Z",
"uri": "https://api.ngrok.com/edges/tcp/edgtcp_2TMGJcNYozDQcdDZWPz1g4GrpYi",
"hostports": null,
"backend": null,
"ip_restriction": null
}

Fields

   
idstringunique identifier of this edge
descriptionstringhuman-readable description of what this edge will be used for; optional, max 255 bytes.
metadatastringarbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
created_atstringtimestamp when the edge was created, RFC 3339 format
uristringURI of the edge API resource
hostportsList<string>hostports served by this edge
backendEndpointBackendedge modules
ip_restrictionEndpointIPPolicy

EndpointBackend fields

   
enabledbooleantrue if the module will be applied to traffic, false to disable. default true if unspecified
backendRefbackend to be used to back this endpoint

Ref fields

   
idstringa resource identifier
uristringa uri for locating a resource

EndpointIPPolicy fields

   
enabledbooleantrue if the module will be applied to traffic, false to disable. default true if unspecified
ip_policiesReflist of all IP policies that will be used to check if a source IP is allowed access to the endpoint

List TCP Edges

Returns a list of all TCP Edges on this account

Request

GET /edges/tcp

Example Request

curl \
-X GET \
-H "Authorization: Bearer {API_KEY}" \
-H "Ngrok-Version: 2" \
https://api.ngrok.com/edges/tcp

Response

Returns a 200 response on success

Example Response

{
"tcp_edges": [
{
"id": "edgtcp_2TMGJcNYozDQcdDZWPz1g4GrpYi",
"description": "acme tcp edge",
"metadata": "{\"environment\": \"staging\"}",
"created_at": "2023-07-31T23:17:45Z",
"uri": "https://api.ngrok.com/edges/tcp/edgtcp_2TMGJcNYozDQcdDZWPz1g4GrpYi",
"hostports": null,
"backend": null,
"ip_restriction": null
}
],
"uri": "https://api.ngrok.com/edges/tcp",
"next_page_uri": null
}

Fields

   
tcp_edgesTCPEdgethe list of all TCP Edges on this account
uristringURI of the TCP Edge list API resource
next_page_uristringURI of the next page, or null if there is no next page

TCPEdge fields

   
idstringunique identifier of this edge
descriptionstringhuman-readable description of what this edge will be used for; optional, max 255 bytes.
metadatastringarbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
created_atstringtimestamp when the edge was created, RFC 3339 format
uristringURI of the edge API resource
hostportsList<string>hostports served by this edge
backendEndpointBackendedge modules
ip_restrictionEndpointIPPolicy

EndpointBackend fields

   
enabledbooleantrue if the module will be applied to traffic, false to disable. default true if unspecified
backendRefbackend to be used to back this endpoint

Ref fields

   
idstringa resource identifier
uristringa uri for locating a resource

EndpointIPPolicy fields

   
enabledbooleantrue if the module will be applied to traffic, false to disable. default true if unspecified
ip_policiesReflist of all IP policies that will be used to check if a source IP is allowed access to the endpoint

Update TCP Edge

Updates a TCP Edge 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.

Request

PATCH /edges/tcp/{id}

Example Request

curl \
-X PATCH \
-H "Authorization: Bearer {API_KEY}" \
-H "Content-Type: application/json" \
-H "Ngrok-Version: 2" \
-d '{"metadata":"{\"environment\": \"production\"}"}' \
https://api.ngrok.com/edges/tcp/edgtcp_2TMGJcNYozDQcdDZWPz1g4GrpYi

Parameters

   
idstringunique identifier of this edge
descriptionstringhuman-readable description of what this edge will be used for; optional, max 255 bytes.
metadatastringarbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
hostportsList<string>hostports served by this edge
backendEndpointBackendMutateedge modules
ip_restrictionEndpointIPPolicyMutate

EndpointBackendMutate parameters

   
enabledbooleantrue if the module will be applied to traffic, false to disable. default true if unspecified
backend_idstringbackend to be used to back this endpoint

EndpointIPPolicyMutate parameters

   
enabledbooleantrue if the module will be applied to traffic, false to disable. default true if unspecified
ip_policy_idsList<string>list of all IP policies that will be used to check if a source IP is allowed access to the endpoint

Response

Returns a 200 response on success

Example Response

{
"id": "edgtcp_2TMGJcNYozDQcdDZWPz1g4GrpYi",
"description": "acme tcp edge",
"metadata": "{\"environment\": \"production\"}",
"created_at": "2023-07-31T23:17:45Z",
"uri": "https://api.ngrok.com/edges/tcp/edgtcp_2TMGJcNYozDQcdDZWPz1g4GrpYi",
"hostports": null,
"backend": null,
"ip_restriction": null
}

Fields

   
idstringunique identifier of this edge
descriptionstringhuman-readable description of what this edge will be used for; optional, max 255 bytes.
metadatastringarbitrary user-defined machine-readable data of this edge. Optional, max 4096 bytes.
created_atstringtimestamp when the edge was created, RFC 3339 format
uristringURI of the edge API resource
hostportsList<string>hostports served by this edge
backendEndpointBackendedge modules
ip_restrictionEndpointIPPolicy

EndpointBackend fields

   
enabledbooleantrue if the module will be applied to traffic, false to disable. default true if unspecified
backendRefbackend to be used to back this endpoint

Ref fields

   
idstringa resource identifier
uristringa uri for locating a resource

EndpointIPPolicy fields

   
enabledbooleantrue if the module will be applied to traffic, false to disable. default true if unspecified
ip_policiesReflist of all IP policies that will be used to check if a source IP is allowed access to the endpoint

Delete TCP Edge

Delete a TCP Edge by ID

Request

DELETE /edges/tcp/{id}

Example Request

curl \
-X DELETE \
-H "Authorization: Bearer {API_KEY}" \
-H "Ngrok-Version: 2" \
https://api.ngrok.com/edges/tcp/edgtcp_2TMGJcNYozDQcdDZWPz1g4GrpYi

Response

Returns a 204 response with no body on success