Preview docs. Hallucination Guard is the only live endpoint today.

The rest of the API surface ships through the rest of 2026. Join the waitlist to be first in line and shape what we build first.

Getting started

Webhooks

Async operations like Meeting Memory ingest and weekly digest delivery fire HTTP callbacks to a URL you register. Verify signatures on every delivery.

Events

  • meeting_memory.ingest.completed: transcript indexed and structured-extracted
  • meeting_memory.digest.weekly: weekly digest available for retrieval
  • voice_profile.train.completed: async profile crystallization finished (only fires for >100-sample trainings, which run async)
  • key.compromised: Prism detected your key on a public source and revoked it

Endpoint registration

BASH
curl https://api.prism.dev/v1/webhooks/endpoints \
  -H "Authorization: Bearer $PRISM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://yours.com/webhooks/prism",
    "events": ["meeting_memory.digest.weekly"]
  }'

Delivery shape

JSON
{
  "tk-key">"id": "evt_8c3...",
  "tk-key">"type": "meeting_memory.digest.weekly",
  "tk-key">"created_at": "2026-04-29T14:00:00Z",
  "tk-key">"data": { "tk-key">"...": "..." }
}

Signature verification

Each delivery includes Prism-Signature, an HMAC-SHA256 of the raw body using your endpoint secret. Reject any payload that fails verification.

JAVASCRIPT
import crypto from "crypto";

function verify(signature, rawBody, secret) {
  const expected = crypto
    .createHmac("sha256", secret)
    .update(rawBody)
    .digest("hex");
  return crypto.timingSafeEqual(
    Buffer.from(signature),
    Buffer.from(expected),
  );
}

Retries

Non-2xx responses trigger retries on an exponential schedule: 30s, 5m, 30m, 2h, 12h. After the final retry the event is parked for manual replay from the dashboard.

Idempotency

Use event.id as your idempotency key. Prism may deliver the same event twice during a network partition. Your handler should de-dupe by id.