Skip to main content
POST
Generate OTP
Triggers an OTP to be sent to a member’s registered delivery channel (SMS or email, as configured for your program), identified by their email address. Use this for login, password reset, account activation, or two-factor authentication flows. The OtpType parameter controls which template and expiry rules apply. If you have the member’s RelationReference (CID) rather than their email, the preferred flow is Generate OTP by Relation Reference.

OtpType Values

OTP delivery channel (email or SMS), expiry duration, and maximum attempt limits are all configurable at the program level in Loyalife Admin. Confirm these values with your Xoxoday implementation contact so your UI timers and lockout handling match the actual configuration.

Responses

After a successful response, verify the OTP with Verify OTP.

Authorizations

Authorization
string
header
required

JWT obtained from Generate Auth Token. Pass as Authorization: bearer {token}.

Body

application/json
UniquerefID
string
required

The member's email address

Example:

"jane.doe@example.com"

SourceAddress
string
required

IP address of the requesting system

Example:

"192.168.1.1"

SourceCode
enum<integer>
required

Origin: 1=Web, 2=Mobile, 3=Email, 4=Service

Available options:
1,
2,
3,
4
Example:

1

OtpType
enum<string>
required

Purpose of the OTP. Must match between Generate and Verify calls.

Available options:
ACTIVATION,
LOGIN,
FORGOTPWD,
CHANGEPASSWORD,
RESETPASSWORD,
FORGOTUSERNAME,
TwoFA,
UNBLOCKMEMBER,
NONE,
CASHBACKCONFIRM,
POINTTRANSFERCONFIRM,
FAMILYPOOLINGMERGE,
FAMILYPOOLINGUNMERGE,
AIRREVIEWNCONFIRM,
DOMESTICFLIGHTREVIEWNCONFIRM,
HOTELREVIEWNCONFIRM,
CARREVIEWNCONFIRM,
GIFTCARDREVIEWNCONFIRM,
PACKAGEREVIEWNCONFIRM,
SHOPREVIEWNCONFIRM,
SHOPDIGITALREVIEWNCONFIRM,
MERCHANTREVIEWNCONFIRM,
ISPREVIEWNCONFIRM,
INSURANCEREVIEWNCONFIRM
Example:

"LOGIN"

ProgramId
integer
required
Example:

19

RelationType
integer
required

Use 4 for customers

Example:

4

Response

200 - application/json

OTP sent