curl --request GET \
--url https://api.spherepay.co/v2/webhook-endpoints/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.spherepay.co/v2/webhook-endpoints/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.spherepay.co/v2/webhook-endpoints/{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.spherepay.co/v2/webhook-endpoints/{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 => [
"Authorization: Bearer <token>"
],
]);
$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.spherepay.co/v2/webhook-endpoints/{id}"
req, _ := http.NewRequest("GET", url, nil)
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.spherepay.co/v2/webhook-endpoints/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spherepay.co/v2/webhook-endpoints/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"apiVersion": "2026-04-01",
"createdAt": "2026-01-01T00:00:00.000Z",
"description": "Production payment events handler",
"id": "webhook_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
"metadata": {
"environment": "prod",
"team": "payments"
},
"status": "enabled",
"subscribedEvents": [
"customer.created",
"transfer.succeeded"
],
"updatedAt": "2026-01-01T00:00:00.000Z",
"url": "https://example.com/webhooks/sphere"
}{
"code": "address/invalid",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Invalid request parameters",
"status": 400
}{
"code": "resource/not-found",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Resource not found",
"status": 404
}{
"code": "validation/failed",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Validation failed",
"errors": [
{
"detail": "Invalid email format",
"pointer": "/email"
},
{
"detail": "Name is required",
"pointer": "/name"
}
],
"status": 422
}Retrieve a Webhook Endpoint by ID
Retrieve a webhook endpoint by its ID.
curl --request GET \
--url https://api.spherepay.co/v2/webhook-endpoints/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.spherepay.co/v2/webhook-endpoints/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.spherepay.co/v2/webhook-endpoints/{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.spherepay.co/v2/webhook-endpoints/{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 => [
"Authorization: Bearer <token>"
],
]);
$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.spherepay.co/v2/webhook-endpoints/{id}"
req, _ := http.NewRequest("GET", url, nil)
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.spherepay.co/v2/webhook-endpoints/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.spherepay.co/v2/webhook-endpoints/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"apiVersion": "2026-04-01",
"createdAt": "2026-01-01T00:00:00.000Z",
"description": "Production payment events handler",
"id": "webhook_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6",
"metadata": {
"environment": "prod",
"team": "payments"
},
"status": "enabled",
"subscribedEvents": [
"customer.created",
"transfer.succeeded"
],
"updatedAt": "2026-01-01T00:00:00.000Z",
"url": "https://example.com/webhooks/sphere"
}{
"code": "address/invalid",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Invalid request parameters",
"status": 400
}{
"code": "resource/not-found",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Resource not found",
"status": 404
}{
"code": "validation/failed",
"correlationId": "28c61e885c6e5eaa78c1a2183a9b883c",
"detail": "Validation failed",
"errors": [
{
"detail": "Invalid email format",
"pointer": "/email"
},
{
"detail": "Name is required",
"pointer": "/name"
}
],
"status": 422
}apiVersion, and its current state.
The signing secret is not part of the response. It is returned only when the endpoint is created, so if you no longer hold it, delete the endpoint and register a replacement to obtain a fresh one.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
The requested webhook endpoint.
API version date string this endpoint was configured with, or null if not set.
"2026-04-01"
ISO 8601 timestamp when the endpoint was created.
"2026-01-01T00:00:00.000Z"
Human-readable description of this webhook endpoint, or null if not set.
"Production payment events handler"
The unique identifier of the webhook endpoint.
"webhook_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6"
Arbitrary key-value metadata attached to this endpoint, or null if not set.
{ "environment": "prod", "team": "payments" }
The current state of this endpoint.
enabled, errored, disabled, deleted "enabled"
List of event types this endpoint receives.
*, customer.*, transfer.*, document.*, service.*, customer.created, customer.pending, customer.approved, customer.rejected, transfer.created, transfer.pendingFunding, transfer.pendingReview, transfer.fundsReceived, transfer.processing, transfer.succeeded, transfer.returned, transfer.pendingRefundInformation, transfer.failed, transfer.canceled, transfer.refunded, transfer.unexpectedError, transfer.failedPrecondition, transfer.expired, transfer.unfunded, document.pending, document.processing, document.verified, document.rejected, service.pending, service.processing, service.succeeded, service.failed, service.cancelled ["customer.created", "transfer.succeeded"]
ISO 8601 timestamp when the endpoint was last updated.
"2026-01-01T00:00:00.000Z"
The HTTPS URL events are delivered to.
"https://example.com/webhooks/sphere"