vesant-sdk 1.7.0-dev.362ac6b → 1.7.0-dev.9b89b96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -132,10 +132,10 @@ interface UpdateKycAlertRequest {
132
132
  *
133
133
  * - `enabled=false` → event blocked.
134
134
  * - `enabled=true`, `threshold=0` (or null/omitted) → every event of this
135
- * type triggers Re-Use KYC, regardless of amount.
135
+ * type triggers Event-Based Face Verification, regardless of amount.
136
136
  * - `enabled=true`, `threshold>0` → only amounts `>= threshold` trigger.
137
137
  */
138
- interface ReuseKycThresholdTrigger {
138
+ interface EventBasedFaceVerificationThresholdTrigger {
139
139
  enabled: boolean;
140
140
  /** USD threshold; 0 / null / omitted means "any amount". */
141
141
  threshold: number;
@@ -148,15 +148,15 @@ interface ReuseKycThresholdTrigger {
148
148
  * `event_window_minutes <= window_minutes`. Either bound of 0 means
149
149
  * "don't enforce that bound".
150
150
  */
151
- interface ReuseKycFrequencyTrigger {
151
+ interface EventBasedFaceVerificationFrequencyTrigger {
152
152
  enabled: boolean;
153
153
  /** Minimum number of events; 0 / null / omitted means "any count". */
154
154
  count: number;
155
155
  /** Maximum lookback window in minutes; 0 / null / omitted means "any window". */
156
156
  window_minutes: number;
157
157
  }
158
- /** Events that can trigger Re-Use KYC for a tenant. */
159
- interface ReuseKycTriggers {
158
+ /** Events that can trigger Event-Based Face Verification for a tenant. */
159
+ interface EventBasedFaceVerificationTriggers {
160
160
  login: boolean;
161
161
  password_change: boolean;
162
162
  name_change: boolean;
@@ -165,19 +165,19 @@ interface ReuseKycTriggers {
165
165
  new_device_or_location: boolean;
166
166
  device_fingerprint_change: boolean;
167
167
  payment_method_change: boolean;
168
- deposit: ReuseKycThresholdTrigger;
169
- withdrawal: ReuseKycThresholdTrigger;
170
- large_bet_placement: ReuseKycThresholdTrigger;
171
- high_frequency_betting: ReuseKycFrequencyTrigger;
168
+ deposit: EventBasedFaceVerificationThresholdTrigger;
169
+ withdrawal: EventBasedFaceVerificationThresholdTrigger;
170
+ large_bet_placement: EventBasedFaceVerificationThresholdTrigger;
171
+ high_frequency_betting: EventBasedFaceVerificationFrequencyTrigger;
172
172
  account_balance_transfer: boolean;
173
173
  }
174
174
  /**
175
- * Reactions taken when a customer exhausts the Re-Use KYC retry limit.
175
+ * Reactions taken when a customer exhausts the Event-Based Face Verification retry limit.
176
176
  * `trigger_alert` is enforced by the server (creates a KYC alert);
177
177
  * `enforce_logout` and `freeze_account` are forwarded to the tenant app
178
178
  * via the callback `data` field for it to enforce.
179
179
  */
180
- interface ReuseKycReactions {
180
+ interface EventBasedFaceVerificationReactions {
181
181
  /** Retries after the first attempt; total submissions = this + 1. */
182
182
  max_retry_attempts: number;
183
183
  trigger_alert: boolean;
@@ -193,7 +193,7 @@ interface KycPreferences {
193
193
  is_face_verification_required: boolean;
194
194
  is_address_verification_required: boolean;
195
195
  is_age_verification_required: boolean;
196
- /** Master switch for the Re-Use KYC feature. */
196
+ /** Master switch for the Event-Based Face Verification feature. */
197
197
  is_reuse_kyc_enabled?: boolean;
198
198
  min_age: number;
199
199
  max_age: number;
@@ -202,10 +202,10 @@ interface KycPreferences {
202
202
  high_risk_score: number;
203
203
  medium_risk_score: number;
204
204
  supported_document_types: SupportedDocumentType[];
205
- /** Per-event triggers for Re-Use KYC. */
206
- reuse_kyc_triggers?: ReuseKycTriggers;
207
- /** Retry / reaction policy for Re-Use KYC. */
208
- reuse_kyc_reactions?: ReuseKycReactions;
205
+ /** Per-event triggers for Event-Based Face Verification. */
206
+ reuse_kyc_triggers?: EventBasedFaceVerificationTriggers;
207
+ /** Retry / reaction policy for Event-Based Face Verification. */
208
+ reuse_kyc_reactions?: EventBasedFaceVerificationReactions;
209
209
  created_at: string;
210
210
  updated_at: string;
211
211
  }
@@ -224,9 +224,9 @@ interface UpdateKycPreferencesRequest {
224
224
  medium_risk_score?: number;
225
225
  supported_document_types?: SupportedDocumentType[];
226
226
  /** Partial update — only the events present here are changed. */
227
- reuse_kyc_triggers?: Partial<ReuseKycTriggers>;
227
+ reuse_kyc_triggers?: Partial<EventBasedFaceVerificationTriggers>;
228
228
  /** Partial update — only the keys present here are changed. */
229
- reuse_kyc_reactions?: Partial<ReuseKycReactions>;
229
+ reuse_kyc_reactions?: Partial<EventBasedFaceVerificationReactions>;
230
230
  }
231
231
  interface Name {
232
232
  first_name?: string;
@@ -310,25 +310,25 @@ interface RequestKycSubmitLinkRequest {
310
310
  trigger_event?: string;
311
311
  }
312
312
  /**
313
- * Trigger events that can request Re-Use KYC.
313
+ * Trigger events that can request Event-Based Face Verification.
314
314
  *
315
315
  * Account-sensitive: any sensitive change to the account profile.
316
316
  * Transaction events: covered by the per-event rules in
317
- * `ReuseKycTriggers` (`deposit`, `withdrawal`, `large_bet_placement`,
317
+ * `EventBasedFaceVerificationTriggers` (`deposit`, `withdrawal`, `large_bet_placement`,
318
318
  * `high_frequency_betting`, `account_balance_transfer`).
319
319
  */
320
- type ReuseKycEvent = 'login' | 'password_change' | 'name_change' | 'phone_number_change' | 'two_factor_auth_change' | 'new_device_or_location' | 'device_fingerprint_change' | 'payment_method_change' | 'deposit' | 'withdrawal' | 'large_bet_placement' | 'high_frequency_betting' | 'account_balance_transfer';
321
- interface CreateReuseKycSessionRequest {
320
+ type EventBasedFaceVerificationEvent = 'login' | 'password_change' | 'name_change' | 'phone_number_change' | 'two_factor_auth_change' | 'new_device_or_location' | 'device_fingerprint_change' | 'payment_method_change' | 'deposit' | 'withdrawal' | 'large_bet_placement' | 'high_frequency_betting' | 'account_balance_transfer';
321
+ interface CreateEventBasedFaceVerificationSessionRequest {
322
322
  /** Unique reference for the KYC session (e.g., customer ID or transaction ID) */
323
323
  reference: string;
324
324
  /** Customer ID to associate with the KYC session */
325
325
  customer_id: string;
326
326
  /**
327
- * The triggering event. One of the `ReuseKycEvent` union members.
327
+ * The triggering event. One of the `EventBasedFaceVerificationEvent` union members.
328
328
  * Required — when empty, the server falls through to the unknown-event
329
329
  * passthrough and allows the request silently.
330
330
  */
331
- event: ReuseKycEvent;
331
+ event: EventBasedFaceVerificationEvent;
332
332
  /**
333
333
  * USD amount associated with the event. Required for threshold-gated
334
334
  * events (`deposit`, `withdrawal`, `large_bet_placement`); ignored for
@@ -352,11 +352,11 @@ interface CreateReuseKycSessionRequest {
352
352
  event_window_minutes?: number;
353
353
  /** URL to redirect user after validate the facial submission (optional) */
354
354
  redirect_url?: string;
355
- /** URL to receive callback notifications via POST request when reuse KYC status changes (optional) */
355
+ /** URL to receive callback notifications via POST request when Event-Based Face Verification status changes (optional) */
356
356
  callback_url?: string;
357
357
  }
358
- interface SubmitReuseKycSessionRequest {
359
- /** Reuse KYC session token generated from createReuseKycSession */
358
+ interface SubmitEventBasedFaceVerificationSessionRequest {
359
+ /** Event-Based Face Verification session token generated from createEventBasedFaceVerificationSession */
360
360
  token: string;
361
361
  /** Base64 encoded face image or selfie for verification */
362
362
  proof: string;
@@ -370,14 +370,14 @@ interface RequestKycSubmitLinkResponse {
370
370
  kyc_id: string;
371
371
  }
372
372
  /** Device class detected by the SDK (purely client-side — server doesn't care). */
373
- type ReuseKycDeviceType = 'mobile' | 'desktop';
374
- interface CreateReuseKycSessionResponse {
375
- /** Reuse KYC session reference (echo of the request reference) */
373
+ type EventBasedFaceVerificationDeviceType = 'mobile' | 'desktop';
374
+ interface CreateEventBasedFaceVerificationSessionResponse {
375
+ /** Event-Based Face Verification session reference (echo of the request reference) */
376
376
  reference: string;
377
- /** Generated reuse KYC session token, valid 10 minutes */
377
+ /** Generated Event-Based Face Verification session token, valid 10 minutes */
378
378
  token: string;
379
379
  /**
380
- * Empty string when Re-Use KYC is required. When `is_required` is
380
+ * Empty string when Event-Based Face Verification is required. When `is_required` is
381
381
  * false, this contains the human-readable reason (e.g. feature
382
382
  * disabled, threshold not met, customer has no prior KYC).
383
383
  */
@@ -406,7 +406,7 @@ interface CreateReuseKycSessionResponse {
406
406
  * or freeze the account. Reaction flags are only populated when
407
407
  * `retry_limit_exceeded` is true.
408
408
  */
409
- interface ReuseKycReactionResult {
409
+ interface EventBasedFaceVerificationReactionResult {
410
410
  /** Submissions the customer still has before the retry limit fires. */
411
411
  retries_remaining: number;
412
412
  /** True once the latest failed attempt exhausts the retry policy. */
@@ -419,11 +419,11 @@ interface ReuseKycReactionResult {
419
419
  alert_id?: string;
420
420
  }
421
421
  /**
422
- * Shape of the webhook body POSTed to `callback_url` after a Re-Use KYC
422
+ * Shape of the webhook body POSTed to `callback_url` after a Event-Based Face Verification
423
423
  * submission completes (also returned synchronously from
424
- * `submitReuseKycSession`).
424
+ * `submitEventBasedFaceVerificationSession`).
425
425
  */
426
- interface ReuseKycCallback {
426
+ interface EventBasedFaceVerificationCallback {
427
427
  event: 'reuse_kyc';
428
428
  reference: string;
429
429
  resource_id: string;
@@ -434,7 +434,7 @@ interface ReuseKycCallback {
434
434
  declined_reason?: string;
435
435
  /** @deprecated Use structured reasons. */
436
436
  warnings?: Record<string, Record<string, string>>;
437
- data: ReuseKycReactionResult;
437
+ data: EventBasedFaceVerificationReactionResult;
438
438
  }
439
439
  /**
440
440
  * Server-side handoff session backed by Redis (TTL: 15 minutes). Shared
@@ -450,7 +450,7 @@ interface KycHandoffSession {
450
450
  face: string;
451
451
  /** True after a mobile device hits PUT /api/v1/kyc/session/connect. */
452
452
  mobile_connected: boolean;
453
- /** True after the (normal-KYC) document submission completes; unused for Re-Use KYC. */
453
+ /** True after the (normal-KYC) document submission completes; unused for Event-Based Face Verification. */
454
454
  is_submitted: boolean;
455
455
  }
456
456
  interface CheckKycStatusRequest {
@@ -671,7 +671,7 @@ declare class KycClient extends BaseClient {
671
671
  */
672
672
  requestKycSubmitLink(request: RequestKycSubmitLinkRequest): Promise<RequestKycSubmitLinkResponse>;
673
673
  /**
674
- * Create a Re-Use KYC session.
674
+ * Create a Event-Based Face Verification session.
675
675
  *
676
676
  * Inspect the response before showing UI:
677
677
  * - `is_required === false` → skip face capture; `reason` explains why.
@@ -681,35 +681,39 @@ declare class KycClient extends BaseClient {
681
681
  *
682
682
  * @param request - Reference, customer_id, event, amount (for threshold events), optional URLs.
683
683
  */
684
- createReuseKycSession(request: CreateReuseKycSessionRequest): Promise<CreateReuseKycSessionResponse>;
684
+ createEventBasedFaceVerificationSession(request: CreateEventBasedFaceVerificationSessionRequest): Promise<CreateEventBasedFaceVerificationSessionResponse>;
685
685
  /**
686
- * Submit a real-time face capture for an active Re-Use KYC session.
686
+ * Submit a real-time face capture for an active Event-Based Face Verification session.
687
687
  *
688
688
  * **Mobile-only.** The server rejects desktop User-Agents with HTTP
689
689
  * 400 (`face capture must be completed on a mobile device`). Use the
690
- * QR handoff from `createReuseKycSession` for desktop callers.
690
+ * QR handoff from `createEventBasedFaceVerificationSession` for desktop callers.
691
691
  *
692
692
  * The `data` field on the response carries `retries_remaining`,
693
693
  * `retry_limit_exceeded`, and the reaction flags (`enforce_logout`,
694
694
  * `freeze_account`, etc.) so the tenant app can act on a final failure.
695
695
  *
696
- * @param request - Token from `createReuseKycSession`, plus the base64 selfie.
696
+ * @param request - Token from `createEventBasedFaceVerificationSession`, plus the base64 selfie.
697
697
  */
698
- submitReuseKycSession(request: SubmitReuseKycSessionRequest): Promise<ReuseKycCallback>;
698
+ submitEventBasedFaceVerificationSession(request: SubmitEventBasedFaceVerificationSessionRequest): Promise<EventBasedFaceVerificationCallback>;
699
699
  /**
700
- * Look up the current state of a Re-Use KYC session by its forward
701
- * reference. Useful for desktop pollers waiting on the mobile handoff.
700
+ * Look up the current state of a Event-Based Face Verification session by its
701
+ * session token. Useful for desktop pollers waiting on the mobile handoff.
702
702
  *
703
- * @param reference - The reference used when the session was created.
703
+ * The lookup is scoped by the unguessable, server-issued session token (not
704
+ * the enumerable forward reference): the endpoint is public/unauthenticated,
705
+ * and scoping by the token is what prevents cross-tenant status reads.
706
+ *
707
+ * @param token - The session token returned by `createEventBasedFaceVerificationSession`.
704
708
  */
705
- getReuseKycSessionStatus(reference: string): Promise<ReuseKycCallback>;
709
+ getEventBasedFaceVerificationSessionStatus(token: string): Promise<EventBasedFaceVerificationCallback>;
706
710
  /**
707
711
  * Fetch the Redis-backed handoff session for a token. Same backing
708
712
  * store as normal KYC (`kyc:session:<token>`, 15-minute TTL). Desktop
709
713
  * callers poll `mobile_connected` to detect when a mobile device has
710
714
  * scanned the QR and attached.
711
715
  *
712
- * @param token - The session token returned by `createReuseKycSession`.
716
+ * @param token - The session token returned by `createEventBasedFaceVerificationSession`.
713
717
  */
714
718
  getHandoffSession(token: string): Promise<KycHandoffSession>;
715
719
  /**
@@ -1043,4 +1047,4 @@ declare class KycClient extends BaseClient {
1043
1047
  createCustomerProfile(profile: CreateProfileRequest): Promise<CustomerProfile>;
1044
1048
  }
1045
1049
 
1046
- export { type CheckKycStatusRequest, type CheckKycStatusResponse, CreateProfileRequest as CreateCustomerProfileRequest, type CreateReuseKycSessionRequest, type CreateReuseKycSessionResponse, CustomerProfile, ProfileFilters as CustomerProfileFilters, ProfileListResponse as CustomerProfileListResponse, type DocumentType, type DocumentVerificationRequest, type DocumentVerificationResponse, type FaceProof, KYC_DECLINED_DESCRIPTIONS, type KycAlert, type KycAlertFilters, type KycAlertListResponse, type KycAlertStatus, type KycAlertType, KycClient, type KycClientConfig, type KycCustomerProfile, type KycDeclinedCode, type KycHandoffSession, type KycOverview, type KycPagination, type KycPreferences, type KycRequest, type KycRequestFilters, type KycRequestListResponse, type KycStatus, type Name, PaginationParams, type Proof, type ProofDownloadURL, type ProofType, type RequestAdditionalDocumentsRequest, type RequestKycSubmitLinkRequest, type RequestKycSubmitLinkResponse, type ReuseKycCallback, type ReuseKycDeviceType, type ReuseKycEvent, type ReuseKycFrequencyTrigger, type ReuseKycReactionResult, type ReuseKycReactions, type ReuseKycThresholdTrigger, type ReuseKycTriggers, RiskLevel, type SubmitReuseKycSessionRequest, type SubmittedDocument, type SupportedDocumentType, type UpdateKycAlertRequest, type UpdateKycPreferencesRequest, type UpdateKycStatusRequest, type UseKycAlertsOptions, type UseKycAlertsResult, type UseKycOverviewOptions, type UseKycOverviewResult, type UseKycPreferencesResult, type UseKycRequestsOptions, type UseKycRequestsResult, type UseKycSubmissionOptions, type UseKycSubmissionResult };
1050
+ export { type CheckKycStatusRequest, type CheckKycStatusResponse, CreateProfileRequest as CreateCustomerProfileRequest, type CreateEventBasedFaceVerificationSessionRequest, type CreateEventBasedFaceVerificationSessionResponse, CustomerProfile, ProfileFilters as CustomerProfileFilters, ProfileListResponse as CustomerProfileListResponse, type DocumentType, type DocumentVerificationRequest, type DocumentVerificationResponse, type EventBasedFaceVerificationCallback, type EventBasedFaceVerificationDeviceType, type EventBasedFaceVerificationEvent, type EventBasedFaceVerificationFrequencyTrigger, type EventBasedFaceVerificationReactionResult, type EventBasedFaceVerificationReactions, type EventBasedFaceVerificationThresholdTrigger, type EventBasedFaceVerificationTriggers, type FaceProof, KYC_DECLINED_DESCRIPTIONS, type KycAlert, type KycAlertFilters, type KycAlertListResponse, type KycAlertStatus, type KycAlertType, KycClient, type KycClientConfig, type KycCustomerProfile, type KycDeclinedCode, type KycHandoffSession, type KycOverview, type KycPagination, type KycPreferences, type KycRequest, type KycRequestFilters, type KycRequestListResponse, type KycStatus, type Name, PaginationParams, type Proof, type ProofDownloadURL, type ProofType, type RequestAdditionalDocumentsRequest, type RequestKycSubmitLinkRequest, type RequestKycSubmitLinkResponse, RiskLevel, type SubmitEventBasedFaceVerificationSessionRequest, type SubmittedDocument, type SupportedDocumentType, type UpdateKycAlertRequest, type UpdateKycPreferencesRequest, type UpdateKycStatusRequest, type UseKycAlertsOptions, type UseKycAlertsResult, type UseKycOverviewOptions, type UseKycOverviewResult, type UseKycPreferencesResult, type UseKycRequestsOptions, type UseKycRequestsResult, type UseKycSubmissionOptions, type UseKycSubmissionResult };
@@ -132,10 +132,10 @@ interface UpdateKycAlertRequest {
132
132
  *
133
133
  * - `enabled=false` → event blocked.
134
134
  * - `enabled=true`, `threshold=0` (or null/omitted) → every event of this
135
- * type triggers Re-Use KYC, regardless of amount.
135
+ * type triggers Event-Based Face Verification, regardless of amount.
136
136
  * - `enabled=true`, `threshold>0` → only amounts `>= threshold` trigger.
137
137
  */
138
- interface ReuseKycThresholdTrigger {
138
+ interface EventBasedFaceVerificationThresholdTrigger {
139
139
  enabled: boolean;
140
140
  /** USD threshold; 0 / null / omitted means "any amount". */
141
141
  threshold: number;
@@ -148,15 +148,15 @@ interface ReuseKycThresholdTrigger {
148
148
  * `event_window_minutes <= window_minutes`. Either bound of 0 means
149
149
  * "don't enforce that bound".
150
150
  */
151
- interface ReuseKycFrequencyTrigger {
151
+ interface EventBasedFaceVerificationFrequencyTrigger {
152
152
  enabled: boolean;
153
153
  /** Minimum number of events; 0 / null / omitted means "any count". */
154
154
  count: number;
155
155
  /** Maximum lookback window in minutes; 0 / null / omitted means "any window". */
156
156
  window_minutes: number;
157
157
  }
158
- /** Events that can trigger Re-Use KYC for a tenant. */
159
- interface ReuseKycTriggers {
158
+ /** Events that can trigger Event-Based Face Verification for a tenant. */
159
+ interface EventBasedFaceVerificationTriggers {
160
160
  login: boolean;
161
161
  password_change: boolean;
162
162
  name_change: boolean;
@@ -165,19 +165,19 @@ interface ReuseKycTriggers {
165
165
  new_device_or_location: boolean;
166
166
  device_fingerprint_change: boolean;
167
167
  payment_method_change: boolean;
168
- deposit: ReuseKycThresholdTrigger;
169
- withdrawal: ReuseKycThresholdTrigger;
170
- large_bet_placement: ReuseKycThresholdTrigger;
171
- high_frequency_betting: ReuseKycFrequencyTrigger;
168
+ deposit: EventBasedFaceVerificationThresholdTrigger;
169
+ withdrawal: EventBasedFaceVerificationThresholdTrigger;
170
+ large_bet_placement: EventBasedFaceVerificationThresholdTrigger;
171
+ high_frequency_betting: EventBasedFaceVerificationFrequencyTrigger;
172
172
  account_balance_transfer: boolean;
173
173
  }
174
174
  /**
175
- * Reactions taken when a customer exhausts the Re-Use KYC retry limit.
175
+ * Reactions taken when a customer exhausts the Event-Based Face Verification retry limit.
176
176
  * `trigger_alert` is enforced by the server (creates a KYC alert);
177
177
  * `enforce_logout` and `freeze_account` are forwarded to the tenant app
178
178
  * via the callback `data` field for it to enforce.
179
179
  */
180
- interface ReuseKycReactions {
180
+ interface EventBasedFaceVerificationReactions {
181
181
  /** Retries after the first attempt; total submissions = this + 1. */
182
182
  max_retry_attempts: number;
183
183
  trigger_alert: boolean;
@@ -193,7 +193,7 @@ interface KycPreferences {
193
193
  is_face_verification_required: boolean;
194
194
  is_address_verification_required: boolean;
195
195
  is_age_verification_required: boolean;
196
- /** Master switch for the Re-Use KYC feature. */
196
+ /** Master switch for the Event-Based Face Verification feature. */
197
197
  is_reuse_kyc_enabled?: boolean;
198
198
  min_age: number;
199
199
  max_age: number;
@@ -202,10 +202,10 @@ interface KycPreferences {
202
202
  high_risk_score: number;
203
203
  medium_risk_score: number;
204
204
  supported_document_types: SupportedDocumentType[];
205
- /** Per-event triggers for Re-Use KYC. */
206
- reuse_kyc_triggers?: ReuseKycTriggers;
207
- /** Retry / reaction policy for Re-Use KYC. */
208
- reuse_kyc_reactions?: ReuseKycReactions;
205
+ /** Per-event triggers for Event-Based Face Verification. */
206
+ reuse_kyc_triggers?: EventBasedFaceVerificationTriggers;
207
+ /** Retry / reaction policy for Event-Based Face Verification. */
208
+ reuse_kyc_reactions?: EventBasedFaceVerificationReactions;
209
209
  created_at: string;
210
210
  updated_at: string;
211
211
  }
@@ -224,9 +224,9 @@ interface UpdateKycPreferencesRequest {
224
224
  medium_risk_score?: number;
225
225
  supported_document_types?: SupportedDocumentType[];
226
226
  /** Partial update — only the events present here are changed. */
227
- reuse_kyc_triggers?: Partial<ReuseKycTriggers>;
227
+ reuse_kyc_triggers?: Partial<EventBasedFaceVerificationTriggers>;
228
228
  /** Partial update — only the keys present here are changed. */
229
- reuse_kyc_reactions?: Partial<ReuseKycReactions>;
229
+ reuse_kyc_reactions?: Partial<EventBasedFaceVerificationReactions>;
230
230
  }
231
231
  interface Name {
232
232
  first_name?: string;
@@ -310,25 +310,25 @@ interface RequestKycSubmitLinkRequest {
310
310
  trigger_event?: string;
311
311
  }
312
312
  /**
313
- * Trigger events that can request Re-Use KYC.
313
+ * Trigger events that can request Event-Based Face Verification.
314
314
  *
315
315
  * Account-sensitive: any sensitive change to the account profile.
316
316
  * Transaction events: covered by the per-event rules in
317
- * `ReuseKycTriggers` (`deposit`, `withdrawal`, `large_bet_placement`,
317
+ * `EventBasedFaceVerificationTriggers` (`deposit`, `withdrawal`, `large_bet_placement`,
318
318
  * `high_frequency_betting`, `account_balance_transfer`).
319
319
  */
320
- type ReuseKycEvent = 'login' | 'password_change' | 'name_change' | 'phone_number_change' | 'two_factor_auth_change' | 'new_device_or_location' | 'device_fingerprint_change' | 'payment_method_change' | 'deposit' | 'withdrawal' | 'large_bet_placement' | 'high_frequency_betting' | 'account_balance_transfer';
321
- interface CreateReuseKycSessionRequest {
320
+ type EventBasedFaceVerificationEvent = 'login' | 'password_change' | 'name_change' | 'phone_number_change' | 'two_factor_auth_change' | 'new_device_or_location' | 'device_fingerprint_change' | 'payment_method_change' | 'deposit' | 'withdrawal' | 'large_bet_placement' | 'high_frequency_betting' | 'account_balance_transfer';
321
+ interface CreateEventBasedFaceVerificationSessionRequest {
322
322
  /** Unique reference for the KYC session (e.g., customer ID or transaction ID) */
323
323
  reference: string;
324
324
  /** Customer ID to associate with the KYC session */
325
325
  customer_id: string;
326
326
  /**
327
- * The triggering event. One of the `ReuseKycEvent` union members.
327
+ * The triggering event. One of the `EventBasedFaceVerificationEvent` union members.
328
328
  * Required — when empty, the server falls through to the unknown-event
329
329
  * passthrough and allows the request silently.
330
330
  */
331
- event: ReuseKycEvent;
331
+ event: EventBasedFaceVerificationEvent;
332
332
  /**
333
333
  * USD amount associated with the event. Required for threshold-gated
334
334
  * events (`deposit`, `withdrawal`, `large_bet_placement`); ignored for
@@ -352,11 +352,11 @@ interface CreateReuseKycSessionRequest {
352
352
  event_window_minutes?: number;
353
353
  /** URL to redirect user after validate the facial submission (optional) */
354
354
  redirect_url?: string;
355
- /** URL to receive callback notifications via POST request when reuse KYC status changes (optional) */
355
+ /** URL to receive callback notifications via POST request when Event-Based Face Verification status changes (optional) */
356
356
  callback_url?: string;
357
357
  }
358
- interface SubmitReuseKycSessionRequest {
359
- /** Reuse KYC session token generated from createReuseKycSession */
358
+ interface SubmitEventBasedFaceVerificationSessionRequest {
359
+ /** Event-Based Face Verification session token generated from createEventBasedFaceVerificationSession */
360
360
  token: string;
361
361
  /** Base64 encoded face image or selfie for verification */
362
362
  proof: string;
@@ -370,14 +370,14 @@ interface RequestKycSubmitLinkResponse {
370
370
  kyc_id: string;
371
371
  }
372
372
  /** Device class detected by the SDK (purely client-side — server doesn't care). */
373
- type ReuseKycDeviceType = 'mobile' | 'desktop';
374
- interface CreateReuseKycSessionResponse {
375
- /** Reuse KYC session reference (echo of the request reference) */
373
+ type EventBasedFaceVerificationDeviceType = 'mobile' | 'desktop';
374
+ interface CreateEventBasedFaceVerificationSessionResponse {
375
+ /** Event-Based Face Verification session reference (echo of the request reference) */
376
376
  reference: string;
377
- /** Generated reuse KYC session token, valid 10 minutes */
377
+ /** Generated Event-Based Face Verification session token, valid 10 minutes */
378
378
  token: string;
379
379
  /**
380
- * Empty string when Re-Use KYC is required. When `is_required` is
380
+ * Empty string when Event-Based Face Verification is required. When `is_required` is
381
381
  * false, this contains the human-readable reason (e.g. feature
382
382
  * disabled, threshold not met, customer has no prior KYC).
383
383
  */
@@ -406,7 +406,7 @@ interface CreateReuseKycSessionResponse {
406
406
  * or freeze the account. Reaction flags are only populated when
407
407
  * `retry_limit_exceeded` is true.
408
408
  */
409
- interface ReuseKycReactionResult {
409
+ interface EventBasedFaceVerificationReactionResult {
410
410
  /** Submissions the customer still has before the retry limit fires. */
411
411
  retries_remaining: number;
412
412
  /** True once the latest failed attempt exhausts the retry policy. */
@@ -419,11 +419,11 @@ interface ReuseKycReactionResult {
419
419
  alert_id?: string;
420
420
  }
421
421
  /**
422
- * Shape of the webhook body POSTed to `callback_url` after a Re-Use KYC
422
+ * Shape of the webhook body POSTed to `callback_url` after a Event-Based Face Verification
423
423
  * submission completes (also returned synchronously from
424
- * `submitReuseKycSession`).
424
+ * `submitEventBasedFaceVerificationSession`).
425
425
  */
426
- interface ReuseKycCallback {
426
+ interface EventBasedFaceVerificationCallback {
427
427
  event: 'reuse_kyc';
428
428
  reference: string;
429
429
  resource_id: string;
@@ -434,7 +434,7 @@ interface ReuseKycCallback {
434
434
  declined_reason?: string;
435
435
  /** @deprecated Use structured reasons. */
436
436
  warnings?: Record<string, Record<string, string>>;
437
- data: ReuseKycReactionResult;
437
+ data: EventBasedFaceVerificationReactionResult;
438
438
  }
439
439
  /**
440
440
  * Server-side handoff session backed by Redis (TTL: 15 minutes). Shared
@@ -450,7 +450,7 @@ interface KycHandoffSession {
450
450
  face: string;
451
451
  /** True after a mobile device hits PUT /api/v1/kyc/session/connect. */
452
452
  mobile_connected: boolean;
453
- /** True after the (normal-KYC) document submission completes; unused for Re-Use KYC. */
453
+ /** True after the (normal-KYC) document submission completes; unused for Event-Based Face Verification. */
454
454
  is_submitted: boolean;
455
455
  }
456
456
  interface CheckKycStatusRequest {
@@ -671,7 +671,7 @@ declare class KycClient extends BaseClient {
671
671
  */
672
672
  requestKycSubmitLink(request: RequestKycSubmitLinkRequest): Promise<RequestKycSubmitLinkResponse>;
673
673
  /**
674
- * Create a Re-Use KYC session.
674
+ * Create a Event-Based Face Verification session.
675
675
  *
676
676
  * Inspect the response before showing UI:
677
677
  * - `is_required === false` → skip face capture; `reason` explains why.
@@ -681,35 +681,39 @@ declare class KycClient extends BaseClient {
681
681
  *
682
682
  * @param request - Reference, customer_id, event, amount (for threshold events), optional URLs.
683
683
  */
684
- createReuseKycSession(request: CreateReuseKycSessionRequest): Promise<CreateReuseKycSessionResponse>;
684
+ createEventBasedFaceVerificationSession(request: CreateEventBasedFaceVerificationSessionRequest): Promise<CreateEventBasedFaceVerificationSessionResponse>;
685
685
  /**
686
- * Submit a real-time face capture for an active Re-Use KYC session.
686
+ * Submit a real-time face capture for an active Event-Based Face Verification session.
687
687
  *
688
688
  * **Mobile-only.** The server rejects desktop User-Agents with HTTP
689
689
  * 400 (`face capture must be completed on a mobile device`). Use the
690
- * QR handoff from `createReuseKycSession` for desktop callers.
690
+ * QR handoff from `createEventBasedFaceVerificationSession` for desktop callers.
691
691
  *
692
692
  * The `data` field on the response carries `retries_remaining`,
693
693
  * `retry_limit_exceeded`, and the reaction flags (`enforce_logout`,
694
694
  * `freeze_account`, etc.) so the tenant app can act on a final failure.
695
695
  *
696
- * @param request - Token from `createReuseKycSession`, plus the base64 selfie.
696
+ * @param request - Token from `createEventBasedFaceVerificationSession`, plus the base64 selfie.
697
697
  */
698
- submitReuseKycSession(request: SubmitReuseKycSessionRequest): Promise<ReuseKycCallback>;
698
+ submitEventBasedFaceVerificationSession(request: SubmitEventBasedFaceVerificationSessionRequest): Promise<EventBasedFaceVerificationCallback>;
699
699
  /**
700
- * Look up the current state of a Re-Use KYC session by its forward
701
- * reference. Useful for desktop pollers waiting on the mobile handoff.
700
+ * Look up the current state of a Event-Based Face Verification session by its
701
+ * session token. Useful for desktop pollers waiting on the mobile handoff.
702
702
  *
703
- * @param reference - The reference used when the session was created.
703
+ * The lookup is scoped by the unguessable, server-issued session token (not
704
+ * the enumerable forward reference): the endpoint is public/unauthenticated,
705
+ * and scoping by the token is what prevents cross-tenant status reads.
706
+ *
707
+ * @param token - The session token returned by `createEventBasedFaceVerificationSession`.
704
708
  */
705
- getReuseKycSessionStatus(reference: string): Promise<ReuseKycCallback>;
709
+ getEventBasedFaceVerificationSessionStatus(token: string): Promise<EventBasedFaceVerificationCallback>;
706
710
  /**
707
711
  * Fetch the Redis-backed handoff session for a token. Same backing
708
712
  * store as normal KYC (`kyc:session:<token>`, 15-minute TTL). Desktop
709
713
  * callers poll `mobile_connected` to detect when a mobile device has
710
714
  * scanned the QR and attached.
711
715
  *
712
- * @param token - The session token returned by `createReuseKycSession`.
716
+ * @param token - The session token returned by `createEventBasedFaceVerificationSession`.
713
717
  */
714
718
  getHandoffSession(token: string): Promise<KycHandoffSession>;
715
719
  /**
@@ -1043,4 +1047,4 @@ declare class KycClient extends BaseClient {
1043
1047
  createCustomerProfile(profile: CreateProfileRequest): Promise<CustomerProfile>;
1044
1048
  }
1045
1049
 
1046
- export { type CheckKycStatusRequest, type CheckKycStatusResponse, CreateProfileRequest as CreateCustomerProfileRequest, type CreateReuseKycSessionRequest, type CreateReuseKycSessionResponse, CustomerProfile, ProfileFilters as CustomerProfileFilters, ProfileListResponse as CustomerProfileListResponse, type DocumentType, type DocumentVerificationRequest, type DocumentVerificationResponse, type FaceProof, KYC_DECLINED_DESCRIPTIONS, type KycAlert, type KycAlertFilters, type KycAlertListResponse, type KycAlertStatus, type KycAlertType, KycClient, type KycClientConfig, type KycCustomerProfile, type KycDeclinedCode, type KycHandoffSession, type KycOverview, type KycPagination, type KycPreferences, type KycRequest, type KycRequestFilters, type KycRequestListResponse, type KycStatus, type Name, PaginationParams, type Proof, type ProofDownloadURL, type ProofType, type RequestAdditionalDocumentsRequest, type RequestKycSubmitLinkRequest, type RequestKycSubmitLinkResponse, type ReuseKycCallback, type ReuseKycDeviceType, type ReuseKycEvent, type ReuseKycFrequencyTrigger, type ReuseKycReactionResult, type ReuseKycReactions, type ReuseKycThresholdTrigger, type ReuseKycTriggers, RiskLevel, type SubmitReuseKycSessionRequest, type SubmittedDocument, type SupportedDocumentType, type UpdateKycAlertRequest, type UpdateKycPreferencesRequest, type UpdateKycStatusRequest, type UseKycAlertsOptions, type UseKycAlertsResult, type UseKycOverviewOptions, type UseKycOverviewResult, type UseKycPreferencesResult, type UseKycRequestsOptions, type UseKycRequestsResult, type UseKycSubmissionOptions, type UseKycSubmissionResult };
1050
+ export { type CheckKycStatusRequest, type CheckKycStatusResponse, CreateProfileRequest as CreateCustomerProfileRequest, type CreateEventBasedFaceVerificationSessionRequest, type CreateEventBasedFaceVerificationSessionResponse, CustomerProfile, ProfileFilters as CustomerProfileFilters, ProfileListResponse as CustomerProfileListResponse, type DocumentType, type DocumentVerificationRequest, type DocumentVerificationResponse, type EventBasedFaceVerificationCallback, type EventBasedFaceVerificationDeviceType, type EventBasedFaceVerificationEvent, type EventBasedFaceVerificationFrequencyTrigger, type EventBasedFaceVerificationReactionResult, type EventBasedFaceVerificationReactions, type EventBasedFaceVerificationThresholdTrigger, type EventBasedFaceVerificationTriggers, type FaceProof, KYC_DECLINED_DESCRIPTIONS, type KycAlert, type KycAlertFilters, type KycAlertListResponse, type KycAlertStatus, type KycAlertType, KycClient, type KycClientConfig, type KycCustomerProfile, type KycDeclinedCode, type KycHandoffSession, type KycOverview, type KycPagination, type KycPreferences, type KycRequest, type KycRequestFilters, type KycRequestListResponse, type KycStatus, type Name, PaginationParams, type Proof, type ProofDownloadURL, type ProofType, type RequestAdditionalDocumentsRequest, type RequestKycSubmitLinkRequest, type RequestKycSubmitLinkResponse, RiskLevel, type SubmitEventBasedFaceVerificationSessionRequest, type SubmittedDocument, type SupportedDocumentType, type UpdateKycAlertRequest, type UpdateKycPreferencesRequest, type UpdateKycStatusRequest, type UseKycAlertsOptions, type UseKycAlertsResult, type UseKycOverviewOptions, type UseKycOverviewResult, type UseKycPreferencesResult, type UseKycRequestsOptions, type UseKycRequestsResult, type UseKycSubmissionOptions, type UseKycSubmissionResult };
package/dist/kyc/index.js CHANGED
@@ -626,7 +626,7 @@ var KycClient = class extends BaseClient {
626
626
  });
627
627
  }
628
628
  /**
629
- * Create a Re-Use KYC session.
629
+ * Create a Event-Based Face Verification session.
630
630
  *
631
631
  * Inspect the response before showing UI:
632
632
  * - `is_required === false` → skip face capture; `reason` explains why.
@@ -636,7 +636,7 @@ var KycClient = class extends BaseClient {
636
636
  *
637
637
  * @param request - Reference, customer_id, event, amount (for threshold events), optional URLs.
638
638
  */
639
- async createReuseKycSession(request) {
639
+ async createEventBasedFaceVerificationSession(request) {
640
640
  return this.request("/api/v1/kyc/face/session", {
641
641
  method: "POST",
642
642
  body: JSON.stringify(request),
@@ -644,19 +644,19 @@ var KycClient = class extends BaseClient {
644
644
  });
645
645
  }
646
646
  /**
647
- * Submit a real-time face capture for an active Re-Use KYC session.
647
+ * Submit a real-time face capture for an active Event-Based Face Verification session.
648
648
  *
649
649
  * **Mobile-only.** The server rejects desktop User-Agents with HTTP
650
650
  * 400 (`face capture must be completed on a mobile device`). Use the
651
- * QR handoff from `createReuseKycSession` for desktop callers.
651
+ * QR handoff from `createEventBasedFaceVerificationSession` for desktop callers.
652
652
  *
653
653
  * The `data` field on the response carries `retries_remaining`,
654
654
  * `retry_limit_exceeded`, and the reaction flags (`enforce_logout`,
655
655
  * `freeze_account`, etc.) so the tenant app can act on a final failure.
656
656
  *
657
- * @param request - Token from `createReuseKycSession`, plus the base64 selfie.
657
+ * @param request - Token from `createEventBasedFaceVerificationSession`, plus the base64 selfie.
658
658
  */
659
- async submitReuseKycSession(request) {
659
+ async submitEventBasedFaceVerificationSession(request) {
660
660
  return this.request("/api/v1/kyc/face/submit", {
661
661
  method: "POST",
662
662
  body: JSON.stringify(request),
@@ -664,13 +664,17 @@ var KycClient = class extends BaseClient {
664
664
  });
665
665
  }
666
666
  /**
667
- * Look up the current state of a Re-Use KYC session by its forward
668
- * reference. Useful for desktop pollers waiting on the mobile handoff.
667
+ * Look up the current state of a Event-Based Face Verification session by its
668
+ * session token. Useful for desktop pollers waiting on the mobile handoff.
669
669
  *
670
- * @param reference - The reference used when the session was created.
670
+ * The lookup is scoped by the unguessable, server-issued session token (not
671
+ * the enumerable forward reference): the endpoint is public/unauthenticated,
672
+ * and scoping by the token is what prevents cross-tenant status reads.
673
+ *
674
+ * @param token - The session token returned by `createEventBasedFaceVerificationSession`.
671
675
  */
672
- async getReuseKycSessionStatus(reference) {
673
- return this.requestWithRetry(`/api/v1/kyc/face/verify/${encodeURIComponent(reference)}`, {
676
+ async getEventBasedFaceVerificationSessionStatus(token) {
677
+ return this.requestWithRetry(`/api/v1/kyc/face/verify/${encodeURIComponent(token)}`, {
674
678
  method: "GET",
675
679
  headers: this.getUserHeaders()
676
680
  });
@@ -681,7 +685,7 @@ var KycClient = class extends BaseClient {
681
685
  * callers poll `mobile_connected` to detect when a mobile device has
682
686
  * scanned the QR and attached.
683
687
  *
684
- * @param token - The session token returned by `createReuseKycSession`.
688
+ * @param token - The session token returned by `createEventBasedFaceVerificationSession`.
685
689
  */
686
690
  async getHandoffSession(token) {
687
691
  return this.request(