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

# List Event Types

> Retrieve the list of valid webhook event types you can subscribe to.

## Response

<ResponseField name="data" type="array">
  Array of event type strings.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.foxreach.io/api/v1/webhooks/events" \
    -H "X-API-Key: otr_your_key"
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.foxreach.io/api/v1/webhooks/events",
      headers={"X-API-Key": "otr_your_key"}
  )
  data = response.json()
  ```

  ```typescript TypeScript theme={null}
  const response = await fetch(
      "https://api.foxreach.io/api/v1/webhooks/events",
      {
          method: "GET",
          headers: { "X-API-Key": "otr_your_key" }
      }
  );
  const data = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "data": [
      "email.sent",
      "email.failed",
      "email.bounced",
      "email.opened",
      "reply.received",
      "reply.categorized",
      "campaign.started",
      "campaign.paused",
      "campaign.completed",
      "lead.created",
      "lead.updated"
    ]
  }
  ```
</ResponseExample>

## Rate Limit

* **100 requests per minute, per API key.** Fixed 60-second window.
* Every response includes `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset` (unix epoch seconds).
* A `429` response includes a `Retry-After` header (seconds until the bucket resets).

For client-side patterns (`Retry-After`, exponential backoff, monitoring `X-RateLimit-Remaining`), see [Rate Limiting](/rate-limiting).
