REST-API
Die API (Premium) liefert Suche, Verfahrensdetails und Watchlist-Verwaltung als JSON. Authentifizierung per API-Key (Header Authorization: Bearer im_live_…).
Endpunkte (v1)
| GET /api/v1/search | Volltext-/Filter-Suche |
| GET /api/v1/proceedings/{id} | Verfahrensdetail |
| GET/POST/DELETE /api/v1/watchlist | Watchlist verwalten |
| GET/POST/DELETE /api/v1/webhooks | Webhook-Endpunkte verwalten |
Rate-Limit: 120 Anfragen/Minute. OpenAPI-Spezifikation unter /api/v1/openapi.json.
Webhooks verifizieren
Jeder Webhook trägt die Header X-Insomon-Signature und X-Insomon-Timestamp. Prüfen Sie die Signatur gegen Ihr Secret:
// Node.js — Webhook-Signatur prüfen (HMAC-SHA256)
import { createHmac, timingSafeEqual } from 'node:crypto';
export function verify(rawBody, headers, secret) {
const ts = headers['x-insomon-timestamp'];
const sig = headers['x-insomon-signature']; // "sha256=<hex>"
// Replay-Schutz: Zeitstempel darf max. 5 Minuten alt sein
if (Math.abs(Date.now() - Number(ts)) > 5 * 60_000) return false;
const expected = 'sha256=' + createHmac('sha256', secret)
.update(ts + '.' + rawBody).digest('hex');
const a = Buffer.from(sig), b = Buffer.from(expected);
return a.length === b.length && timingSafeEqual(a, b);
}