## The body of every webhook POST request

The body of every webhook POST request will be a JSON object with the following properties:

| Attribute | Type | Description |
| --- | --- | --- |
| `event` | `String` | The specific event this payload is associated with. See below for each supported event type. |
| `entity` | `Object` | The entity this event is related to. The `entity` object will contain two keys:<br>- `id`: The ID of the specific individual or business [record](https://developer.parallelmarkets.com/docs/server/data-structures#record) this event is associated with.<br>- `type`: The type of entity this payload is associated with. Either `individual` or `business`. |
| `scope` | `String` | What [scope](https://developer.parallelmarkets.com/docs/javascript/configuration#scopes) this event is related to. Note: [Case Management Record Events](https://developer.parallelmarkets.com/docs/webhooks/webhook-events/#case-management-record-events) will have a `scope` of `null`. |

### Example Payload

```json
{
  "entity": {
    "id": "VXNlcjox",
    "type": "individual"
  },
  "event": "data_update",
  "scope": "accreditation_status"
}
```

## Accreditation Status Events

- `scope`: `accreditation_status`

The accreditation events are triggered in the following cases:

1. When a new accreditation application is submitted
2. When there is a change in status of an accreditation application based on the outcome of an application review (i.e., when the accreditation application has been approved or rejected)

_Note:_ Accreditation applications that have been previously approved based on an [income assertion type](https://developer.parallelmarkets.com/docs/server/data-structures#cm-individual-accreditation) will automatically be re-certified when the previous accreditation expires, during that calendar year. As the subsequent approvals do not undergo a review, webhooks will not be triggered.

3. When an accreditation application is cancelled
4. When a previous accreditation expires
5. For any access revocation requests triggered by the subject or the partner
6. If an individual or business says that they cannot meet the requirements for accreditation and cannot submit an application. See the `indicated_unaccredited_at` field on the [Individual Record Details](https://developer.parallelmarkets.com/docs/server/data-structures#individual-record-details) and [Business Record Details](https://developer.parallelmarkets.com/docs/server/data-structures#individual-record-details) objects returned by the [Records API](https://developer.parallelmarkets.com/docs/server/case-management-api/records/get).

| Event | Description |
| --- | --- |
| `data_update` | Indicates that there is a change in an entity's accreditation status |
| `access_revocation_scheduled` | Indicates that [access revocation](https://developer.parallelmarkets.com/docs/server/access-revocation) has been scheduled and API access will expire after a period of time. You can use the [Case Management API](https://developer.parallelmarkets.com/docs/server/case-management-api/records/get) to get the access expiration details such as expiration date. |

### Example Payload

```json
{
  "entity": {
    "id": "VXNlcjox",
    "type": "individual"
  },
  "event": "data_update",
  "scope": "accreditation_status"
}
```

## Identity Events

These identity events are triggered for any new identity data submitted by the subject. Additionally, an event is triggered for any access revocation requests.

- `scope`: `identity`

| Event | Description |
| --- | --- |
| `data_update` | Indicates that a new identity information has been submitted for the entity |
| `access_revocation_scheduled` | Indicates that [access revocation](https://developer.parallelmarkets.com/docs/server/access-revocation) to ongoing user/business updates has been scheduled. You can use the [Case Management API](https://developer.parallelmarkets.com/docs/server/case-management-api/records/get) to get the access expiration details such as expiration date. |

### Example Payload

```json
{
  "entity": {
    "id": "VXNlcjox",
    "type": "individual"
  },
  "event": "data_update",
  "scope": "identity"
}
```

## Risk Monitoring Events

Risk monitoring events are triggered based on updates due to any new or updated risk matches.

- `scope`: `identity`

| Event | Description |
| --- | --- |
| `adverse_media_risk_monitor_match` | The entity appears as a possible match in monitored media sources linking it to serious crime (e.g. fraud, money laundering, terrorism, etc.) |
| `currently_sanctioned_risk_monitor_match` | The entity appears as a possible match in any monitored sanctions datasets |
| `disqualified_director_risk_monitor_match` | The entity appears as a possible match in any monitored disqualified directors datasets |
| `financial_regulator_risk_monitor_match` | The entity appears as a possible match in any monitored financial regulator datasets |
| `insolvent_risk_monitor_match` | The entity appears as a possible match in any monitored insolvency datasets |
| `law_enforcement_risk_monitor_match` | The entity appears as a possible match in any monitored law enforcement datasets |
| `pep_risk_monitor_match` | The entity is possibly considered a [Politically Exposed Person](https://en.wikipedia.org/wiki/Politically_exposed_person) |
| `risk_monitor_match_resolved` | A specific [risk match](https://developer.parallelmarkets.com/docs/server/data-structures#risk-match) has been resolved. |
| `risk_monitoring_screen_complete` | Risk monitoring screening has been setup and the initial screen has completed for the record's current data entry. Records will be monitored for future risk monitor matches from this point onwards. This event may be triggered again for the same record if there are future updates to certain pieces of information in the record (e.g. first name, last name, business name). |

info

Any matches that imply an individual (i.e., "financial regulator" or "politically exposed person") can also apply to a business. These matches can be triggered for a business if it has a strong association with an individual who matches the description.

### Example Payload

```json
{
  "entity": {
    "id": "VXNlcjox",
    "type": "individual"
  },
  "event": "risk_monitor_match_resolved",
  "scope": "identity"
}
```

## Case Management Record Events

Case Management events are triggered based on specific updates to a Case Management [Record](https://developer.parallelmarkets.com/docs/server/data-structures#record).

- `scope`: `null`

| Event | Description |
| --- | --- |
| `record_status_change` | The record's status has changed. For example, if the status of the record is changed from `open` to `approved`. |
| `record_archived` | The record has been archived. |
| `record_unarchived` | The record has been unarchived. |

### Example Payload

```json
{
  "entity": {
    "id": "VXNlcjox",
    "type": "individual"
  },
  "event": "record_status_change",
  "scope": null
}
```
