Member Registration Configuration
One of the main setup steps is choosing the registration method. See the sample example how this can be configured. Links to more detailed instructions can be found at the end of the article.
How this example works
OpenLoyalty supports multitenancy, allowing each tenant (store) to operate as a distinct database, complete with its own member list and campaigns. This guide outlines the initial step of the setup process: selecting the appropriate registration method for a member. A single unique identifier is required, which can be an email, phone number, or loyalty card number (that can serve as your own unique identifier).
Try yourself
Input the previous saved token in the request header
Retrieve a list of tenants (stores) Endpoint:
GET /api/storeChoose the required tenant and its code
Retrieve member registration for the specified tenant Endpoint:
GET /api/{storeCode}/settingsUpdate
identificationMethodEndpoint:PATCH /api/{storeCode}/settings{ "settings": { "identificationMethod": "phone" // or "loyaltyCardNumber", "email" } }
Moving forward, the chosen method will be a required field for member registration.
Endpoints used
This method returns a list of all created Stores in the system.
If sorting is not chosen, the rows will be returned in an unspecified order.
To sort a result, use an _orderBy parameter in query.
Open Loyalty has the JWT authorization. To learn what a JSON Web Token is and how it works, check out Introduction to JSON Web Tokens https://jwt.io/introduction/
Obtain an access token
Send a request with the parameters username and password
Definition
POST /api/admin/login_check Go to definition
POST /api/{storeCode}/member/login_check Go to definition
Example
curl {HOST}/api/admin/login_check
-H 'Content-Type: application/json;charset=UTF-8'
-H 'Accept: application/json, text/plain, */*'
--data-binary '{"username":"admin","password":"password"}'
Example Response
{
"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6...",
"refresh_token":"0558f8bb29948c4e54c443f..."
}
Using JSON Web Token
Add authorization header to each request
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...
You can now access any API method you want under the /api prefix.
Example
curl {HOST}/api/{storeCode}/analytics/members
-H 'Accept: application/json'
-H 'Content-type: application/x-www-form-urlencoded'
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...'
Refresh JSON Web Token
You can refresh token using refresh_token that was given during login.
There are two endpoints
To refresh admin token POST /api/token/refresh Go to definition
To refresh member token POST /api/{storeCode}/token/refresh Go to definition
Maximum supported value is 50.
List of stores
Bad request.
Forbidden.
GET /api/store HTTP/1.1
Host: openloyalty.localhost
Authorization: YOUR_API_KEY
Accept: */*
{
"items": [
{
"storeId": "123e4567-e89b-12d3-a456-426614174000",
"code": "text",
"currency": "text",
"name": "text",
"active": true,
"createdAt": "2025-11-18T21:35:22.940Z",
"updatedAt": "2025-11-18T21:35:22.940Z",
"createdBy": "text",
"updatedBy": "text"
}
],
"total": {
"all": 1,
"filtered": 1,
"estimated": true
}
}This method returns all system settings.
If sorting is not chosen, the rows will be returned in an unspecified order.
To sort a result, use an _orderBy parameter in query.
Open Loyalty has the JWT authorization. To learn what a JSON Web Token is and how it works, check out Introduction to JSON Web Tokens https://jwt.io/introduction/
Obtain an access token
Send a request with the parameters username and password
Definition
POST /api/admin/login_check Go to definition
POST /api/{storeCode}/member/login_check Go to definition
Example
curl {HOST}/api/admin/login_check
-H 'Content-Type: application/json;charset=UTF-8'
-H 'Accept: application/json, text/plain, */*'
--data-binary '{"username":"admin","password":"password"}'
Example Response
{
"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6...",
"refresh_token":"0558f8bb29948c4e54c443f..."
}
Using JSON Web Token
Add authorization header to each request
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...
You can now access any API method you want under the /api prefix.
Example
curl {HOST}/api/{storeCode}/analytics/members
-H 'Accept: application/json'
-H 'Content-type: application/x-www-form-urlencoded'
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...'
Refresh JSON Web Token
You can refresh token using refresh_token that was given during login.
There are two endpoints
To refresh admin token POST /api/token/refresh Go to definition
To refresh member token POST /api/{storeCode}/token/refresh Go to definition
Store code
Forbidden.
Not found.
GET /api/{storeCode}/settings HTTP/1.1
Host: openloyalty.localhost
Authorization: YOUR_API_KEY
Accept: */*
{
"settings": [
{
"ANY_ADDITIONAL_PROPERTY": "text"
}
]
}This method allows configuring system settings partially.
Open Loyalty has the JWT authorization. To learn what a JSON Web Token is and how it works, check out Introduction to JSON Web Tokens https://jwt.io/introduction/
Obtain an access token
Send a request with the parameters username and password
Definition
POST /api/admin/login_check Go to definition
POST /api/{storeCode}/member/login_check Go to definition
Example
curl {HOST}/api/admin/login_check
-H 'Content-Type: application/json;charset=UTF-8'
-H 'Accept: application/json, text/plain, */*'
--data-binary '{"username":"admin","password":"password"}'
Example Response
{
"token":"eyJhbGciOiJSUzI1NiIsInR5cCI6...",
"refresh_token":"0558f8bb29948c4e54c443f..."
}
Using JSON Web Token
Add authorization header to each request
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...
You can now access any API method you want under the /api prefix.
Example
curl {HOST}/api/{storeCode}/analytics/members
-H 'Accept: application/json'
-H 'Content-type: application/x-www-form-urlencoded'
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6...'
Refresh JSON Web Token
You can refresh token using refresh_token that was given during login.
There are two endpoints
To refresh admin token POST /api/token/refresh Go to definition
To refresh member token POST /api/{storeCode}/token/refresh Go to definition
Store code
Returned when successful
No content
Bad request.
Forbidden.
Not found.
PATCH /api/{storeCode}/settings HTTP/1.1
Host: openloyalty.localhost
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 676
{
"settings": {
"allowCustomersProfileEdits": true,
"expirePointsNotificationDays": 1,
"expireCouponsNotificationDays": 1,
"expireLevelsNotificationDays": 1,
"customersIdentificationPriority": [],
"tierAssignType": "points",
"tierWalletCode": "text",
"excludeDeliveryCostsFromTierAssignment": true,
"excludedLevelCategories": [
"text"
],
"levelDowngradeMode": "none",
"levelDowngradeDays": 1,
"levelDowngradeBase": "none",
"levelResetPointsOnDowngrade": true,
"accountActivationRequired": true,
"identificationMethod": "email",
"timezone": "Europe/Warsaw",
"rewardWalletCode": "text",
"activeMember": {
"transactionInXDays": 1,
"customEventsInXDays": {
"days": 1,
"allEvents": true,
"eventTypes": [
"text"
]
},
"operator": "and"
}
}
}No content
More resources
For a detailed overview and description of the member registration configuration, please refer to these articles:
TenantsIn this section, you will learn how to manage the tenants within your loyalty program.SettingsIn this section, you will learn how to manage the Open Loyalty settings.Last updated
Was this helpful?

