SEDI API Docs - Build powerful integrations
Endpoints

Webhooks

Webhooks allow your application to receive real-time notifications when events occur in SEDI.

Event types

EventDescription
user.createdA new user was created
user.updatedA user was updated
user.deletedA user was deleted
project.createdA new project was created
project.updatedA project was updated
project.deletedA project was deleted

Setting up a webhook

Configure webhook URLs in your dashboard. You must provide a publicly accessible HTTPS endpoint.

Signature verification

Every webhook payload includes a SEDI-Signature header. Verify it using your webhook secret:

import crypto from 'node:crypto';

function verifyWebhook(payload, signature, secret) {
  const expected = crypto
    .createHmac('sha256', secret)
    .update(JSON.stringify(payload))
    .digest('hex');

  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected)
  );
}

Retry policy

SEDI retries failed webhooks up to 3 times with exponential backoff (1min, 10min, 60min). Respond with 200 OK within 5 seconds to acknowledge receipt.

Idempotency

Webhook deliveries include an Idempotency-Key header. Process each idempotency key exactly once to avoid duplicate handling.