Consumers

Consumer KYC status update

Sent when the KYC status of a consumer identity changes.

status carries the effective KYC status and kycLevel the level reached. ongoingStatus and ongoingKycLevel track a re-verification running against an already-approved consumer, so a consumer can stay APPROVED while an ongoing check is in progress.

Enable and configure webhooks in the Embedder Portal; recent events are listed on its Webhook Logs page. Weavr sends this event to {Webhook URL}/consumers/kyc/watch.

postWebhook/consumers/kyc/watch

Headers

call-refstring

A call reference generated by the caller and unique to the caller to provide correlation between the caller and system with a maximum length of 255

published-timestampinteger required

The timestamp, expressed in Epoch timestamp using millisecond precision, when this event was published.

signaturestring required

The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the published-timestamp using your API key.

signature-v2string required

The signature to verify the authenticity of this request. This is the base64 hash (HmacSHA256) of the call-ref + payload + published-timestamp using your API key.

Payload

consumerIdstring

Identifier of the consumer.

consumerEmailstring

Email address of the consumer's root user.

status'NOT_STARTED' | 'INITIATED' | 'PENDING_REVIEW' | 'APPROVED' | 'REJECTED'
detailsConsumerKycFailureReason[]

Actions that may be required to re-process KYC after a temporary rejection.

rejectionCommentstring

Reason shown to the user after a temporary rejection.

kycLevel'KYC_LEVEL_1' | 'KYC_LEVEL_2'

The KYC level, which determines what KYC information will be requested from the consumer:

  • KYC_LEVEL_1: The most basic level of KYC required.
  • KYC_LEVEL_2: Full due diligence level 2
ongoingStatus'NOT_STARTED' | 'INITIATED' | 'PENDING_REVIEW' | 'APPROVED' | 'REJECTED'
ongoingKycLevel'KYC_LEVEL_1' | 'KYC_LEVEL_2'

The KYC level, which determines what KYC information will be requested from the consumer:

  • KYC_LEVEL_1: The most basic level of KYC required.
  • KYC_LEVEL_2: Full due diligence level 2
eventTimestampstring

When the status changed. Epoch timestamp using millisecond precision.

Example payload

{
  "consumerId": "123456789",
  "consumerEmail": "alex.smith@example.com",
  "eventTimestamp": "1786118400000"
}

Response

Event received.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.