> ## Documentation Index
> Fetch the complete documentation index at: https://api-portal.etoro.com/llms.txt
> Use this file to discover all available pages before exploring further.

# KycUpdates

> Payload and field names for the KycUpdates event, under Events / KYC.

Published when one or more KYC-related fields change for an associated user. Delivery, the shared envelope, and how to consume the Event Hub are in [Overview](https://api-portal.etoro.com/partners/events-from-etoro.md).

`eventMetadata.eventType` is `KycUpdates`. `eventMetadata.eventDataVersion` for this payload is `1`.

```json theme={null}
{
  "eventData": "{\"updatedKycFields\":[{\"name\":\"<FIELD_NAME>\"}]}",
  "eventMetadata": {
    "correlationId": "8f1c2a40-6b2e-4d1a-9c3e-1a2b3c4d5e6f",
    "eventType": "KycUpdates",
    "createdAt": "2026-10-21T08:03:00.0000000Z",
    "eventDataVersion": "1",
    "externalUserId": "<EXTERNAL_USER_ID>"
  }
}
```

## `eventData`

`eventData` is a JSON string. Parse it after the envelope.

```json theme={null}
{
  "updatedKycFields": [
    { "name": "<FIELD_NAME>" }
  ]
}
```

| Field | Type | Description |
| - | - | - |
| `updatedKycFields` | array | Fields that changed in this event |
| `updatedKycFields[].name` | string | Field name agreed for your application. **Names only** — the new value is not included |

The notification tells you *that* a field changed. It does not carry the new value. Where your integration is approved to read the current value, fetch it through the Partners API with the scopes granted for that purpose. See [Data sharing and PII](https://api-portal.etoro.com/partners/integration.md#data-sharing-and-pii).

The set of `name` values is configured per application. A message is published to your hub only when at least one changed field is in that set. The array lists every changed field in the source event; handle the names your agreement covers and ignore the rest. Your etoro contact provides the allow-list.

## Field names

These are the names a `KycUpdates` event can carry today. Your allow-list is a subset of this catalog, set per application. Do not assume every row is enabled for you.

> [!NOTE]
>
> Names can be added. Ignore a name you do not handle, and keep the consumer moving.

| Name |
| - |
| `firstName` |
| `middleName` |
| `lastName` |
| `dateOfBirth` |
| `gender` |
| `email` |
| `phone` |
| `address` |
| `buildingNumber` |
| `city` |
| `zip` |
| `state` |
| `countryOfBirth` |
| `countryOfResidence` |
| `countryOfCitizenship` |
| `designatedRegulation` |
| `playerStatus` |
| `verificationLevel` |
| `weekendFeePercentage` |

Some names are not a fixed list. The prefix is stable; the suffix comes from the underlying field or question.

| Prefix | `name` |
| - | - |
| `extendedUserField_` | `extendedUserField_<fieldKey>` |
| `customerAnswer_` | `customerAnswer_<questionKey>` |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.