Skip to main content
v1 docs

Integrations

Webhooks & Events

Outbound events, payload shape, and verification guidance.

Organization owners configure outbound webhooks from the org dashboard. Typical events:

  • quiz.completed
  • quiz.created
  • user.registered
  • user.scored
  • payment.received
  • tournament.started
  • tournament.ended
  • certificate.issued
  • leaderboard.updated
POST https://your-server.example/webhooks/iq-earners
Content-Type: application/json
X-IQ-Signature: sha256=<hmac_hex>
X-IQ-Timestamp: <unix_seconds>

{
  "event": "quiz.completed",
  "orgId": "org_...",
  "deliveredAt": "2026-06-05T12:00:00.000Z",
  "data": {
    "username": "player1",
    "quizId": "daily-2026-06-05",
    "score": 9,
    "total": 10
  }
}

Verify signatures with HMAC-SHA256 of the raw request body using your webhook secret. Compare to the hex after sha256= in X-IQ-Signature. Reject if X-IQ-Timestamp is older than ~5 minutes. Deliveries retry up to 3 times with backoff. Use POST /api/org/{slug}/webhooks/test for a signed ping (webhook.test).

Request org-specific routing help via iqearnersteam@gmail.com.

Related in this guide