Skip to main content
GET
/
analytics
/
webhooks
Get webhook analytics
curl --request GET \
  --url https://api.bitgpt.xyz/analytics/webhooks \
  --header 'Authorization: <api-key>'
{
  "status": 200,
  "data": {
    "day_metrics": {
      "total": 2,
      "success": 0,
      "failed": 2,
      "pending": 2,
      "retry_rate_pct": 33.33,
      "avg_delay_ms": 6.44
    },
    "top_events": [
      {
        "event": "api_key.created",
        "count": 1
      },
      {
        "event": "api_key.updated",
        "count": 1
      }
    ],
    "top_failed_urls": [
      {
        "url": "https://url.com",
        "count": 1
      }
    ],
    "hourly_metrics": [
      {
        "hour": "2025-06-29 17:00:00",
        "count": 2
      }
    ],
    "total": {
      "webhooks": 2,
      "events_subscribed": 4
    },
    "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
      }
    ],
    "latency": {
      "min": 0,
      "max": 0,
      "avg": 0,
      "p50": 0,
      "p90": 0,
      "p95": 0,
      "p99": 0
    }
  },
  "error": null,
  "log": null,
  "validator": null,
  "support_id": null,
  "message": "Resource created successfully",
  "env": "development"
}

Authorizations

Authorization
string
header
required

Send your access token as header Authorization: Bearer {accessToken}

Authorization
string
header
required

Your API key that starts with sk_live or sk_test. You can create yours at go.bitgpt.xyz/api-keys.

Response

Successful webhook analytics general response

status
enum<integer>
required

Status code of the response

Available options:
200,
201,
202
data
object
required

Response data containing the requested object

message
string | null
required

Message of the response, human readable

Example:

"Resource created successfully"

env
enum<string>
required

API environment

Available options:
development,
production
error
string | null

Error message of the response, human readable

Example:

"Invalid email address"

log

Useful informaiton, not always present, to debug the response

Examples:
{ "request_id": "req_1234567890" }

"Some pertinent log message"

validator
object

Validator response object, each key is the field name and value is the error message

Example:
{
"email": "Invalid email address",
"password": "Password is required"
}
support_id
string<uuid> | null

Support ID linked to the response, used to identify it when talking with our team

Example:

"support_uuidv7-something-else"