Skip to main content

Overview

Each change Tavrn announces (a retrieval status change, an action request, new documents, an endpoint being disabled) is an event. Events are delivered to your webhooks and, independently, written to an event log you can read with GET /v2/events for 30 days. The event body is identical in both places: the id, type, created_at and data you see in a webhook delivery are the same values GET /v2/events/{id} returns.

Event object

Listing events

Filters: type (comma-separated, up to 20), created_after, created_before, object_id (for example a retrieval request ID). Results are newest first; follow next and previous for pagination. Scopes. webhooks:read plus the read scope of the event family — retrievals:read for retrieval_request.*. Events from families your key cannot read are omitted; asking for one explicitly with type returns 403 insufficient_scope.

Reconciliation after an outage

  1. Note the created_at of the last event you processed.
  2. GET /v2/events?created_after=<that time> and page through next.
  3. Process each event as you would a webhook delivery, deduplicating on id.
The event log covers 30 days. For anything older, use incremental polling on the resource itself.