Skip to main content
Events let your app react to Case.dev activity without polling. Configure an HTTPS endpoint, choose the event types you want, and Case.dev sends a signed JSON delivery when matching events happen in your organization.

API reference

See the full endpoint reference for webhook subscriptions, deliveries, replay, rotation, and event types.

Why use webhooks?

  • React immediately when vault ingestion, OCR, transcription, matter, billing, or deployment events finish.
  • Reduce polling for long-running jobs and update your UI from delivery events.
  • Scope subscriptions by event type, vault, or matter so each receiver only gets what it needs.
  • Recover safely with delivery history, manual replay, retries, and endpoint auto-disable.

Quick example

import Casedev from 'casedev'

const client = new Casedev({ apiKey: process.env.CASEDEV_API_KEY })

const endpoint = await client.webhooks.v1.endpoints.create({
  url: 'https://your-app.example.com/webhooks/casedev',
  eventTypeFilters: ['vault.ingest.completed'],
})

console.log(endpoint.endpoint.id, endpoint.signingSecret)
Case.dev includes delivery ID, timestamp, and signature headers on every delivery. Verify the signature against the raw request body before parsing the JSON. A delivery includes an id, type, occurred_at, and data payload for the event.

Event filters

Use exact names for narrow subscriptions, prefix wildcards for a service area, or * for every event your API key can receive.
FilterMatches
vault.ingest.completedOne exact event type.
vault.ingest.*Every event beginning with vault.ingest.
vault.*Every event beginning with vault.
*Every subscribable event in the generated list.
Add resourceScopes.vaultIds or resourceScopes.matterIds when an endpoint should only receive events for specific resources.

Delivery behavior

Delivery is at least once. Store processed event IDs and make your handler idempotent.
Receiver resultCase.dev behavior
2xx responseDelivery is marked delivered.
408, 429, 5xxDelivery is retried.
Network error or timeoutDelivery is retried.
Other 4xxDelivery fails without retry.
Retries run inline first, then in the background. Repeated failures can auto-disable an endpoint until you re-enable it from the dashboard or API.

Endpoints

Quickstart

Create an endpoint, verify signatures, and send a test event.

Event types

Generated reference for subscribable events and payload shapes.

API reference

OpenAPI reference for endpoint, delivery, replay, rotation, and catalog APIs.