Documentation

Everything you need to run webhooks in production.

Axel docs are split into four lanes: get started, primitives, operate, and reference. Each page is short by design — if a page can't be skimmed in 60 seconds, it's split into smaller ones.

Get started

Quickstart — accept your first webhook

Three commands. Two minutes. One acknowledged event in your dashboard.

1.

Create a source via the API

curl -X POST https://api.axelapp.ai/v1/sources \
  -H "Authorization: Bearer $AXEL_API_KEY" \
  -d '{ "name": "stripe-prod", "max_events_per_minute": 600 }'

The response includes a per-source ingest token. Store it as a secret in your producer's environment.

2.

Point the producer at the ingest URL

POST https://ingest.axelapp.ai/in/{source_id}
  x-axel-token: <token>
  content-type: application/json

  { "type": "payment_intent.succeeded", ... }

The endpoint returns 202 in under 250ms p95. Your event is durable in R2 before the response.

3.

Watch it land in the dashboard

# Open https://app.axelapp.ai
# → Overview shows the event count tick up
# → Usage tab shows the source-level breakdown
# → Deliveries shows any failed attempts

Every event you accept is searchable in ClickHouse for 30 days, including the raw payload and headers.

Need a question answered?

The docs are still expanding. If you can't find what you need, email the founders directly — we read every message.