VerifyAI Webhooks

Get verification events delivered to your backend in real time. Signed payloads, automatic retries, replay protection, and ready-to-go handlers for Node, Python, and Ruby.

Quick Start

1. Install

bash
# 1. Create a webhook endpoint in the VerifyAI dashboard:
#    Settings -> Webhooks -> Add endpoint
#
# 2. Subscribe to events you care about:
#    - verification.completed
#    - verification.flagged
#    - verification.failed
#
# 3. Copy the signing secret. You'll use it to verify incoming payloads.

2. Use

javascript
// Express example
import express from 'express';
import crypto from 'crypto';

const app = express();

app.post(
  '/webhooks/verifyai',
  express.raw({ type: 'application/json' }),
  (req, res) => {
    const signature = req.header('VerifyAI-Signature');
    const expected = crypto
      .createHmac('sha256', process.env.VERIFYAI_WEBHOOK_SECRET)
      .update(req.body)
      .digest('hex');

    if (signature !== expected) {
      return res.status(401).send('Invalid signature');
    }

    const event = JSON.parse(req.body.toString());

    switch (event.type) {
      case 'verification.completed':
        handleCompletion(event.data);
        break;
      case 'verification.flagged':
        handleFlagged(event.data);
        break;
    }

    res.status(200).send('ok');
  }
);

Features

Signed Payloads

Every webhook is signed with HMAC-SHA256 using your endpoint's secret. Verify signatures to prevent spoofing and tampering.

Automatic Retries

Failed deliveries retry with exponential backoff for up to 24 hours. You only need to be available — VerifyAI handles transient outages.

Event Filtering

Subscribe per-endpoint to only the events you need: completions, flagged, failed, manual-review, or all events.

Replay Protection

Timestamped events with monotonic IDs let you detect and discard replays. Idempotency is built into the design.

Dashboard Replay

Re-deliver any past event from the dashboard. Useful when debugging or when an endpoint was down longer than the retry window.

Multiple Endpoints

Configure multiple endpoints per project for different environments, services, or downstream consumers (CRM, ops, billing).

Code Examples

Requirements

  • A public HTTPS endpoint that can receive POST requests
  • Ability to verify HMAC-SHA256 signatures with your endpoint's secret
  • VerifyAI API key with webhook configuration enabled
  • Idempotent processing (we may deliver an event more than once)

Frequently Asked Questions

Stream Verification Events to Your Stack

Signed, retried, replay-protected webhooks for any backend. Start your free sandbox today.

Get in Touch

Questions about pricing, integrations, or custom deployments? We'd love to hear from you.