curl --request GET \
--url https://api.ngrok.com/endpoints \
--header 'Authorization: Bearer <token>' \
--header 'ngrok-version: <ngrok-version>'import requests
url = "https://api.ngrok.com/endpoints"
headers = {
"ngrok-version": "<ngrok-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'ngrok-version': '<ngrok-version>', Authorization: 'Bearer <token>'}
};
fetch('https://api.ngrok.com/endpoints', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ngrok.com/endpoints",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"ngrok-version: <ngrok-version>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.ngrok.com/endpoints"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("ngrok-version", "<ngrok-version>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.ngrok.com/endpoints")
.header("ngrok-version", "<ngrok-version>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ngrok.com/endpoints")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["ngrok-version"] = '<ngrok-version>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"endpoints": [
{
"id": "<string>",
"region": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"public_url": "<string>",
"proto": "<string>",
"scheme": "<string>",
"hostport": "<string>",
"host": "<string>",
"port": 123,
"type": "<string>",
"metadata": "<string>",
"description": "<string>",
"domain": {
"id": "<string>",
"uri": "<string>"
},
"tcp_addr": {
"id": "<string>",
"uri": "<string>"
},
"tunnel": {
"id": "<string>",
"uri": "<string>"
},
"edge": {
"id": "<string>",
"uri": "<string>"
},
"upstream_url": "<string>",
"upstream_protocol": "<string>",
"url": "<string>",
"principal": {
"id": "<string>",
"uri": "<string>"
},
"traffic_policy": "<string>",
"bindings": [
"<string>"
],
"tunnel_session": {
"id": "<string>",
"uri": "<string>"
},
"uri": "<string>",
"name": "<string>",
"pooling_enabled": true
}
],
"uri": "<string>",
"next_page_uri": "<string>"
}{
"status_code": 123,
"msg": "<string>",
"error_code": "<string>",
"details": {}
}{
"status_code": 123,
"msg": "<string>",
"error_code": "<string>",
"details": {}
}List
List all agent endpoint configurations in your ngrok account with optional filtering and pagination.
curl --request GET \
--url https://api.ngrok.com/endpoints \
--header 'Authorization: Bearer <token>' \
--header 'ngrok-version: <ngrok-version>'import requests
url = "https://api.ngrok.com/endpoints"
headers = {
"ngrok-version": "<ngrok-version>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'ngrok-version': '<ngrok-version>', Authorization: 'Bearer <token>'}
};
fetch('https://api.ngrok.com/endpoints', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.ngrok.com/endpoints",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"ngrok-version: <ngrok-version>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.ngrok.com/endpoints"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("ngrok-version", "<ngrok-version>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.ngrok.com/endpoints")
.header("ngrok-version", "<ngrok-version>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ngrok.com/endpoints")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["ngrok-version"] = '<ngrok-version>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"endpoints": [
{
"id": "<string>",
"region": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"public_url": "<string>",
"proto": "<string>",
"scheme": "<string>",
"hostport": "<string>",
"host": "<string>",
"port": 123,
"type": "<string>",
"metadata": "<string>",
"description": "<string>",
"domain": {
"id": "<string>",
"uri": "<string>"
},
"tcp_addr": {
"id": "<string>",
"uri": "<string>"
},
"tunnel": {
"id": "<string>",
"uri": "<string>"
},
"edge": {
"id": "<string>",
"uri": "<string>"
},
"upstream_url": "<string>",
"upstream_protocol": "<string>",
"url": "<string>",
"principal": {
"id": "<string>",
"uri": "<string>"
},
"traffic_policy": "<string>",
"bindings": [
"<string>"
],
"tunnel_session": {
"id": "<string>",
"uri": "<string>"
},
"uri": "<string>",
"name": "<string>",
"pooling_enabled": true
}
],
"uri": "<string>",
"next_page_uri": "<string>"
}{
"status_code": 123,
"msg": "<string>",
"error_code": "<string>",
"details": {}
}{
"status_code": 123,
"msg": "<string>",
"error_code": "<string>",
"details": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Query Parameters
Expects a resource ID as its input. Returns earlier entries in the result set, sorted by ID.
Constrains the number of results in the dataset. See the API Overview for details.
A CEL expression to filter the list results. Supports logical and comparison operators to match on fields such as id, metadata, created_at, and more. See ngrok API Filtering for syntax and field details: https://ngrok.com/docs/api/api-filtering.
Filterable fields: id, url, type, pooling_enabled, region, scheme, description, metadata, name, created_at, principal.id, bindings
Was this page helpful?