---
title: "Get paginated webhook event history"
description: "Get a paginated list of webhook events for a specific business. Supports filtering by event type, status, and date range."
protocol: rest
method: GET
endpoint: "/v1/webhooks/history"
baseUrl: "https://api.gravv.xyz"
group: "Webhooks"
auth:
  label: "Api-Key"
  name: "Api-Key"
  in: header
---

# Get paginated webhook event history

<Endpoint method="GET" path="/v1/webhooks/history" />

Get a paginated list of webhook events for a specific business.
Supports filtering by event type, status, and date range.

## Query Parameters

<ParamField name="transaction_id" query="transaction_id" type="string">
  Filter by the transaction identifier associated with the event
</ParamField>

<ParamField name="event_type" query="event_type" type="string">
  Filter by event type (full string, e.g. transfer.status.completed)
</ParamField>

<ParamField name="status" query="status" type="string">
  Filter by webhook status

  Possible values: `pending`, `processing`, `sent`, `failed`, `retrying`
</ParamField>

<ParamField name="start_date" query="start_date" type="string">
  Filter events created on or after this date (inclusive). Must be in RFC3339 format. If both start_date and end_date are provided, start_date must not be after end_date.
</ParamField>

<ParamField name="end_date" query="end_date" type="string">
  Filter events created on or before this date (inclusive). Must be in RFC3339 format. If both start_date and end_date are provided, start_date must not be after end_date.
</ParamField>

<ParamField name="limit" query="limit" type="integer" default="50">
  Maximum number of results per page (max 100, default 50)
</ParamField>

<ParamField name="page" query="page" type="integer" default="1">
  Page number for pagination (1-based)
</ParamField>

## Responses

| Status | Description |
| --- | --- |
| `200` | Successfully retrieved webhook history |

### 200 response

<ResponseField name="items" type="object[]">
  List of webhook event summaries

  <Expandable title="properties">
    <ResponseField name="id" type="string">
      Unique identifier of the webhook event
    </ResponseField>

    <ResponseField name="transaction_id" type="string">
      Identifier of the underlying transaction, when present
    </ResponseField>

    <ResponseField name="event_type" type="string">
      Full event type string (e.g. transfer.status.completed)
    </ResponseField>

    <ResponseField name="path" type="string">
      Delivery URL for this event
    </ResponseField>

    <ResponseField name="http_method" type="string">
      HTTP method used for delivery
    </ResponseField>

    <ResponseField name="status" type="string">
      Status of the webhook event delivery

      Possible values: `pending`, `processing`, `sent`, `failed`, `retrying`
    </ResponseField>

    <ResponseField name="response_status_code" type="integer">
      HTTP response status code from the last delivery attempt
    </ResponseField>

    <ResponseField name="created_at" type="string">
      When the event was created
    </ResponseField>

    <ResponseField name="last_attempt" type="string">
      When the last delivery attempt was made
    </ResponseField>

  </Expandable>
</ResponseField>

<ResponseField name="items_per_page" type="integer">
  Number of items per page
</ResponseField>

<ResponseField name="page" type="integer">
  Current page number (1-based)
</ResponseField>

<ResponseField name="total_items" type="integer">
  Total number of matching events
</ResponseField>

<ResponseField name="total_pages" type="integer">
  Total number of pages
</ResponseField>

## Authorization

- **ApiKeyAuth**
