Create Profile
Member Management
Create Profile
Enroll a new member in your loyalty program.
POST
Create Profile
Registers a new member in your loyalty program. The
relation_reference you supply becomes the member’s permanent identifier across all Loyalife APIs — choose it carefully (typically an email-based UUID or your internal customer ID). New members are created in Inactive status by default; activation happens through a separate workflow. If a member with the same relation_reference already exists, the API returns a 409 rather than overwriting.
Member Status Values
| Code | Status | Description |
|---|---|---|
1 | Active | Member is fully active — can earn points, redeem, and log in |
2 | Suspended | Member account is suspended |
3 | Login Blocked | Member cannot log in but other operations may still function |
4 | Canceled | Member account has been canceled |
5 | Inactive | Default state for new enrollments — member is enrolled but not yet activated |
6 | Membership Blocked | Member’s loyalty membership is blocked |
Status can be managed both via API and through the Loyalife Admin portal. Any mandatory custom attributes defined in your CPD schema must also be included in the request. Optional custom attributes can also be passed.
Responses
200 — Success
200 — Success
| Path | Type | Description |
|---|---|---|
results.IsSucessful | boolean | true |
results.ErrorCode | string | 000 |
results.ExceptionMessage | string | Success |
results.ReturnObject | boolean | true on successful enrollment |
409 — Member Already Exists
409 — Member Already Exists
| Path | Type | Description |
|---|---|---|
results.IsSucessful | boolean | false |
results.ErrorCode | string | Error code from the platform |
results.ExceptionMessage | string | Human-readable reason — check this field for details |
Error Codes
| Code | ExceptionMessage | Cause |
|---|---|---|
000 | Success | Member enrolled successfully |
E201 | Duplicate record | relation_reference already exists in this program |
E205 | Duplicate Email: The email already exists | email_id is already registered to another member |
E206 | Duplicate Mobile: The mobile number already exists | mobile_number is already registered to another member |
E102 | Invalid Email | email_id format is invalid |
E103 | Mandatory field missing — MRN | relation_reference not provided |
E104 | Mandatory field missing — Name | full_name not provided |
E105 | Mandatory field missing — Mobile Number | mobile_number not provided |
E106 | Mandatory field missing — DOB | dob not provided |
E107 | Mandatory field missing — Gender | gender not provided |
006 | Insert failed | Data was valid but the database insertion failed |
999 | Bad request | Malformed JSON or missing required fields |
email_id is configured as non-mandatory for some programs (e.g. Citibank). Mandatory field codes E103–E107 only fire when the field is configured as required for your program.Authorizations
JWT obtained from Generate Auth Token. Pass as Authorization: bearer {token}.
Query Parameters
Your loyalty program ID
Example:
19
Body
application/json
Unique member identifier — typically email-based. Primary key across all APIs.
Example:
"jane.doe@example.com"
Example:
"Jane Doe"
Example:
"jane.doe@example.com"
Example:
"+919876543210"
Use 5 for Inactive — standard initial state for new enrollments.
Example:
"5"
Example:
"123 Main Street, Mumbai 400001"
Available options:
M, F, O Example:
"F"
Date of birth in YYYY-MM-DD format
Example:
"1990-06-15"
Response
Member created