Get eligible members list
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
Reward ID
Page number
Number of elements per page
Field to sort by
Sorting direction
Get all rewards.
Forbidden.
GET /api/{storeCode}/reward/{reward}/members HTTP/1.1
Host: openloyalty.localhost
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"customerId": "123e4567-e89b-12d3-a456-426614174000",
"registeredAt": "2026-01-01T00:00:00.000Z",
"active": true,
"channelId": "123e4567-e89b-12d3-a456-426614174000",
"firstName": "text",
"lastName": "text",
"gender": "text",
"email": "text",
"phone": "text",
"birthDate": "2026-01-01T00:00:00.000Z",
"lastLevelRecalculation": "2026-01-01T00:00:00.000Z",
"address": {
"street": "text",
"address1": "text",
"address2": "text",
"province": "text",
"city": "text",
"postal": "text",
"country": "text"
},
"loyaltyCardNumber": "text",
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"agreement1": true,
"agreement2": true,
"agreement3": true,
"company": {
"name": "text",
"nip": "text"
},
"transactionsCount": 1,
"returnTransactionsCount": 1,
"transactionsAmount": 1,
"returnTransactionsAmount": 1,
"transactionsAmountWithoutDeliveryCosts": 1,
"amountExcludedForLevel": 1,
"averageTransactionAmount": 1,
"averageReturnTransactionAmount": 1,
"lastTransactionDate": "2026-01-01T00:00:00.000Z",
"firstTransactionDate": "2026-01-01T00:00:00.000Z",
"levelAchievementDate": "2026-01-01T00:00:00.000Z",
"anonymized": true,
"referralToken": "text",
"defaultAccount": {
"accountId": "text",
"activePoints": 1,
"transferredPoints": 1,
"lockedPoints": 1,
"expiredPoints": 1,
"spentPoints": 1,
"earnedPoints": 1,
"blockedPoints": 1
},
"customFieldsData": [
{
"customFieldSchemaId": "123e4567-e89b-12d3-a456-426614174000",
"customFieldName": "text",
"customFieldType": "text",
"value": "text"
}
],
"customFields": {
"group_1": {
"field_1": "orange",
"field_2": 48,
"field_3": 3.5,
"field_4": true,
"field_5": "1990-05-12",
"field_6": "2024-01-15 10:30:00.000000",
"field_7": null,
"field_8": "red",
"field_9": [
"red",
"blue"
],
"subgroup_1": [
{
"field_name1": 1,
"field_name2": 92.5,
"field_name3": true
}
]
}
}
}
]
}Last updated
Was this helpful?

