Skip to content

Verifications (OTP)

OTP Verification - Email verification using one-time password (OTP) codes.

Key Operations:

  • Request OTP code to be sent to customer's email
  • Verify OTP code to confirm email ownership

Flow:

  1. Request OTP via POST /eapi/v0/verifications/otp
  2. Customer receives OTP code via email
  3. Verify OTP via POST /eapi/v0/verifications/otp/verify

Rate Limits:

  • OTP requests: 3 per minute per customer
  • OTP verification attempts: 4 per minute per customer

Important Notes:

  • OTP codes are single-use and expire after a set time
  • Email must be verified for certain compliance requirements
  • Feature must be enabled for your merchant account

Request OTP Code

Request

Sends a one-time password (OTP) code to the customer's email address for verification. The OTP code is valid for a limited time and can only be used once. Rate limited to 3 requests per minute per customer.

Security
HMACAuth
Bodyapplication/jsonrequired
identityReferencestring, [ 1 .. 255 ] characters(Identity Reference)^[A-Za-z0-9-]+$required

Identity reference of an existing customer created through our platform

Example:"c-13344"
emailstring, (email)required

The customer's email address

Send OTP code to customer's registered email address

curl -i -X POST \
  https://docs.banxa.com/_mock/products/native-api/openapi/eapi/v0/verifications/otp \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "identityReference": "customer-12345",
    "email": "[email protected]"
  }'

Responses

OTP sent successfully to customer's email address

Headers
X-RateLimit-Limitinteger

Maximum number of requests allowed per minute

Example:3
X-RateLimit-Remaininginteger

Number of requests remaining in current window

Example:2
Bodyapplication/json
messagestringrequired

Success message indicating OTP was sent.

Example:"OTP sent successfully"
Response
{ "message": "OTP sent successfully" }