v1

latestOpenAPI 3.0.12026-07-24501176.6 MB

Revoke a Loyalty Promotion

Revokes a customer's enrollment or opt-in from a v3 unified loyalty promotion.

post/v3/promotions/revoke

Query parameters

revokeAllEnrollmentsboolean

When true, revokes all active enrollments for the customer on the specified promotion. Only valid with action=REVOKE_ENROLL. Cannot be used together with revokeAllOptIns=true.

revokeAllOptInsboolean

When true, revokes all active opt-ins for the customer on the specified promotion. Only valid with action=REVOKE_OPTIN. Cannot be used together with revokeAllEnrollments=true.

Headers

Authorizationstring required
Example:Basic {token}
Content-Typestring required
Example:application/json

Request body

requestIdstring

A plain string reference identifier for this revoke request. Each requestId must be unique per org — duplicate values are rejected.

action'REVOKE_ENROLL' | 'REVOKE_OPTIN' required

The revoke action to perform. Case-sensitive.

programIdinteger required

Unique identifier of the loyalty program.

optOutDatestring

ISO-8601 timestamp to retroactively stamp as the revoke date. Must not be in the future.

storeUnitIdinteger

Till ID to stamp on the event log for the revoke and any cascade. Falls back to the authenticated user's till when omitted.

Example request

{
  "requestId": "revoke-enroll-20260512-001",
  "action": "REVOKE_ENROLL",
  "programId": 3390,
  "promotion": {
    "promotionId": 1133617579,
    "promotionIdentifier": "46be2caf-1227-44bc-a770-5fa194dc14ea"
  },
  "customers": [
    {
      "identifierName": "id",
      "identifierValue": "388995213",
      "source": "INSTORE",
      "enrollmentIds": [
        227111
      ],
      "optInIds": [
        188472
      ]
    }
  ],
  "optOutDate": "2026-04-25T00:59:35+05:30",
  "storeUnitId": 75032301,
  "sourceDetails": {
    "source": "CRM_SYSTEM",
    "sourceId": "WF-20260512-001",
    "sourceActivity": "CUSTOMER_SUPPORT_REVOKE",
    "sourceMetadata": {
      "revokedBy": 50045123,
      "reason": "Customer requested removal from promotion",
      "notes": "Verified via support ticket"
    }
  }
}

Response

Revoke processed. Check data.status and customerResults[].status for per-customer outcomes.

Example response

{
  "data": {
    "requestId": "revoke-enroll-20260512-001",
    "action": "REVOKE_ENROLL",
    "status": "SUCCESS",
    "promotionId": 1133617579,
    "promotionIdentifier": "46be2caf-1227-44bc-a770-5fa194dc14ea",
    "totalCount": 1,
    "customerResults": [
      {
        "identifierName": "id",
        "identifierValue": "388995213",
        "customerId": 388995213,
        "revokedEnrollmentIds": [
          227111
        ],
        "revokedOptInIds": [],
        "status": "SUCCESS",
        "errors": [],
        "warnings": []
      }
    ]
  }
}