# AnyHook > Webhook relay for developers and AI agents. Point any webhook (Stripe, GitHub, > Shopify, or anything else) at an AnyHook inbound URL and get automatic retries, > a full event log, inspection, and one-click replay. Zero SDK. Keyless quickstart: > one curl command returns a working relay endpoint + API key — no signup. ## Quickstart (no account needed) ```bash curl -X POST https://anyhook.net/api/v1/quickstart ``` Returns JSON with: - `inbound_url` — live endpoint that receives webhooks immediately (point Stripe/GitHub/anything at it) - `api_key` — `ahk_live_...` bearer key for the full v1 API (inspect, replay, add destinations) - `claim_url` — open in a browser to keep the endpoint permanently (free plan); otherwise it expires in 7 days - `next_steps` — copy-paste curl commands for the common follow-ups Optionally pass a forwarding destination up front: ```bash curl -X POST https://anyhook.net/api/v1/quickstart \ -H 'Content-Type: application/json' \ -d '{"destination_url": "https://your-server.com/hooks", "source": "stripe"}' ``` Every event that hits `inbound_url` is logged (inspectable via API) and, if a destination is set, delivered with automatic retries and a re-signed `AnyHook-Signature` header (HMAC-SHA256). ## Core API (Bearer ahk_live_... auth) - `POST /api/v1/quickstart` — keyless bootstrap (above) - `GET /api/v1/apps` / `POST /api/v1/apps` — list / create relay apps - `PATCH /api/v1/apps/{slug}` — set destination_url, source, retry config - `GET /api/v1/events` — event log (status, attempts, latency) - `POST /api/v1/events/{id}/replay` — replay one event - `GET /api/v1/apps/{slug}/events/undelivered` — what failed - `POST /api/v1/apps/{slug}/replay-failed` — batch replay after an outage - `POST /api/v1/api-keys` — mint additional keys (scopes: full / read_only) Full spec: https://anyhook.net/openapi.json Docs: https://anyhook.net/docs Pricing (machine-readable): https://anyhook.net/pricing.md Comparisons: https://anyhook.net/compare (vs webhook.site, ngrok, Hookdeck) ## MCP server (for Claude / Cursor / Windsurf) ```bash claude mcp add anyhook -- npx -y anyhook-mcp # no key needed ``` Zero-config: run the `anyhook_quickstart` tool to create a free endpoint + API key with no signup — the session auto-connects. 12 tools: quickstart, create/list apps, inspect events, replay, undelivered, batch replay, mock, verify, simulate. ## Remote MCP (no local process — claude.ai connectors, ChatGPT, any HTTP client) MCP endpoint: `https://anyhook.net/mcp` (streamable HTTP, stateless, POST only) Auth, in precedence order: pass `api_key` as an argument on account tool calls (this is how a keyless session continues after `anyhook_quickstart` returns a key), or send `Authorization: Bearer ahk_live_...`. With neither, the session is keyless: quickstart + mock/verify/providers still work. Source: https://github.com/gba3124/anyhook-mcp ## Signature verification (npm) ```bash npm i anyhook-verify # verify AnyHook-Signature in 3 lines, zero deps ``` ## Facts - Ingress: edge (Cloudflare Workers), responds < 50ms, async delivery via queue - Retries: exponential backoff (5m / 30m / 2h / 12h), plan-based attempt counts - Free plan: 1 app, 3,000 events/month (100/day), 3-day retention — no card required - Payloads encrypted at rest (AES-256-GCM); delivery re-signed on every attempt - Replay never consumes quota