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

# Events

> Fetch business and prospect events, enroll entities for monitoring, and receive deliveries through tenant-scoped webhooks — all live in v2.

<Info>
  The full v2 events surface is live: [fetch events](/v2/businesses/events/fetch_events) on demand, or enroll entities and receive pushes through [webhooks](/v2/endpoints/webhooks).
</Info>

## Two ways to consume events

* **Pull** — [fetch business events](/v2/businesses/events/fetch_events) or [fetch prospect events](/v2/prospects/events/fetch_events) on demand, up to 40 IDs per request. The fetch pages also catalog every available event type, from IPO announcements to hiring trends.
* **Push** — enroll entities once and receive deliveries as events happen: create an enrollment bound to a [webhook](/v2/endpoints/webhooks) via `webhook_id`.

## Endpoints

| Purpose           | Businesses                                                         | Prospects                                                        |
| :---------------- | :----------------------------------------------------------------- | :--------------------------------------------------------------- |
| Fetch events      | [`POST /v2/businesses/events`](/v2/businesses/events/fetch_events) | [`POST /v2/prospects/events`](/v2/prospects/events/fetch_events) |
| Create enrollment | [create](/v2/businesses/events/create_enrollment)                  | [create](/v2/prospects/events/create_enrollment)                 |
| List enrollments  | [list](/v2/businesses/events/list_enrollments)                     | [list](/v2/prospects/events/list_enrollments)                    |
| Update enrollment | [update](/v2/businesses/events/update_enrollment)                  | [update](/v2/prospects/events/update_enrollment)                 |
| Delete enrollment | [delete](/v2/businesses/events/delete_enrollment)                  | [delete](/v2/prospects/events/delete_enrollment)                 |

## Changed from v1

The `new_funding_round` event payload corrects two field names:

| v1 field         | v2 field        |
| :--------------- | :-------------- |
| `founding_stage` | `funding_stage` |
| `founding_date`  | `funding_date`  |

See [What's new](/v2/whats-new#signal-fixes).

### Enrollments bind to a webhook

v2 enrollments gain a **required `webhook_id`**, referencing a [v2 webhook](/v2/endpoints/webhooks) explicitly:

```json Create enrollment theme={null}
{
  "enrollment_key": "my_b2b_saas_monitor",
  "webhook_id": "wh_9f2c81ab",
  "event_types": ["ipo_announcement", "new_funding_round"],
  "business_ids": ["8adce3ca1cef0c986b22310e369a0793"]
}
```

The binding is **strict** — the referenced webhook must exist in your scope and be `active`. Unknown IDs return `404`; a missing `webhook_id` or a webhook with the wrong scope or status returns `422`. The system **never silently substitutes** another webhook. (v1 enrollments have no `webhook_id` and keep delivering to the legacy partner-level webhook unchanged.)

Enrollments also gain a server-generated `enrollment_id` and a `status`:

* `active` — delivering normally
* `paused` — retained but delivering nothing (set when the referenced webhook is force-deleted)

`PATCH` updates any mutable field — `webhook_id`, `enrollment_key`, `event_types`, or the entity ID list. Re-pointing a paused enrollment to an active webhook reactivates it, without re-enrolling entities. List responses return each enrollment with its `enrollment_id`, `webhook_id`, `status`, `event_types`, and entity IDs.

### Delivered payloads carry their source

Event payloads add delivery-source fields so a shared handler can route without relying on `enrollment_key` alone: `webhook_id`, `tenant_id`, `partner_id`, and `enrollment_id`, alongside the existing event fields. Signature verification is unchanged — HMAC over `timestamp.payload`, computed with the secret of the delivering webhook.

## Related

<Card title="Webhooks" icon="webhook" href="/v2/endpoints/webhooks">
  Deliver events to your own endpoints — also currently served by v1
</Card>
