Hookbase
Docs
GuideAPI ReferenceIntegrationsUse CasesCLIMCP
Getting StartedSDK ReferencePortal ComponentsAPI Reference
Get Started

API Reference

OverviewAPI ExplorerAuthenticationAPI Keys

Core Endpoints

SourcesDestinationsRoutesEventsDeliveriesDelivery ClustersTransformsFiltersSchemasWebhook IngestAnalytics

Development Tools

TunnelsCron JobsCron GroupsScheduled Sends

Administration

Custom DomainsAudit LogsNotification ChannelsAlert RulesRedaction PoliciesObservability Export
DocsReceiveAPIObservability

Observability Export API

Manage OpenTelemetry export configurations to send webhook delivery traces and metrics to external observability platforms.

Endpoints

MethodPathDescription
GET/api/observabilityList export configs
POST/api/observabilityCreate export config
GET/api/observability/{id}Get export config
PATCH/api/observability/{id}Update export config
DELETE/api/observability/{id}Delete export config
POST/api/observability/{id}/testTest endpoint connectivity
GET/api/observability/statusExport health summary

Export Config Object

{
  "id": "55fc3362-5e1c-451a-9802-bf7528c0d31d",
  "organizationId": "23dcbb0a-119b-4a84-8ebc-bea5183407a0",
  "name": "Grafana Cloud",
  "provider": "grafana",
  "endpoint": "https://otlp-gateway-prod-us-west-0.grafana.net/otlp/",
  "protocol": "http/json",
  "authHeaders": {
    "Authorization": "Basi****ials"
  },
  "exportTypes": {
    "traces": true,
    "metrics": true,
    "logs": false
  },
  "samplingRate": 1.0,
  "resourceFilter": null,
  "isActive": true,
  "lastExportAt": "2026-03-15T12:00:00Z",
  "lastError": null,
  "consecutiveErrors": 0,
  "createdAt": "2026-03-15T10:00:00Z",
  "updatedAt": "2026-03-15T12:00:00Z"
}

Auth header values are always masked in responses. Only header key names are visible.

Providers

Valid provider values: grafana, newrelic, honeycomb, axiom, otlp

Create Export Config

curl -X POST "https://api.hookbase.app/api/observability" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Production Grafana",
    "provider": "grafana",
    "endpoint": "https://otlp-gateway-prod-us-west-0.grafana.net/otlp/",
    "authHeaders": {
      "Authorization": "Basic base64credentials"
    },
    "exportTypes": {
      "traces": true,
      "metrics": true,
      "logs": false
    },
    "samplingRate": 1.0,
    "resourceFilter": []
  }'

Parameters

FieldTypeRequiredDescription
namestringYesDisplay name (1-100 chars)
providerstringYesProvider identifier
endpointstringYesOTLP endpoint URL
protocolstringNohttp/json (default) or http/protobuf
authHeadersobjectNoKey-value pairs sent as HTTP headers
exportTypesobjectNoWhich telemetry types to export
samplingRatenumberNo0.01 to 1.0 (default: 1.0)
resourceFilterstring[]NoSource/route IDs to filter (Business only)

Plan Limits

PlanMax ConfigsTracesMetricsLogsResource Filter
Pro2YesYesNoNo
Business10YesYesYesYes

Update Export Config

curl -X PATCH "https://api.hookbase.app/api/observability/{id}" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "samplingRate": 0.5,
    "isActive": true
  }'

All fields from create are optional. Additionally accepts isActive (boolean) to enable/disable.

Test Connection

curl -X POST "https://api.hookbase.app/api/observability/{id}/test" \
  -H "Authorization: Bearer {token}"

Sends a test span to the configured endpoint and returns success or the error message. Resets consecutive errors on success.

Response

{
  "success": true,
  "message": "Test span sent successfully",
  "status": 200
}

Health Status

curl "https://api.hookbase.app/api/observability/status" \
  -H "Authorization: Bearer {token}"

Response

{
  "total": 3,
  "active": 2,
  "healthy": 1,
  "erroring": 1,
  "disabled": 1,
  "configs": [
    {
      "id": "...",
      "name": "Grafana Cloud",
      "provider": "grafana",
      "isActive": true,
      "lastExportAt": "2026-03-15T12:00:00Z",
      "lastError": null,
      "consecutiveErrors": 0,
      "status": "healthy"
    }
  ]
}

Status values: healthy, erroring, disabled, auto_disabled

Auto-Disable Behavior

After 10 consecutive export failures, the config is automatically set to isActive: false. The status changes to auto_disabled. Fix the endpoint issue and re-enable via PATCH with {"isActive": true}.

PreviousRedaction Policies

On this page

EndpointsExport Config ObjectProvidersCreate Export ConfigParametersPlan LimitsUpdate Export ConfigTest ConnectionResponseHealth StatusResponseAuto-Disable Behavior