Skip to main content
POST
/
lbms-ingress
/
member
/
api
/
Member
/
CreateProfileWithAttributes
Create Profile
curl --request POST \
  --url https://loyalife-api.xoxoday.in/lbms-ingress/member/api/Member/CreateProfileWithAttributes \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "relation_reference": "jane.doe@example.com",
  "full_name": "Jane Doe",
  "email_id": "jane.doe@example.com",
  "mobile_number": "+919876543210",
  "gender": "F",
  "dob": "1990-06-15",
  "status": "5"
}
'
{
  "results": {
    "IsSucessful": true,
    "ErrorCode": "000",
    "ExceptionMessage": "Success",
    "ReturnObject": true
  }
}
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

CodeStatusDescription
1ActiveMember is fully active — can earn points, redeem, and log in
2SuspendedMember account is suspended
3Login BlockedMember cannot log in but other operations may still function
4CanceledMember account has been canceled
5InactiveDefault state for new enrollments — member is enrolled but not yet activated
6Membership BlockedMember’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

PathTypeDescription
results.IsSucessfulbooleantrue
results.ErrorCodestring000
results.ExceptionMessagestringSuccess
results.ReturnObjectbooleantrue on successful enrollment
PathTypeDescription
results.IsSucessfulbooleanfalse
results.ErrorCodestringError code from the platform
results.ExceptionMessagestringHuman-readable reason — check this field for details

Error Codes

CodeExceptionMessageCause
000SuccessMember enrolled successfully
E201Duplicate recordrelation_reference already exists in this program
E205Duplicate Email: The email already existsemail_id is already registered to another member
E206Duplicate Mobile: The mobile number already existsmobile_number is already registered to another member
E102Invalid Emailemail_id format is invalid
E103Mandatory field missing — MRNrelation_reference not provided
E104Mandatory field missing — Namefull_name not provided
E105Mandatory field missing — Mobile Numbermobile_number not provided
E106Mandatory field missing — DOBdob not provided
E107Mandatory field missing — Gendergender not provided
006Insert failedData was valid but the database insertion failed
999Bad requestMalformed JSON or missing required fields
email_id is configured as non-mandatory for some programs (e.g. Citibank). Mandatory field codes E103E107 only fire when the field is configured as required for your program.

Authorizations

Authorization
string
header
required

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

Query Parameters

pintProgramId
integer
required

Your loyalty program ID

Example:

19

Body

application/json
relation_reference
string
required

Unique member identifier — typically email-based. Primary key across all APIs.

Example:

"jane.doe@example.com"

full_name
string
required
Example:

"Jane Doe"

email_id
string<email>
required
Example:

"jane.doe@example.com"

mobile_number
string
required
Example:

"+919876543210"

status
string
required

Use 5 for Inactive — standard initial state for new enrollments.

Example:

"5"

address
string
Example:

"123 Main Street, Mumbai 400001"

gender
enum<string>
Available options:
M,
F,
O
Example:

"F"

dob
string<date>

Date of birth in YYYY-MM-DD format

Example:

"1990-06-15"

Response

Member created