Skip to content

Webhooks Overview

Webhooks allow your application to receive real-time HTTP callbacks when events occur in your xQR workspace — like a link being scanned, a bio page published, or an asset uploaded.

How It Works

  1. You register a webhook endpoint URL and the events you want to receive
  2. When a matching event occurs, xQR sends a POST request to your URL
  3. The payload is signed with HMAC-SHA256 so you can verify authenticity
  4. If delivery fails, xQR retries with exponential backoff

Payload Format

Every webhook delivery sends a JSON payload:

{
"event": "link.created",
"timestamp": "2026-03-21T10:30:00Z",
"data": {
"link_id": "550e8400-e29b-41d4-a716-446655440000",
"short_code": "my-link",
"destination": "https://example.com"
}
}

Headers

Each delivery includes these headers:

HeaderDescription
Content-Typeapplication/json
X-XQR-EventEvent type (e.g. link.created)
X-XQR-DeliveryUnique delivery ID (UUID)
X-XQR-SignatureHMAC-SHA256 signature: sha256={hex_digest}
User-AgentxQR-Webhooks/1.0

Managing Webhooks

Create and manage webhooks via:

  • Dashboard: Settings → Developers → Webhooks
  • API: POST /v1/webhooks
  • MCP: create_webhook tool (coming in Phase 2)

Plan Limits

PlanWebhook Endpoints
Free0
Pro3
Business20
EnterpriseUnlimited

Was this page helpful?