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

Add a reward

Management This method allows creating a new Reward in the system.

post
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

Body
rewardany ofRequired
or
or
or
or
Responses
200

Return created reward ID.

application/json
rewardIdstring · uuidRequired
post/api/{storeCode}/reward
POST /api/{storeCode}/reward HTTP/1.1
Host: openloyalty.localhost
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1018

{
  "reward": {
    "reward": "static_coupon",
    "translations": {
      "en": {
        "name": "text",
        "shortDescription": "text",
        "usageInstruction": "text",
        "conditionsDescription": "text",
        "brandDescription": "text",
        "brandName": "text"
      }
    },
    "categories": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "tax": 23,
    "price": 200,
    "taxPriceValue": 46,
    "active": true,
    "target": "level",
    "levels": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "segments": [
      "123e4567-e89b-12d3-a456-426614174000"
    ],
    "activity": {
      "allTime": true,
      "from": "2026-01-01T00:00:00.000Z",
      "to": "2026-01-01T00:00:00.000Z"
    },
    "visibility": {
      "allTime": true,
      "from": "2026-01-01T00:00:00.000Z",
      "to": "2026-01-01T00:00:00.000Z"
    },
    "labels": [
      {
        "key": "text",
        "value": "text"
      }
    ],
    "featured": true,
    "public": true,
    "costInPoints": 60.8,
    "sourceWalletTypeCode": "text",
    "customFields": {
      "ANY_ADDITIONAL_PROPERTY": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      }
    },
    "limits": {
      "general": {
        "interval": {
          "type": "calendarHours"
        },
        "value": 1
      },
      "perMember": {
        "interval": {
          "type": "calendarHours"
        },
        "value": 1
      }
    },
    "usageLimit": {
      "perUser": 1,
      "general": 1
    },
    "fulfillmentTracking": true
  }
}
{
  "rewardId": "123e4567-e89b-12d3-a456-426614174000"
}

Last updated

Was this helpful?