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

# Notifications

> How AnyCRM's event-driven notification system works, and where the API surface for it actually is

AnyCRM notifies users about things that happen to records they care about — a deal changing stage, being assigned to them, or closing. Most of that system — the in-app feed itself, and each user's per-event preferences (in-app on/off, email cadence) — isn't part of this API at all; it's read and written directly against the database under row-level security, so there's nothing to document here for it.

## What the API surface actually covers

What this API exposes is narrower and more specific: a **producer-side escape hatch**. Every normal write path (updating a deal's stage, assigning an owner) already emits the right notification event automatically as a side effect of that write. The escape hatch exists for the cases that bypass those normal write paths — a bulk import job, or an integration writing data some other way — and need to fire the same kind of event manually.

There's also a read endpoint that mirrors the system's own event registry, so a client can discover which event types exist (and their default delivery settings) without hardcoding that list.

## Anti-spoofing

Because a manually-emitted event fans out to potentially the whole team, the sensitive parts of its payload (a deal's name, value, and owner) are never trusted from the caller — they're looked up fresh from the real record and substituted in before delivery, regardless of what the request body claimed.

## Technical reference

For the full endpoint-by-endpoint reference, see [Emit a Notification Event](/api-reference/notifications/emit-event) and [Get the Event Catalog](/api-reference/notifications/event-catalog).
