For the complete documentation index, see llms.txt. This page is also available as Markdown.

Get rewards list

Integration This method returns a list of all Rewards existing 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.

get
Authorizations
AuthorizationstringRequired

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

Path parameters
storeCodestringRequired

Store code

Query parameters
_pageinteger · min: 1Optional

Number of page with results, starts from 1

Default: 1Example: 1
_itemsOnPageinteger · min: 1 · max: 50Optional

Items on one page

Default: 10Example: 25
rewardIdstring · uuidOptional
rewardstring · enumOptionalDeprecatedPossible values:
activebooleanOptionalExample: true
createdAtstring · date-timeOptional
publicbooleanOptionalExample: true
fulfillmentTrackingbooleanOptionalDeprecatedExample: true
featuredbooleanOptionalExample: true
namestringOptional
shortDescriptionstringOptional
brandNamestringOptional
brandDescriptionstringOptional
levelsstringOptional
segmentsstringOptional
categoriesstringOptional
labelsstringOptional

Labels using pattern e.g. (key1;value1),(key2;value2),...

costInPointsintegerOptional
limitintegerOptional
availablebooleanOptionalExample: true
visiblebooleanOptionalExample: true
visibleFromstring · date-timeOptional
visibleTostring · date-timeOptional
activeFromstring · date-timeOptional
activeTostring · date-timeOptional
formatstring · html|rawOptional

If set to html, the descriptions will be in HTML format. Omit for raw output.

typestring · enumOptional

Examples: - type[notIn]=material - type[in]=dynamic_coupon

Possible values:
Responses
200

Get all rewards.

application/json
get/api/{storeCode}/reward
GET /api/{storeCode}/reward HTTP/1.1
Host: openloyalty.localhost
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "items": [
    {
      "reward": "text",
      "name": "text",
      "levels": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "segments": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "categories": [
        "123e4567-e89b-12d3-a456-426614174000"
      ],
      "brandIcon": true,
      "rewardId": "123e4567-e89b-12d3-a456-426614174000",
      "target": "level",
      "active": true,
      "costInPoints": 1,
      "activity": {
        "allTime": true
      },
      "visibility": {
        "allTime": true
      },
      "tax": 1,
      "taxPriceValue": 1,
      "price": 1,
      "labels": [
        {
          "key": "text",
          "value": "text"
        }
      ],
      "featured": true,
      "public": true,
      "photos": [
        {}
      ],
      "createdAt": "2026-01-01T00:00:00.000Z",
      "usageLimit": {
        "general": 1,
        "perUser": 1
      },
      "notIssuedCoupons": 1,
      "limitUsages": {
        "general": {
          "interval": {
            "type": "calendarHours"
          },
          "currentValue": 1,
          "limitValue": 1
        },
        "perMember": {
          "interval": {
            "type": "calendarHours"
          },
          "currentValue": 1,
          "limitValue": 1
        }
      },
      "translations": [
        {
          "name": "text",
          "id": 1,
          "locale": "text"
        }
      ],
      "couponGenerator": {
        "length": 1,
        "characterSet": "text"
      },
      "couponValue": 1,
      "segmentNames": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "levelNames": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "categoryNames": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "unitsConversion": {
        "ratio": 1,
        "rounding": "up"
      },
      "customFields": {
        "ANY_ADDITIONAL_PROPERTY": {
          "ANY_ADDITIONAL_PROPERTY": "anything"
        }
      }
    }
  ]
}

Last updated

Was this helpful?