Overview
The ENTITY_COMPLIANCE_DATA_SYNCHRONIZED webhook is triggered when NIPR data synchronization completes for an entity (agent or downstream entity). This notifies you when the initial data fetch or a data refresh has finished processing.
Webhook type: ENTITY_COMPLIANCE_DATA_SYNCHRONIZED
Triggers
This webhook fires when:
- An initial NIPR data fetch completes for an agent or downstream entity
- A data refresh/resync finishes processing
This webhook is sent immediately — no debouncing is applied, since each sync completion is a discrete event.
Payload Example
{
"webhookType": "ENTITY_COMPLIANCE_DATA_SYNCHRONIZED",
"upstreamEntityId": "507f1f77bcf86cd799439010",
"payload": {
"entityType": "Agent",
"npn": "1234567",
"synchronizationStatus": "success",
"niprDataSubscriptionId": "507f1f77bcf86cd799439013"
}
}
Field Reference
Payload Fields
| Field | Type | Description |
|---|
entityType | string | The type of entity that was synchronized: Agent, DownstreamEntity, or UpstreamEntity |
npn | string | The National Producer Number (NPN) of the entity that was synchronized. |
synchronizationStatus | string | Status of the sync operation (see values below) |
niprDataSubscriptionId | string | The NIPR data subscription ID for this sync operation |
Why NPN Instead of an Entity ID?
A single NPN uniquely identifies a producer at NIPR and is the natural key for any NIPR-driven operation. An entity ID (MongoDB ObjectId) is not used here because the same NPN can be linked to multiple downstream entity associations and downstream entities across your network — for example, when an agency operates under different branches or producer codes with the same carrier. Providing the NPN lets you look up all relevant records for that producer rather than receiving an ID that references only one of potentially many associations.
Use niprDataSubscriptionId if you need to retrieve the specific subscription record via the Compliance Data Subscriptions API.
Synchronization Status Values
| Value | Description |
|---|
success | Data synchronization completed successfully |
NIPR error | NIPR returned an error during data retrieval |
processing error | An internal error occurred while processing the retrieved data |