Skip to main content

Security

Manage two-factor authentication, security events, and KYC documents. Access via zenpays.security.

Two-Factor Authentication​

setup2FA​

const setup = await zenpays.security.setup2FA()
// Returns: { secret, qrCodeUrl, backupCodes }

enable2FA​

Enable 2FA after scanning the QR code.

const result = await zenpays.security.enable2FA('123456') // TOTP code
// Returns: { enabled: boolean }

verify2FA​

const result = await zenpays.security.verify2FA({ code: '123456', type: 'totp' })
// Returns: { verified: boolean }

disable2FA​

await zenpays.security.disable2FA('123456') // current TOTP code to confirm

is2FAEnabled​

const status = await zenpays.security.is2FAEnabled()
// Returns: { enabled: boolean, setupAt?: string }

regenerateBackupCodes​

const result = await zenpays.security.regenerateBackupCodes()
// Returns: { backupCodes: string[] }

Security Events​

listSecurityEvents​

const { data } = await zenpays.security.listSecurityEvents({
severity: 'high',
from: '2024-01-01',
limit: 50,
})

getSecurityEvent​

const event = await zenpays.security.getSecurityEvent('sec_xxx')

KYC Documents​

getKycStatus​

const status = await zenpays.security.getKycStatus()

uploadKycDocument​

const doc = await zenpays.security.uploadKycDocument({
type: 'identity_proof',
file: fileBlob,
description: 'Passport front page',
})

getKycDocument​

const doc = await zenpays.security.getKycDocument('kyc_xxx')

downloadKycDocument​

const downloadUrl = await zenpays.security.downloadKycDocument('kyc_xxx')

deleteKycDocument​

await zenpays.security.deleteKycDocument('kyc_xxx')