Get Member Promotion Explode Details

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

Returns the full participation history for a specific promotion for a member, including enrollment and opt-in timeline details, promotion metadata, and promotion-level custom fields. 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/388757266/promotions/1133608813?memberEnrollmentStatus=AVAILABLE_TO_REDEEM" \
  -H "Authorization: Basic dGlsbGhnXXXXXXXX"

Prerequisites

  • Authentication: Basic authentication. Provide a valid Authorization header.
  • The member must exist in the org.
  • The promotion must be in ACTIVE, PAUSED, or STOPPED status.

Resource information

PaginationNo
Batch supportNo

Path parameters

FieldTypeRequiredDescription
memberIdLongYesUnique identifier of the member.
promotionIdLongYesUnique identifier of the promotion. Must resolve to an ACTIVE, PAUSED, or STOPPED promotion.

Query parameters

FieldTypeRequiredDescription
memberEnrollmentStatusStringOptionalFilters the returned participation timeline by enrollment status. Supported values: PENDING_ENROLLMENT, PENDING_OPT_IN, AVAILABLE_TO_REDEEM, REDEEMED, EXPIRED. Case-sensitive.
promotionIdentifierStringOptionalFilters results to a specific promotion by its unique string identifier. Must resolve to an ACTIVE, PAUSED, or STOPPED promotion, otherwise error 310193 is returned.

API Quick Reference

GET /v3/members/{memberId}/promotions/{promotionId}
└─ response
    ├─ memberId (number)
    └─ promotions []
        ├─ promotionId (number)
        ├─ promotionName (string)
        ├─ programId (number)
        ├─ startDateISO (string)
        ├─ endDateISO (string)
        ├─ timezoneName (string)
        ├─ promotionIdentifier (string)
        ├─ unifiedPromotionId (string)
        ├─ description (string)
        ├─ active (boolean)
        ├─ optInStartDateISO (string)
        ├─ optInEndDateISO (string)
        ├─ promotionCustomFields []
        │   ├─ key (string)
        │   ├─ value (string)
        │   └─ brandDefined (boolean)
        └─ customerPromotionTimelines []
            └─ enrollmentDetails []
                ├─ enrollmentId (number)
                ├─ enrollmentDateISO (string)
                ├─ enrollmentExpiryDateISO (string)
                ├─ enrollEventLogId (number)
                ├─ active (boolean)
                └─ optInDetails []
                    ├─ optInId (number)
                    ├─ optInDateISO (string)
                    ├─ optInExpiryDateISO (string)
                    ├─ optInEventLogId (number)
                    ├─ optInProcessingDateISO (string)
                    └─ active (boolean)

Example response

