Get Webhook Endpoint
curl --request GET \
--url https://api.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id}', 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.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "<string>",
"url": "<string>",
"events": [
{}
],
"description": "<string>",
"created": "<string>",
"updated": "<string>",
"created_by": "<string>",
"updated_by": "<string>",
"last_used_at": "<string>",
"deleted_at": "<string>"
}Webhook Endpoints
Get Webhook Endpoint
Retrieve an active webhook endpoint
GET
/
v1
/
customers
/
{customer_id}
/
webhook-endpoints
/
{endpoint_id}
Get Webhook Endpoint
curl --request GET \
--url https://api.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id}"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id}', 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.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hopnow.io/v1/customers/{customer_id}/webhook-endpoints/{endpoint_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "<string>",
"url": "<string>",
"events": [
{}
],
"description": "<string>",
"created": "<string>",
"updated": "<string>",
"created_by": "<string>",
"updated_by": "<string>",
"last_used_at": "<string>",
"deleted_at": "<string>"
}Returns one active endpoint belonging to this customer. Requires
read access on the webhooks scope.
A deleted endpoint returns 404 here even though it is still listed by List Webhook Endpoints with its deleted_at set. Signing secrets are never returned.
Path Parameters
string
required
The customer’s external ID (starts with
cus_)string
required
The webhook endpoint’s external ID (starts with
wh_)Response
string
Webhook endpoint identifier (starts with
wh_)string
Always returns
"webhook_endpoint"string
Delivery URL, as stored after normalisation
array
Subscribed event types
string
Description, or
nullstring
ISO 8601 timestamp when created
string
ISO 8601 timestamp when last updated
string
Identifier of the actor that created the endpoint, or
nullstring
Identifier of the actor that last updated the endpoint, or
nullstring
Reserved. Always
null. Hop does not record delivery times on the endpoint today.string
Deletion timestamp. Always
null here.Errors
| Status | code | When |
|---|---|---|
404 | RESOURCE_NOT_FOUND | No endpoint with this ID belongs to the customer, or it has been deleted |
Response Example
{
"id": "wh_g738im3ueie9s9zexmf9cl87",
"object": "webhook_endpoint",
"url": "https://api.mycompany.com/webhooks/hopnow",
"events": ["payin.received", "payout.completed", "account.created"],
"description": "Production webhook for account activity",
"created": "2026-07-15T02:00:00Z",
"updated": "2026-07-15T02:00:00Z",
"created_by": null,
"updated_by": null,
"last_used_at": null,
"deleted_at": null
}