> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tavrn.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List events

> Every event emitted for your organization in the last 30 days, newest first, whether or not a webhook delivered it. Requires `webhooks:read` plus the read scope of the event family (`retrievals:read` for `retrieval_request.*`); events from families your key cannot read are omitted, and filtering `type` to such a family returns 403. Use it to reconcile after an outage or instead of webhooks.



## OpenAPI

````yaml GET /v2/events
openapi: 3.1.0
info:
  title: Tavrn Platform API
  version: '2026-10-16'
  description: >-
    Enterprise API for medical record retrieval: cases, retrieval requests,
    retrieved records and provider invoices, case documents, and webhook
    notifications. Behaviour is versioned by date via the Tavrn-Version header
    (see Guides > Versioning); the path stays /v2.
  contact:
    name: Tavrn Support
    email: contact@tavrn.ai
servers:
  - url: https://enterprise.tavrn.ai
    description: Production server
security:
  - bearerAuth: []
tags:
  - name: Cases
    description: Case management operations
  - name: Documents
    description: Document upload and management
  - name: Retrieval Requests
    description: Medical record retrieval requests submitted to healthcare facilities
  - name: Requestors
    description: Multiple retrieval profiles within one organization
  - name: Webhooks
    description: Webhook registration and event notifications
  - name: Events
    description: Persisted log of every event Tavrn emitted for your organization
paths:
  /v2/events:
    get:
      tags:
        - Events
      summary: List events
      description: >-
        Every event emitted for your organization in the last 30 days, newest
        first, whether or not a webhook delivered it. Requires `webhooks:read`
        plus the read scope of the event family (`retrievals:read` for
        `retrieval_request.*`); events from families your key cannot read are
        omitted, and filtering `type` to such a family returns 403. Use it to
        reconcile after an outage or instead of webhooks.
      operationId: listEvents
      parameters:
        - name: type
          in: query
          description: Comma-separated event types (up to 20)
          schema:
            type: string
          example: retrieval_request.status_changed,retrieval_request.action_required
        - name: created_after
          in: query
          description: Only events created strictly after this time
          schema:
            type: string
            format: date-time
        - name: created_before
          in: query
          description: Only events created strictly before this time
          schema:
            type: string
            format: date-time
        - name: object_id
          in: query
          description: Only events about this object (e.g. a retrieval request id)
          schema:
            type: string
        - name: cursor
          in: query
          description: Pagination cursor from a previous `next` or `previous` link
          schema:
            type: string
        - name: limit
          in: query
          description: Maximum number of results
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 20
      responses:
        '200':
          description: Events, newest first
          headers:
            Request-Id:
              $ref: '#/components/headers/RequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventList'
        '400':
          description: Invalid filter
          headers:
            Request-Id:
              $ref: '#/components/headers/RequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: invalid_request
                  message: created_after must be an ISO 8601 timestamp
        '403':
          description: Key lacks the family read scope for a requested type
          headers:
            Request-Id:
              $ref: '#/components/headers/RequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: insufficient_scope
                  message: 'Required scope: retrievals:read'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  headers:
    RequestId:
      description: >-
        Unique id for this request (`req_…`, or the `Request-Id` /
        `X-Request-Id` you sent, when printable ASCII and at most 128
        characters). Present on every /v2 response; quote it in support
        requests.
      schema:
        type: string
        maxLength: 128
        example: req_0c1f1f1cd1c84e2f8d4b6a2e9f3b7a11
  schemas:
    EventList:
      type: object
      required:
        - results
        - next
        - previous
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/Event'
        next:
          type:
            - string
            - 'null'
          description: URL of the next page, or null
        previous:
          type:
            - string
            - 'null'
          description: URL of the previous page, or null
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - request_id
          properties:
            code:
              type: string
              description: Machine-readable error code
              example: validation_error
            message:
              type: string
              description: Human-readable error message
              example: The patient.date_of_birth field is required
            param:
              type: string
              description: Field the error refers to, when applicable
              example: patient.date_of_birth
            request_id:
              type: string
              description: Same value as the `Request-Id` response header
              example: req_0c1f1f1cd1c84e2f8d4b6a2e9f3b7a11
            doc_url:
              type: string
              format: uri
              description: Link to this error code in the error reference
              example: https://docs.tavrn.ai/guides/v2/errors#validation_error
    Event:
      type: object
      required:
        - id
        - object
        - type
        - created_at
        - data
      description: >-
        A persisted event: the same body a webhook delivers, readable for 30
        days.
      properties:
        id:
          type: string
          description: >-
            Deterministic event ID; equals the webhook body `id` and the
            `X-Webhook-Event-Id` header
          example: rr-06a28fdc7a8abfa2a1c98dd0562020ebb41ca740377930a736854d23a6c9881a
        object:
          type: string
          enum:
            - event
        type:
          type: string
          description: Event type
          example: retrieval_request.status_changed
        created_at:
          type: string
          format: date-time
        api_version:
          type:
            - string
            - 'null'
          description: API version the event was rendered with
          example: v2
        request_id:
          type:
            - string
            - 'null'
          description: >-
            Request ID of the API call that caused the event, when it was caused
            by one
        data:
          type: object
          description: >-
            Event-specific payload; identical to the webhook body `data` for the
            same `id`
          additionalProperties: true
  responses:
    InternalError:
      description: >-
        Tavrn failed to process the request (`internal_error`). Retry with
        backoff; if it persists, contact support quoting the `Request-Id`.
      headers:
        Request-Id:
          $ref: '#/components/headers/RequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: internal_error
              message: Internal server error
              request_id: req_0c1f1f1cd1c84e2f8d4b6a2e9f3b7a11
              doc_url: https://docs.tavrn.ai/guides/v2/errors#internal_error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: >-
        API key authentication. Use format: `Authorization: Bearer
        tavrn_sk_live_...`

````