integrationIntermediate12 min

Webhook Integration Guide

Real-time notifications for your applications

Set up webhooks to receive real-time updates about entity changes, license expirations, filing publications, and permit approvals.

01

Webhook Overview

Webhooks allow Olympus to push updates to your application in real-time, eliminating the need for polling and enabling instant notifications.

02

Setting Up Endpoints

Create a publicly accessible HTTPS endpoint that can receive POST requests with JSON payloads.

typescript
class="text-pink-400">import express class="text-pink-400">from class="text-emerald-class="text-amber-400">400">'express';
class="text-pink-400">import crypto class="text-pink-400">from class="text-emerald-class="text-amber-400">400">'crypto';

class="text-pink-400">const app = express();
app.use(express.json());

app.post(class="text-emerald-class="text-amber-400">400">'/webhooks/olympus', (req, res) => {
  class="text-pink-400">const signature = req.headers[class="text-emerald-class="text-amber-400">400">'x-olympus-signature'];
  class="text-pink-400">const isValid = verifySignature(req.body, signature);

  class="text-pink-400">if (!isValid) {
    class="text-pink-400">return res.status(class="text-amber-400">401).send(class="text-emerald-class="text-amber-400">400">'Invalid signature');
  }

  class="text-white/class="text-amber-400">30 italic">// Process webhook payload
  class="text-pink-400">const { event, data } = req.body;
  handleEvent(event, data);

  res.status(class="text-amber-400">200).send(class="text-emerald-class="text-amber-400">400">'OK');
});
03

Event Types

Olympus supports various event types: entity.updated, license.expiring, filing.published, permit.approved, and more.

04

Signature Verification

Always verify webhook signatures using your webhook secret to ensure requests come from Olympus.

05

Retry Logic

Olympus retries failed webhook deliveries with exponential backoff. Return a 2xx status code quickly to acknowledge receipt.

Related Guides

Ready to implement?

Explore our API documentation to start building with Olympus.