---
title: "User KYC updated"
method: POST
path: "user.kyc.updated"
---

# User KYC updated

`POST user.kyc.updated` (webhook)

Fired when the KYC verification status of a user changes, including endorsement and capability updates.

## Payload

- object
  - `type` 'user.kyc.updated', required: The type of webhook event.
  - `user_id` string, required
  - `provider` 'bridge', required: KYC/KYB provider identifier.
  - `environment` 'production' | 'sandbox', required: Provider environment (production or sandbox).
  - `data` UserKycUpdatedData, required: Full KYC state snapshot in a KYC update event.
    - `status` string, required: KYC/KYB status for the user.
    - `tos` UserKycUpdatedTosData, required: Terms of service status in a KYC update event.
      - `status` string, required: Status of Terms of Service acceptance. Passthrough from the provider.
    - `kyc` UserKycUpdatedKycData, required: KYC verification status in a KYC update event.
      - `status` string, required: Status of KYC/KYB verification. Passthrough from the provider.
    - `endorsements` KyxEndorsement[], required
      - `name` string, required: Endorsement identifier.
      - `status` string, required: Status of an endorsement. Passthrough from the provider.
      - `missing` string[], nullable, required: Missing requirements, or null if complete.
      - `issues` string[], nullable, required: Provider issue codes, or null if none.
    - `capabilities` KyxCapabilities, required: Capability statuses for the customer.
      - `payin_crypto` string, required: Status of a capability. Passthrough from the provider.
      - `payout_crypto` string, required: Status of a capability. Passthrough from the provider.
      - `payin_fiat` string, required: Status of a capability. Passthrough from the provider.
      - `payout_fiat` string, required: Status of a capability. Passthrough from the provider.
    - `stripe_cardholder_id` string: Stripe Issuing cardholder ID assigned by Bridge for this user.
  - `changes` object, required

## Acknowledgement `200`

Return a 200 status to indicate that the webhook was received successfully.

---

[API](https://skmtc.dev/privy-io/apis/privy-api.md) - [All operations](https://skmtc.dev/privy-io/apis/privy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/privy-io/apis/privy-api/revisions/6a80d4be53a8?raw)