{
    "memberId": 388757266,
    "promotions": [
        {
            "promotionId": 1133608813,
            "promotionName": "test-loyalty-promo-123",
            "programId": 2607,
            "startDateISO": "2026-03-01T00:00:00+05:30",
            "endDateISO": "2026-04-01T23:59:59+05:30",
            "timezoneName": "Asia/Kolkata",
            "promotionIdentifier": "2dac55ea-2ae8-486a-bed1-0c7992c2565c",
            "unifiedPromotionId": "abc12345-0000-4abc-8def-000000000000",
            "description": "test-loyalty-promo-123",
            "active": true,
            "promotionCustomFields": [
                { "key": "header-new", "value": "1234", "brandDefined": true },
                { "key": "xsx", "value": "4567", "brandDefined": true }
            ],
            "customerPromotionTimelines": [
                {
                    "enrollmentDetails": [
                        {
                            "enrollmentId": 222987,
                            "enrollmentDateISO": "2026-03-10T13:55:10+05:30",
                            "enrollmentExpiryDateISO": "2026-04-01T23:59:59+05:30",
                            "enrollEventLogId": 52208266,
                            "active": true,
                            "optInDetails": [
                                {
                                    "optInId": 185122,
                                    "optInDateISO": "2026-03-10T13:57:20+05:30",
                                    "optInExpiryDateISO": "2026-04-01T23:59:59+05:30",
                                    "optInEventLogId": 52208279,
                                    "optInProcessingDateISO": "2026-03-10T13:57:20+05:30",
                                    "active": true
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

Response parameters

FieldTypeDescription
.memberIdLongUnique identifier of the member.
.promotionsArrayList of promotion objects with full participation timeline details.
..promotionIdLongUnique identifier of the promotion.
..promotionNameStringThe display name of the promotion shown to members during enrollment.
..programIdIntegerThe unique identifier of the loyalty program under which this promotion operates.
..startDateISOStringIndicates the promotion's start date and time in ISO 8601 format, returned in the server time zone.

EU server example: 2026-03-01T00:00:00Z → 01 March 2026, 00:00:00 (UTC)

India server example: 2026-03-01T00:00:00+05:30 → 01 March 2026, 00:00:00 (IST)

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
..endDateISOStringIndicates the promotion's end date and time in ISO 8601 format, returned in the server time zone.

EU server example: 2026-04-01T23:59:59Z → 01 April 2026, 23:59:59 (UTC)

India server example: 2026-04-01T23:59:59+05:30 → 01 April 2026, 23:59:59 (IST)

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
..timezoneNameStringThe IANA timezone name that governs how the promotion's start, end, and opt-in dates are evaluated and displayed.
..promotionIdentifierStringUnique string identifier of the promotion.
..unifiedPromotionIdStringUUID that identifies the promotion in the Unified Promotions system.
..descriptionStringThe text describing the promotion's benefits and terms, displayed to members during enrollment.
..activeBooleanIndicates if the promotion is currently in effect and eligible for member enrollment and redemption.
..optInStartDateISOStringIndicates the start of the opt-in window in ISO 8601 format, returned in the server time zone. Returned only when an opt-in window is configured for the promotion.

EU server example: 2026-03-01T00:00:00Z → 01 March 2026, 00:00:00 (UTC)

India server example: 2026-03-01T00:00:00+05:30 → 01 March 2026, 00:00:00 (IST)

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
..optInEndDateISOStringIndicates the end of the opt-in window in ISO 8601 format, returned in the server time zone. Returned only when an opt-in window is configured for the promotion.

EU server example: 2026-03-15T23:59:59Z → 15 March 2026, 23:59:59 (UTC)

India server example: 2026-03-15T23:59:59+05:30 → 15 March 2026, 23:59:59 (IST)

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
..promotionCustomFieldsArrayCustom key-value fields configured at the promotion level to store brand-specific metadata.
...keyStringThe identifier for the custom field used to reference its associated value.
...valueStringThe data stored for this custom field, as configured by the brand during promotion setup.
...brandDefinedBooleanIndicates if the custom field is part of the brand's configuration, as opposed to a system-provided default.
..customerPromotionTimelinesArrayA chronological record of the member's enrollment, opt-in, and redemption milestones for this promotion.
...enrollmentDetailsArraySequential records of the member's enrollment events, each capturing a distinct enrollment period and its status.
....enrollmentIdLongThe system-generated ID that uniquely identifies this specific enrollment instance.
....enrollmentDateISOStringIndicates the date and time the member enrolled, in ISO 8601 format, returned in the server time zone.

EU server example: 2026-03-10T08:25:10Z → 10 March 2026, 08:25:10 (UTC)

India server example: 2026-03-10T13:55:10+05:30 → 10 March 2026, 13:55:10 (IST)

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
....enrollmentExpiryDateISOStringIndicates the enrollment expiry date and time in ISO 8601 format, returned in the server time zone.

EU server example: 2026-04-01T18:29:59Z → 01 April 2026, 18:29:59 (UTC)

India server example: 2026-04-01T23:59:59+05:30 → 01 April 2026, 23:59:59 (IST)

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
....enrollEventLogIdLongEvent log ID for the enrollment event.
....activeBooleanIndicates if the member's current enrollment is valid and eligible for earning and redemption.
....optInDetailsArrayRecords of opt-in events associated with this enrollment, capturing when the member consented to participate.
.....optInIdLongThe system-generated ID that uniquely identifies this specific opt-in instance.
.....optInDateISOStringIndicates the date and time the member opted in, in ISO 8601 format, returned in the server time zone.

EU server example: 2026-03-10T08:27:20Z → 10 March 2026, 08:27:20 (UTC)

India server example: 2026-03-10T13:57:20+05:30 → 10 March 2026, 13:57:20 (IST)

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
.....optInExpiryDateISOStringIndicates the opt-in expiry date and time in ISO 8601 format, returned in the server time zone.

EU server example: 2026-04-01T18:29:59Z → 01 April 2026, 18:29:59 (UTC)

India server example: 2026-04-01T23:59:59+05:30 → 01 April 2026, 23:59:59 (IST)

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
.....optInEventLogIdLongThe identifier referencing the event log entry for the opt-in action, enabling audit and historical tracking.
.....optInProcessingDateISOStringIndicates the date and time the opt-in was processed by the system, in ISO 8601 format, returned in the server time zone.

EU server example: 2026-03-10T08:27:20Z → 10 March 2026, 08:27:20 (UTC)

India server example: 2026-03-10T13:57:20+05:30 → 10 March 2026, 13:57:20 (IST)

Note: The response time zone always matches the server time zone, regardless of the time zone offset in the request.
.....activeBooleanIndicates if the member's opt-in is currently valid and the promotion terms remain applicable to the member.

Error and warning codes

CodeTypeDescription
310192ErrorMember not found for the given memberId. Use a valid memberId.
310194ErrorNo ACTIVE, PAUSED, or STOPPED promotion found for the given promotionId. Use a valid promotionId.
310193ErrorNo ACTIVE, PAUSED, or STOPPED promotion found for the given promotionIdentifier. Use a valid promotionIdentifier.
310196ErrorInvalid value for memberEnrollmentStatus. Supported values: PENDING_ENROLLMENT, PENDING_OPT_IN, AVAILABLE_TO_REDEEM, REDEEMED, EXPIRED.
500ErrorInternal server error. Retry the request after a short delay.
Path Params
int64
required
int64
required
Query Params
string
enum
Allowed:
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