# Payload format

## Payload format
We POST a JSON **array** containing a single webhook object. The shape depends on the `type` — credit-alert webhooks (`ACCALERT`) include extra alert-specific fields, while account-lifecycle webhooks (`ACCREG`, `IDPASS`, `IDFAIL`, etc.) carry only the core fields.
**Example — account-lifecycle event (`ACCREG`)**

```json
[
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "ACCREG",
    "user_id": "550e8400-e29b-41d4-a716-446655440001",
    "host_id": "550e8400-e29b-41d4-a716-446655440002",
    "time": 1711800000000,
    "error_code": null,
    "error_msg": null
  }
]
```
Same shape applies to `IDPASS`, `IDFAIL`, `IDTF`, `IDSVCOUT`, `IDSVCINC`, `ACCNEW`, `ACCREGFAIL`, `ACCCLOSED`, `ACCLOCKED`, `ACCLOGINFAIL`, `SCOREREF`, `REPORTREF`, and `TEST`.
**Example — credit alert (`ACCALERT`)**

```json
[
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "ACCALERT",
    "user_id": "550e8400-e29b-41d4-a716-446655440001",
    "host_id": "550e8400-e29b-41d4-a716-446655440002",
    "time": 1711800000000,
    "alert_id": "550e8400-e29b-41d4-a716-446655440003",
    "alert_date": 1711790000000,
    "alert_source": "Equifax",
    "error_code": null,
    "error_msg": null
  }
]
```
**Field reference**
| Field | Type | Description |
|  --- | --- | --- |
| `id` | UUID | Unique webhook ID — echo this back in your response |
| `type` | string | One of the webhook types above |
| `user_id` | UUID | Platform user ID (`null` for host-level events) |
| `host_id` | UUID | Host configuration ID |
| `time` | long | Webhook creation time, epoch milliseconds |
| `alert_id` | UUID | Alert ID for retrieving full details — present on `ACCALERT` only |
| `alert_date` | long | Alert reported date, epoch milliseconds — `ACCALERT` only |
| `alert_source` | string | Source institution (e.g. `Equifax`) — `ACCALERT` only |
| `error_code` | string | Error code — present on `ERROR` |
| `error_msg` | string | Error details — present on `ERROR` |

Version: v3

## Description:

  - `Payload format` ()
    We POST a JSON array containing a single webhook object. The shape depends on the type — credit-alert webhooks (ACCALERT) include extra alert-specific fields, while account-lifecycle webhooks (ACCREG, IDPASS, IDFAIL, etc.) carry only the core fields. Example — account-lifecycle event (ACCREG) [
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "ACCREG",
    "user_id": "550e8400-e29b-41d4-a716-446655440001",
    "host_id": "550e8400-e29b-41d4-a716-446655440002",
    "time": 1711800000000,
    "error_code": null,
    "error_msg": null
  }
]
[
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "ACCREG",
    "user_id": "550e8400-e29b-41d4-a716-446655440001",
    "host_id": "550e8400-e29b-41d4-a716-446655440002",
    "time": 1711800000000,
    "error_code": null,
    "error_msg": null
  }
] Same shape applies to IDPASS, IDFAIL, IDTF, IDSVCOUT, IDSVCINC, ACCNEW, ACCREGFAIL, ACCCLOSED, ACCLOCKED, ACCLOGINFAIL, SCOREREF, REPORTREF, and TEST. Example — credit alert (ACCALERT) [
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "ACCALERT",
    "user_id": "550e8400-e29b-41d4-a716-446655440001",
    "host_id": "550e8400-e29b-41d4-a716-446655440002",
    "time": 1711800000000,
    "alert_id": "550e8400-e29b-41d4-a716-446655440003",
    "alert_date": 1711790000000,
    "alert_source": "Equifax",
    "error_code": null,
    "error_msg": null
  }
]
[
  {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "type": "ACCALERT",
    "user_id": "550e8400-e29b-41d4-a716-446655440001",
    "host_id": "550e8400-e29b-41d4-a716-446655440002",
    "time": 1711800000000,
    "alert_id": "550e8400-e29b-41d4-a716-446655440003",
    "alert_date": 1711790000000,
    "alert_source": "Equifax",
    "error_code": null,
    "error_msg": null
  }
] Field reference FieldTypeDescriptionidUUIDUnique webhook ID — echo this back in your responsetypestringOne of the webhook types aboveuser_idUUIDPlatform user ID (null for host-level events)host_idUUIDHost configuration IDtimelongWebhook creation time, epoch millisecondsalert_idUUIDAlert ID for retrieving full details — present on ACCALERT onlyalert_datelongAlert reported date, epoch milliseconds — ACCALERT onlyalert_sourcestringSource institution (e.g. Equifax) — ACCALERT onlyerror_codestringError code — present on ERRORerror_msgstringError details — present on ERROR

