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
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. |
hostports | List<string> | hostports served by this edge |
backend | EndpointBackendMutate | edge modules |
ip_restriction | EndpointIPPolicyMutate |
EndpointBackendMutate parameters
enabled | boolean | true if the module will be applied to traffic, false to disable. default true if unspecified |
backend_id | string | backend to be used to back this endpoint |
EndpointIPPolicyMutate parameters
enabled | boolean | true if the module will be applied to traffic, false to disable. default true if unspecified |
ip_policy_ids | List<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_2NTVHu2fkFe7UfKgVL0vFuBW4KS",
"description": "acme tcp edge",
"metadata": "{\"environment\": \"staging\"}",
"created_at": "2023-03-24T19:59:34Z",
"uri": "https://api.ngrok.com/edges/tcp/edgtcp_2NTVHu2fkFe7UfKgVL0vFuBW4KS",
"hostports": null,
"backend": null,
"ip_restriction": null
}
Fields
id | string | unique identifier of this edge |
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. |
created_at | string | timestamp when the edge was created, RFC 3339 format |
uri | string | URI of the edge API resource |
hostports | List<string> | hostports served by this edge |
backend | EndpointBackend | edge modules |
ip_restriction | EndpointIPPolicy |
EndpointBackend fields
enabled | boolean | true if the module will be applied to traffic, false to disable. default true if unspecified |
backend | Ref | backend to be used to back this endpoint |
Ref fields
id | string | a resource identifier |
uri | string | a uri for locating a resource |
EndpointIPPolicy fields
enabled | boolean | true if the module will be applied to traffic, false to disable. default true if unspecified |
ip_policies | Ref |
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_2NTVHu2fkFe7UfKgVL0vFuBW4KS
Response
Returns a 200 response on success
Example Response
{
"id": "edgtcp_2NTVHu2fkFe7UfKgVL0vFuBW4KS",
"description": "acme tcp edge",
"metadata": "{\"environment\": \"staging\"}",
"created_at": "2023-03-24T19:59:34Z",
"uri": "https://api.ngrok.com/edges/tcp/edgtcp_2NTVHu2fkFe7UfKgVL0vFuBW4KS",
"hostports": null,
"backend": null,
"ip_restriction": null
}
Fields
id | string | unique identifier of this edge |
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. |
created_at | string | timestamp when the edge was created, RFC 3339 format |
uri | string | URI of the edge API resource |
hostports | List<string> | hostports served by this edge |
backend | EndpointBackend | edge modules |
ip_restriction | EndpointIPPolicy |
EndpointBackend fields
enabled | boolean | true if the module will be applied to traffic, false to disable. default true if unspecified |
backend | Ref | backend to be used to back this endpoint |
Ref fields
id | string | a resource identifier |
uri | string | a uri for locating a resource |
EndpointIPPolicy fields
enabled | boolean | true if the module will be applied to traffic, false to disable. default true if unspecified |
ip_policies | Ref |
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_2NTVHu2fkFe7UfKgVL0vFuBW4KS",
"description": "acme tcp edge",
"metadata": "{\"environment\": \"staging\"}",
"created_at": "2023-03-24T19:59:34Z",
"uri": "https://api.ngrok.com/edges/tcp/edgtcp_2NTVHu2fkFe7UfKgVL0vFuBW4KS",
"hostports": null,
"backend": null,
"ip_restriction": null
}
],
"uri": "https://api.ngrok.com/edges/tcp",
"next_page_uri": null
}
Fields
tcp_edges | TCPEdge | the list of all TCP Edges on this account |
uri | string | URI of the TCP Edge list API resource |
next_page_uri | string | URI of the next page, or null if there is no next page |
TCPEdge fields
id | string | unique identifier of this edge |
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. |
created_at | string | timestamp when the edge was created, RFC 3339 format |
uri | string | URI of the edge API resource |
hostports | List<string> | hostports served by this edge |
backend | EndpointBackend | edge modules |
ip_restriction | EndpointIPPolicy |
EndpointBackend fields
enabled | boolean | true if the module will be applied to traffic, false to disable. default true if unspecified |
backend | Ref | backend to be used to back this endpoint |
Ref fields
id | string | a resource identifier |
uri | string | a uri for locating a resource |
EndpointIPPolicy fields
enabled | boolean | true if the module will be applied to traffic, false to disable. default true if unspecified |
ip_policies | Ref |
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_2NTVHu2fkFe7UfKgVL0vFuBW4KS
Parameters
id | string | unique identifier of this edge |
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. |
hostports | List<string> | hostports served by this edge |
backend | EndpointBackendMutate | edge modules |
ip_restriction | EndpointIPPolicyMutate |
EndpointBackendMutate parameters
enabled | boolean | true if the module will be applied to traffic, false to disable. default true if unspecified |
backend_id | string | backend to be used to back this endpoint |
EndpointIPPolicyMutate parameters
enabled | boolean | true if the module will be applied to traffic, false to disable. default true if unspecified |
ip_policy_ids | List<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_2NTVHu2fkFe7UfKgVL0vFuBW4KS",
"description": "acme tcp edge",
"metadata": "{\"environment\": \"production\"}",
"created_at": "2023-03-24T19:59:34Z",
"uri": "https://api.ngrok.com/edges/tcp/edgtcp_2NTVHu2fkFe7UfKgVL0vFuBW4KS",
"hostports": null,
"backend": null,
"ip_restriction": null
}
Fields
id | string | unique identifier of this edge |
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. |
created_at | string | timestamp when the edge was created, RFC 3339 format |
uri | string | URI of the edge API resource |
hostports | List<string> | hostports served by this edge |
backend | EndpointBackend | edge modules |
ip_restriction | EndpointIPPolicy |
EndpointBackend fields
enabled | boolean | true if the module will be applied to traffic, false to disable. default true if unspecified |
backend | Ref | backend to be used to back this endpoint |
Ref fields
id | string | a resource identifier |
uri | string | a uri for locating a resource |
EndpointIPPolicy fields
enabled | boolean | true if the module will be applied to traffic, false to disable. default true if unspecified |
ip_policies | Ref |
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_2NTVHu2fkFe7UfKgVL0vFuBW4KS
Response
Returns a 204 response with no body on success