curl --request GET \
--url https://api.bitgpt.xyz/analytics/webhooks/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.bitgpt.xyz/analytics/webhooks/{id}"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.bitgpt.xyz/analytics/webhooks/{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.bitgpt.xyz/analytics/webhooks/{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: <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.bitgpt.xyz/analytics/webhooks/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.bitgpt.xyz/analytics/webhooks/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bitgpt.xyz/analytics/webhooks/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": 200,
"data": {
"day_metrics": {
"total": 3,
"success": 1,
"failed": 2,
"pending": 3,
"retry_rate_pct": 33.33,
"avg_delay_ms": 6.33
},
"last_events": [
{
"id": "125",
"webhook_id": "webhook_0197bc00-48b8-7f8e-a84e-7bf59dea2563",
"organization_id": "org_0196b0e9-11d8-7f26-b1d2-bd47054e4827",
"url": "https://url.com",
"event": "api_key.updated",
"resource_id": "1",
"payload": null,
"response_status": 404,
"response_body": "{\"body\": \"123\"}",
"error": {
"error": "123"
},
"retries": 0,
"created_at": "2025-07-01 23:26:30",
"updated_at": "2025-07-01 23:35:57",
"first_sent_at": null,
"delay_ms": 5,
"done": 0
},
{
"id": "124",
"webhook_id": "webhook_0197bc00-48b8-7f8e-a84e-7bf59dea2563",
"organization_id": "org_0196b0e9-11d8-7f26-b1d2-bd47054e4827",
"url": "https://url.com",
"event": "api_key.updated",
"resource_id": "1",
"payload": {
"name": "Ho",
"description": "Hu"
},
"response_status": 300,
"response_body": "{\"body\": \"123\"}",
"error": {
"error": "123"
},
"retries": 0,
"created_at": "2025-07-01 17:36:19",
"updated_at": "2025-07-01 23:35:26",
"first_sent_at": null,
"delay_ms": 10,
"done": 0
},
{
"id": "123",
"webhook_id": "webhook_0197bc00-48b8-7f8e-a84e-7bf59dea2563",
"organization_id": "org_0196b0e9-11d8-7f26-b1d2-bd47054e4827",
"url": "https://url.com",
"event": "api_key.created",
"resource_id": "1",
"payload": null,
"response_status": 200,
"response_body": null,
"error": null,
"retries": 1,
"created_at": "2025-07-01 17:36:19",
"updated_at": "2025-07-01 23:35:11",
"first_sent_at": null,
"delay_ms": 4,
"done": 0
}
],
"day_top_events": {
"event": "api_key.updated",
"count": 2
},
"day_hourly_metrics": {
"hour": "2025-07-01 17:00:00",
"count": 2
}
},
"error": null,
"log": null,
"validator": null,
"support_id": null,
"message": "Resource created successfully",
"env": "development"
}{
"error": "<string>",
"message": null,
"log": "<string>",
"validator": {},
"support_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data": {}
}{
"status": 401,
"error": "<string>",
"message": null,
"log": "<string>",
"validator": {},
"support_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data": {}
}{
"status": 403,
"error": "<string>",
"message": null,
"log": "<string>",
"validator": {},
"support_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data": {}
}Get webhook analytics by ID
Get analytics for a specific webhook by ID
curl --request GET \
--url https://api.bitgpt.xyz/analytics/webhooks/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.bitgpt.xyz/analytics/webhooks/{id}"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.bitgpt.xyz/analytics/webhooks/{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.bitgpt.xyz/analytics/webhooks/{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: <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.bitgpt.xyz/analytics/webhooks/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<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.bitgpt.xyz/analytics/webhooks/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bitgpt.xyz/analytics/webhooks/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"status": 200,
"data": {
"day_metrics": {
"total": 3,
"success": 1,
"failed": 2,
"pending": 3,
"retry_rate_pct": 33.33,
"avg_delay_ms": 6.33
},
"last_events": [
{
"id": "125",
"webhook_id": "webhook_0197bc00-48b8-7f8e-a84e-7bf59dea2563",
"organization_id": "org_0196b0e9-11d8-7f26-b1d2-bd47054e4827",
"url": "https://url.com",
"event": "api_key.updated",
"resource_id": "1",
"payload": null,
"response_status": 404,
"response_body": "{\"body\": \"123\"}",
"error": {
"error": "123"
},
"retries": 0,
"created_at": "2025-07-01 23:26:30",
"updated_at": "2025-07-01 23:35:57",
"first_sent_at": null,
"delay_ms": 5,
"done": 0
},
{
"id": "124",
"webhook_id": "webhook_0197bc00-48b8-7f8e-a84e-7bf59dea2563",
"organization_id": "org_0196b0e9-11d8-7f26-b1d2-bd47054e4827",
"url": "https://url.com",
"event": "api_key.updated",
"resource_id": "1",
"payload": {
"name": "Ho",
"description": "Hu"
},
"response_status": 300,
"response_body": "{\"body\": \"123\"}",
"error": {
"error": "123"
},
"retries": 0,
"created_at": "2025-07-01 17:36:19",
"updated_at": "2025-07-01 23:35:26",
"first_sent_at": null,
"delay_ms": 10,
"done": 0
},
{
"id": "123",
"webhook_id": "webhook_0197bc00-48b8-7f8e-a84e-7bf59dea2563",
"organization_id": "org_0196b0e9-11d8-7f26-b1d2-bd47054e4827",
"url": "https://url.com",
"event": "api_key.created",
"resource_id": "1",
"payload": null,
"response_status": 200,
"response_body": null,
"error": null,
"retries": 1,
"created_at": "2025-07-01 17:36:19",
"updated_at": "2025-07-01 23:35:11",
"first_sent_at": null,
"delay_ms": 4,
"done": 0
}
],
"day_top_events": {
"event": "api_key.updated",
"count": 2
},
"day_hourly_metrics": {
"hour": "2025-07-01 17:00:00",
"count": 2
}
},
"error": null,
"log": null,
"validator": null,
"support_id": null,
"message": "Resource created successfully",
"env": "development"
}{
"error": "<string>",
"message": null,
"log": "<string>",
"validator": {},
"support_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data": {}
}{
"status": 401,
"error": "<string>",
"message": null,
"log": "<string>",
"validator": {},
"support_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data": {}
}{
"status": 403,
"error": "<string>",
"message": null,
"log": "<string>",
"validator": {},
"support_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data": {}
}Authorizations
Send your access token as header Authorization: Bearer {accessToken}
Your API key that starts with sk_live or sk_test. You can create yours at go.bitgpt.xyz/api-keys.
Path Parameters
Webhook ID
Response
Successful webhook analytics for specific webhook response
Status code of the response
200, 201, 202 Response data containing the requested object
Show child attributes
Show child attributes
Message of the response, human readable
"Resource created successfully"
API environment
development, production Error message of the response, human readable
"Invalid email address"
Useful informaiton, not always present, to debug the response
{ "request_id": "req_1234567890" }
"Some pertinent log message"
Validator response object, each key is the field name and value is the error message
{
"email": "Invalid email address",
"password": "Password is required"
}
Support ID linked to the response, used to identify it when talking with our team
"support_uuidv7-something-else"

