Heads up, our devs are blazing ahead—docs are catching up, so some features might not be fully documented yet.

LoyaltyProgram

LoyaltyProgram

Search for a loyalty program membership

post
/tenants/{tenantUid}/customers/loyalty/search

Search for (look up) a loyalty program membership. The preferred and main search criteria is mobile number, but email can be used when mobile number is not available.

Country code must be with a plus sign, e.g. +47 for Norway. If country code is missing, the default country code of the tenant is used.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
querystringRequired

full mobile number or email

Responses
200

Example response

application/json
post
/tenants/{tenantUid}/customers/loyalty/search
POST /v2/tenants/{tenantUid}/customers/loyalty/search HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 16

{
  "query": "text"
}
200

Example response

{
  "items": [
    {
      "loyaltyId": "text",
      "firstName": "text",
      "lastName": "text",
      "address": "text",
      "postalCode": "text",
      "city": "text",
      "countryCode": "text",
      "email": "text",
      "mobile": "text",
      "consents": [
        "text"
      ],
      "customerUid": "text",
      "origin": "text",
      "displayName": "text"
    }
  ]
}

Enroll new customer to loyalty program

post
/tenants/{tenantUid}/customers/loyalty

Enroll new customer to loyalty program. If the mobile number is not in the country of the tenant you must add the country code (e.g. +358 for Finland). The store is where the enroll was made from.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
mobilestringRequired
mobileCountryCodestringOptional
storeUidstringRequiredPattern: ^[A-Za-z0-9-_]+
Responses
204

No Content

No content

post
/tenants/{tenantUid}/customers/loyalty
POST /v2/tenants/{tenantUid}/customers/loyalty HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 62

{
  "mobile": "text",
  "mobileCountryCode": "text",
  "storeUid": "text"
}
204

No Content

No content

Get loyalty program member details for customer

get
/tenants/{tenantUid}/customers/{customerUid}/loyalty

Get loyalty program member details for customer.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
customerUidstringRequired

Reference to a Customer.

Pattern: ^[A-Za-z0-9-_]+
Responses
200

Example response

application/json
get
/tenants/{tenantUid}/customers/{customerUid}/loyalty
GET /v2/tenants/{tenantUid}/customers/{customerUid}/loyalty HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "address": "text",
  "city": "text",
  "companyName": "text",
  "countryCode": "text",
  "createdAt": "2025-10-29T06:50:46.980Z",
  "customerUid": "text",
  "customerType": "COMPANY",
  "email": "text",
  "externalId": "text",
  "firstname": "text",
  "lastModifiedAt": "2025-10-29T06:50:46.980Z",
  "lastname": "text",
  "ledgerNumber": "text",
  "mobile": "text",
  "postalCode": "text",
  "pricelistUid": "text",
  "vatNumber": "text",
  "origin": "text"
}

Enroll existing customer to loyalty program

post
/tenants/{tenantUid}/customers/{customerUid}/loyalty

Enroll existing customer to loyalty program. The store is where the enroll is made from.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
customerUidstringRequired

Reference to a Customer.

Pattern: ^[A-Za-z0-9-_]+
Body
storeUidstringRequiredPattern: ^[A-Za-z0-9-_]+
Responses
200

Example response

application/json
post
/tenants/{tenantUid}/customers/{customerUid}/loyalty
POST /v2/tenants/{tenantUid}/customers/{customerUid}/loyalty HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 19

{
  "storeUid": "text"
}
200

Example response

{
  "address": "text",
  "city": "text",
  "companyName": "text",
  "countryCode": "text",
  "createdAt": "2025-10-29T06:50:46.980Z",
  "customerUid": "text",
  "customerType": "COMPANY",
  "email": "text",
  "externalId": "text",
  "firstname": "text",
  "lastModifiedAt": "2025-10-29T06:50:46.980Z",
  "lastname": "text",
  "ledgerNumber": "text",
  "mobile": "text",
  "postalCode": "text",
  "pricelistUid": "text",
  "vatNumber": "text",
  "origin": "text",
  "addresses": [
    {
      "address": "text",
      "city": "text",
      "companyName": "text",
      "firstname": "text",
      "lastname": "text",
      "countryCode": "text",
      "email": "text",
      "phone": "text",
      "postalCode": "text",
      "type": "DELIVERY_ADDRESS",
      "customerAddressUid": "text",
      "displayName": "text"
    }
  ],
  "contacts": [
    {
      "firstname": "text",
      "lastname": "text",
      "email": "text",
      "mobile": "text",
      "createdAt": "2025-10-29T06:50:46.980Z",
      "lastModifiedAt": "2025-10-29T06:50:46.980Z",
      "customerContactUid": "text",
      "extensions": [
        {
          "extensionCode": "TWO_INVOICE",
          "organizationUid": "text"
        }
      ],
      "displayName": "text"
    }
  ],
  "extensions": [
    {
      "extensionCode": "TWO_INVOICE",
      "organizationUid": "text"
    }
  ],
  "consents": [
    {
      "consentUid": "text",
      "name": "text",
      "status": true,
      "source": "text",
      "createdAt": "2025-10-29T06:50:46.980Z"
    }
  ],
  "loyaltyId": "text",
  "displayName": "text",
  "credit": {
    "limit": 1,
    "balance": 1
  },
  "paymentTerms": 1,
  "internalNote": "text",
  "accountManager": {
    "tenantUserUid": "text",
    "displayName": "text",
    "userCode": "text"
  },
  "ehfEnabled": true,
  "customerGroupUids": [
    "text"
  ]
}

List loyalty program discounts for customer

get
/tenants/{tenantUid}/customers/{customerUid}/loyalty/discounts

List available loyalty program member discounts for customer.

Authorizations
Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
customerUidstringRequired

Reference to a Customer.

Pattern: ^[A-Za-z0-9-_]+
Responses
200

Example response

application/json
get
/tenants/{tenantUid}/customers/{customerUid}/loyalty/discounts
GET /v2/tenants/{tenantUid}/customers/{customerUid}/loyalty/discounts HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Example response

{
  "items": [
    {
      "discountCode": "text",
      "title": "text",
      "description": "text",
      "validFrom": "2025-10-29T06:50:46.980Z",
      "validTo": "2025-10-29T06:50:46.980Z",
      "discountType": "PERCENTAGE",
      "discountValue": 1,
      "maxUsage": 1,
      "timesUsed": 1,
      "productSkus": [
        "text"
      ]
    }
  ]
}

Was this helpful?