List Member Promotions

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

Returns a paginated list of loyalty promotions associated with a specific member. Use the optional query parameter filters to narrow results by enrolment status, promotion identifier, or promotion ID.

Example request

curl -X GET "https://{host}/v3/members/{memberId}/promotions?page=0&size=10" \
  -H "Authorization: Basic {token}"

Prerequisites

  • Authentication: Basic authentication. Provide a valid Authorization header.
  • Default access group.

Resource information

PaginationYes
Batch supportNo

Path parameters

FieldTypeRequiredDescription
memberIdLongYesUnique customer identifier of the member.

Query parameters

FieldTypeRequiredDescription
pageIntegerOptionalPage number for pagination (0-indexed). Defaults to 0.
sizeIntegerOptionalNumber of promotions per page. Defaults to 10. Max: 20.
memberEnrollmentStatusStringOptionalFilters promotions by the member's enrolment status. Supported values: PENDING_ENROLLMENT, PENDING_OPT_IN, AVAILABLE_TO_REDEEM, REDEEMED, EXPIRED. Case-sensitive.
promotionIdentifierStringOptionalFilters by the promotion's unique string identifier. The identifier must resolve to a promotion in ACTIVE, PAUSED, or STOPPED state.
promotionIdIntegerOptionalFilters by the promotion's numeric ID. The promotion must be in ACTIVE, PAUSED, or STOPPED state.

API Quick Reference

GET /v3/members/{memberId}/promotions
   └─ Response
       ├─ pageDetails (object)
       │   ├─ pageNumber (number)
       │   ├─ pageSize (number)
       │   ├─ totalEntries (number)
       │   └─ pageCount (number)
       ├─ memberId (number)
       └─ promotions []
           ├─ promotionId (number)
           ├─ promotionName (string)
           ├─ programId (number)
           ├─ startDateISO (string)
           ├─ endDateISO (string)
           ├─ timezoneName (string)
           ├─ promotionIdentifier (string)
           ├─ description (string)
           └─ active (boolean)

Example response

{
  "pageDetails": {
    "pageNumber": 0,
    "pageSize": 10,
    "totalEntries": 37,
    "pageCount": 4
  },
  "memberId": 388757626,
  "promotions": [
    {
      "promotionId": 126779,
      "promotionName": "UAT ULP - Updating enrolment type using API",
      "programId": 973,
      "startDateISO": "2026-03-18T06:11:00Z",
      "endDateISO": "2026-03-19T06:11:59Z",
      "timezoneName": "Indian/Maldives",
      "promotionIdentifier": "f385f258-c315-412c-b910-7bd8a8d89427",
      "description": "UAT ULP - Updating enrolment type using API",
      "active": true
    },
    {
      "promotionId": 126635,
      "promotionName": "Single Activity Promotion2",
      "programId": 973,
      "startDateISO": "2026-03-01T05:11:00Z",
      "endDateISO": "2026-03-31T05:11:59Z",
      "timezoneName": "Asia/Kolkata",
      "promotionIdentifier": "single-activity-promotion2",
      "description": "A promotion with single activity",
      "active": true
    }
  ]
}

Response parameters

FieldTypeDescription
pageDetailsObjectPagination metadata for the response.
.pageNumberIntegerThe zero-based index of the current page in the result set.
.pageSizeIntegerThe number of promotions returned in the current page of results.
.totalEntriesIntegerThe total count of promotions matching the specified filters across all pages.
.pageCountIntegerThe total number of pages available at the specified page size.
memberIdLongThe system-generated identifier of the member whose promotions are being retrieved.
promotionsArrayThe list of promotions the member is enrolled in or eligible to participate in.
.promotionIdLongThe system-generated identifier for the promotion.
.promotionNameStringThe display name of the promotion.
.programIdIntegerThe unique identifier of the loyalty program under which this promotion operates.
.startDateISOString (date-time)

Indicates the promotion's start date and time in ISO 8601 format, returned in the server time zone.

EU server example: 2025-12-16T14:30:45Z → 16 December 2025, 14:30:45 (UTC)
India server example: 2025-12-16T14:30:45+05:30 → 16 December 2025, 14:30:45 (IST)
Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.

.endDateISOString (date-time)

Indicates the promotion's end date and time in ISO 8601 format, returned in the server time zone.

EU server example: 2025-12-16T14:30:45Z → 16 December 2025, 14:30:45 (UTC)
India server example: 2025-12-16T14:30:45+05:30 → 16 December 2025, 14:30:45 (IST)
Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.

.timezoneNameStringIANA time zone name for the promotion. This is a reference label to identify the time zone where the promotion is created.
.promotionIdentifierStringThe human-readable identifier used to reference the promotion across systems, distinct from the system-generated ID.
.descriptionStringThe text describing the promotion's offer and key benefits to the member.
.activeBooleanIndicates if the promotion is currently eligible for member enrollment and participation.

Error and warning codes

CodeTypeDescription
310192ErrorMember not found for the given memberId. Provide a valid member identifier.
310193ErrorNo ACTIVE, PAUSED, or STOPPED promotion found for the given promotionIdentifier.
310194ErrorNo ACTIVE, PAUSED, or STOPPED promotion found for the given promotionId.
310195Errorsize exceeds the maximum allowed limit of 20.
310196ErrorInvalid value for memberEnrollmentStatus. Must be one of: PENDING_ENROLLMENT, PENDING_OPT_IN, AVAILABLE_TO_REDEEM, REDEEMED, EXPIRED. Case-sensitive.
500ErrorInternal server error. Retry the request after a short delay.
Path Params
int64
required
Query Params
integer
integer
string
enum
Allowed:
string
integer
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