API

Webhooks

Outbound webhooks — get notified when memory changes.

Webhooks

MemHQ can notify your service when interesting things happen on a project: a new episode lands, the ingestion worker finishes, a memory gets superseded, or an audit event fires.

Coming soon — full guide. The shape below is stable; the dashboard UI for configuring endpoints is in beta.

Configure an endpoint

From the dashboard's Settings → Webhooks, register a URL and pick the events you want delivered. MemHQ signs every payload with HMAC-SHA-256 under a shared secret.

Event types

EventFires when
episode.created/v1/memhq/add accepts a payload.
episode.processedThe ingestion pipeline finishes Phase 7.
memory.createdAn accepted memory is indexed.
memory.supersededAn existing memory is superseded by a newer one.
audit.eventAn audit event is written (configurable severity threshold).

Payload shape

{
  "id": "evt_01HZ...",
  "type": "memory.created",
  "project_id": "prj_01HZ...",
  "created_at": "2026-05-12T14:33:02Z",
  "data": {
    "memory_id": "mem_01HZ...",
    "user_id": "user_42",
    "content": "Vegetarian.",
    "source_episode_id": "epi_01HZ..."
  }
}

Signature verification

Every request carries an X-MemHQ-Signature header:

X-MemHQ-Signature: t=1716998400,v1=4f8c...

Compute HMAC-SHA-256(secret, t + "." + body) and compare to the v1 value. Reject if the timestamp t is more than five minutes old.

Retries

Non-2xx responses are retried with exponential backoff for 24 hours. After that, the event is marked failed and visible in the dashboard's Webhook deliveries log.