Get Customer Promotion Details

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Retrieves a consolidated benefits summary for a specific customer in a loyalty promotion, including points earned by category, alternate currencies, and a unified list of all incentive actions such as rewards, coupons, badges, tier upgrades, and enrolment events.

What this API supports

  • Retrieve all points, alternate currencies, and incentive actions earned by a customer for a specific promotion in a single response.
  • Filter results by promotion activity using the optional activityId parameter.
  • Returns a unified incentives array covering all action types: rewards, coupons, badges, tier upgrades, enrolment, and opt-in events.
  • Supports promotions created on both the old and new loyalty promotion UI.

Limits and configuration

  • Returns benefits earned on or after June 12, 2025 only. Benefits earned before that date are not included.
  • Both programId and promotionId are required — the API will not return results without them.
👍

Notes

  • For detailed information about our APIs and for hands-on testing, refer to the API overview and the Make your first API call guide.
  • This API only lists benefits earned from a promotion on or after June 12, 2025. Benefits earned before that date are not included.
  • This API fetches results for loyalty promotions created on the old UI and new UI.
  • To retrieve the same benefits using customer identifiers (mobile number, external ID) instead of a customer ID, use Get Loyalty Promotion Benefits for Customer.

Prerequisites

  • Authentication: Basic/OAuth authentication
  • Default access group
  • programId and promotionId

Resource information

PaginationNo
Batch supportNo

Example request

curl -X GET "https://{host}/v3/customers/388597285/customerPromotionDetails/actionSummary?programId=3334&promotionId=1133600978" \
  -H "Authorization: Basic dGlsbGhnXXXXXXXX"

Path parameters

FieldTypeRequiredDescription
customerIdLongYesUnique system-generated identifier of the customer.

Query parameters

FieldTypeRequiredDescription
programIdLongYesUnique identifier of the loyalty program. To retrieve the programId, use the Get Loyalty Programs API.
promotionIdLongYesUnique identifier of the loyalty promotion. To retrieve the promotionId, use the Get Details of all Loyalty Promotions API.
activityIdStringOptionalWhen provided, scopes the returned incentives and points to those associated with the specified activity. When omitted, all benefits across all activities are returned.

API Quick Reference

GET /v3/customers/{customerId}/customerPromotionDetails/actionSummary
└─ Response
    ├─ orgId (number)
    ├─ programId (number)
    ├─ entityId (number)
    ├─ promotionId (number)
    ├─ incentives []
    │   ├─ activityId (string)
    │   ├─ action (string)
    │   ├─ actionId (string)
    │   ├─ actionIssuedCount (number)
    │   └─ lastIssuedOn (number)
    ├─ points []
    │   ├─ pointsCategory (string)
    │   ├─ totalPointsIssued (string)
    │   ├─ numberOfTimesIssued (number)
    │   └─ lastIssuedOn (number)
    ├─ alternateCurrencies []
    │   ├─ currencyName (string)
    │   ├─ totalCurrencyIssued (string)
    │   ├─ numberOfTimesIssued (number)
    │   └─ lastIssuedOn (number)
    └─ warnings [] (string)

Example response

{
    "orgId": 51948,
    "programId": 3334,
    "entityId": 388597285,
    "promotionId": 1133600978,
    "incentives": [
        {
            "activityId": "activity_reward_1",
            "action": "REWARD",
            "actionIssuedCount": 1,
            "actionId": "133423",
            "lastIssuedOn": 1734533309000
        },
        {
            "activityId": "activity_badge_1",
            "action": "BADGES",
            "actionIssuedCount": 1,
            "actionId": "SomeBadgeId",
            "lastIssuedOn": 1734533309000
        },
        {
            "activityId": "activity_coupon_1",
            "action": "COUPONS",
            "actionIssuedCount": 1,
            "actionId": "5231232",
            "lastIssuedOn": 1734533309000
        }
    ],
    "points": [
        {
            "pointsCategory": "REGULAR_POINTS",
            "totalPointsIssued": "1234.000",
            "numberOfTimesIssued": 1,
            "lastIssuedOn": 1734533309000
        }
    ],
    "alternateCurrencies": [
        {
            "currencyName": "some_ac",
            "totalCurrencyIssued": "1234.000",
            "numberOfTimesIssued": 1,
            "lastIssuedOn": 1734533309000
        }
    ],
    "warnings": []
}
{
    "data": {
        "orgId": 51948,
        "programId": 3334,
        "entityId": 388597285,
        "promotionId": 1133600978,
        "incentives": [],
        "warnings": [
            {
                "status": false,
                "code": 8116,
                "message": "No promotion action summary found for the given promotionId"
            }
        ]
    },
    "errors": null,
    "warnings": null
}

Response parameters

FieldTypeDescription
orgIdIntegerUnique identifier of the organisation.
programIdIntegerUnique identifier of the loyalty program.
entityIdLongUnique identifier of the customer.
promotionIdLongUnique identifier of the loyalty promotion.
incentivesArrayUnified list of all non-points incentive actions earned by the customer for this promotion, including rewards, coupons, badges, tier upgrades, enrolment events, and opt-in events.
.activityIdStringIdentifier of the promotion activity that triggered this incentive. Null when the incentive is not associated with a specific activity.
.actionStringType of incentive action. Supported values: REWARD, COUPONS, BADGES, ENROL, OPTIN, UPGRADE_TIER. Case-sensitive.
.actionIdStringIdentifier of the specific benefit issued, for example a reward ID, badge ID, coupon series ID, or issual ID.
.actionIssuedCountLongNumber of times this incentive action was issued for this promotion.
.lastIssuedOnLongUTC timestamp of the most recent issuance, in milliseconds since epoch.
pointsArrayList of points earned by the customer for this promotion, grouped by category.
.pointsCategoryStringCategory of the points earned. Supported values: REGULAR_POINTS, BONUS_POINTS.
.totalPointsIssuedStringTotal points issued across all events for this category.
.numberOfTimesIssuedLongNumber of events that contributed points in this category.
.lastIssuedOnLongUTC timestamp of the most recent points issuance in this category, in milliseconds since epoch.
alternateCurrenciesArrayList of alternate currencies earned by the customer for this promotion, aggregated by currency name.
.currencyNameStringName of the alternate currency, for example STARS or COINS.
.totalCurrencyIssuedStringTotal alternate currency units issued for this promotion.
.numberOfTimesIssuedLongNumber of issuance events for this currency.
.lastIssuedOnLongUTC timestamp of the most recent alternate currency issuance, in milliseconds since epoch.
warningsArrayList of warning messages associated with the response. Empty when no warnings are present.

Error and warning codes

CodeTypeDescription
400ErrorRequired query parameter programId or promotionId is missing.
9002ErrorCustomer not found. Check that the customerId is valid.
9001ErrorProgram not found. Check that the programId is valid and belongs to your organisation.
3013ErrorPromotion not found. Check the promotionId and confirm the promotion exists for the loyalty program.
500ErrorInternal server error. Retry the request after a short delay.
8116WarningNo promotion action summary found for the given promotion. The customer has no recorded benefits for this promotion.
Path Params
int64
required
Query Params
int64
required
int64
required
string
Headers
string
required
Response

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json