Generate OTP by Relation Reference
OTP
Generate OTP by Relation Reference
Send an OTP to a member using their RelationReference (CID).
POST
Generate OTP by Relation Reference
Sends an OTP to a member identified by their
Verify the OTP using Verify OTP by Relation Reference.
RelationReference (CID). This is the preferred OTP trigger for member-facing portals where the CID is already established in your session — it avoids an extra lookup compared to the email-based flow. Loyalife routes the OTP to the member’s registered channel based on their program configuration. Follow this call with Verify OTP by Relation Reference to complete verification.
OtpType Values
| Value | Use Case |
|---|---|
ACTIVATION | Account activation after registration |
LOGIN | Member login via OTP |
FORGOTPWD | Forgot password — initiate reset |
CHANGEPASSWORD | Change password (member is logged in) |
RESETPASSWORD | Reset password (admin-triggered) |
FORGOTUSERNAME | Forgot username recovery |
TwoFA | Two-factor authentication |
UNBLOCKMEMBER | Unblock a locked member account |
NONE | No specific type |
CASHBACKCONFIRM | Cashback transaction confirmation |
POINTTRANSFERCONFIRM | Points transfer confirmation |
FAMILYPOOLINGMERGE | Family pooling account merge confirmation |
FAMILYPOOLINGUNMERGE | Family pooling account unmerge confirmation |
AIRREVIEWNCONFIRM | Air booking review confirmation |
DOMESTICFLIGHTREVIEWNCONFIRM | Domestic flight booking confirmation |
HOTELREVIEWNCONFIRM | Hotel booking review confirmation |
CARREVIEWNCONFIRM | Car booking review confirmation |
GIFTCARDREVIEWNCONFIRM | Gift card review confirmation |
PACKAGEREVIEWNCONFIRM | Package booking review confirmation |
SHOPREVIEWNCONFIRM | Shop purchase review confirmation |
SHOPDIGITALREVIEWNCONFIRM | Digital shop review confirmation |
MERCHANTREVIEWNCONFIRM | Merchant review confirmation |
ISPREVIEWNCONFIRM | ISP review confirmation |
INSURANCEREVIEWNCONFIRM | Insurance review confirmation |
Responses
200 — Success
200 — Success
| Path | Type | Description |
|---|---|---|
results.IsSucessful | boolean | true |
results.ErrorCode | string | 000 |
results.ExceptionMessage | string | Success |
results.ReturnObject | boolean | true when OTP is sent |
results.Count | integer | Always 0 |
OTP expiry duration, delivery channel, and maximum attempt limits are configurable at the program level in Loyalife Admin. Confirm these values with your Xoxoday implementation contact.
Authorizations
JWT obtained from Generate Auth Token. Pass as Authorization: bearer {token}.
Body
application/json
The member's RelationReference (CID)
Example:
"jane.doe@example.com"
1=Web, 2=Mobile, 3=Email, 4=Service
Available options:
1, 2, 3, 4 Example:
1
IP address of the requesting system
Example:
"192.168.1.1"
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"
Example:
19
Use 4 for customers
Example:
4
Response
200 - application/json
OTP sent