Loyalty cards

Update loyalty card

Changed on

[!note] Management API endpoints are not meant to be used in real-time integrations that directly serve your end users. Rate limit: 3 requests per second.

Update the details of a specific loyalty card. You can set the card's status to active or inactive through this endpoint. At least one of status or attributes must be provided.

put/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}

Request

Path parameters

loyaltyProgramIdinteger required

Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the List loyalty programs endpoint.

loyaltyCardIdstring required

Identifier of the loyalty card. You can get the identifier with the List loyalty cards endpoint.

Important: The loyalty card ID requires URL encoding if it contains special characters. For example, you must encode NewCard2026% as NewCard2026%25.

Request body

statusstring

Status of the loyalty card. Can be active or inactive.

attributesobject

Set values for the custom attributes of a loyalty card. These attributes must be created in the Campaign Manager before their values can be updated through this endpoint.

Example request

{
  "status": "active",
  "attributes": {
    "PIN": 1234,
    "Language": "DE"
  }
}

Response

OK

idinteger required

The internal ID of this entity.

createdstring date-time required

The time this entity was created.

programIDinteger required

The ID of the loyalty program that owns this entity.

programNamestring

The integration name of the loyalty program that owns this entity.

programTitlestring

The Campaign Manager-displayed name of the loyalty program that owns this entity.

statusstring required

Status of the loyalty card. Can be active or inactive.

blockReasonstring

Reason for transferring and blocking the loyalty card.

attributesobject

Set values for the custom attributes of a loyalty card. These attributes must be created in the Campaign Manager before their values can be updated through this endpoint.

identifierstring required

The identifier of the loyalty card, which must match the regular expression ^[A-Za-z0-9._%+@-]+$.

usersPerCardLimitinteger required

The max amount of customer profiles that can be linked to the card. 0 means unlimited.

subledgersobject

Displays point balances of the card in the subledgers of the loyalty program.

modifiedstring date-time

Timestamp of the most recent update of the loyalty card.

oldCardIdentifierstring

The identifier of the loyalty card, which must match the regular expression ^[A-Za-z0-9._%+@-]+$.

newCardIdentifierstring

The identifier of the loyalty card, which must match the regular expression ^[A-Za-z0-9._%+@-]+$.

batchIdstring

The ID of the batch in which the loyalty card was created.

Example response

{
  "id": 6,
  "created": "2020-06-10T09:05:27.993483Z",
  "programID": 125,
  "programName": "Loyalty_program",
  "programTitle": "Loyalty program",
  "status": "active",
  "blockReason": "Current card lost. Customer needs a new card.",
  "attributes": {
    "PIN": 1234,
    "Language": "DE"
  },
  "identifier": "summer-loyalty-card-0543",
  "usersPerCardLimit": 111,
  "profiles": [
    {
      "integrationId": "R195412",
      "timestamp": "2021-09-12T10:12:42Z"
    }
  ],
  "ledger": {
    "currentBalance": 100,
    "pendingBalance": 10,
    "negativeBalance": 10,
    "tentativeCurrentBalance": 100,
    "tentativePendingBalance": 20,
    "tentativeNegativeBalance": 100,
    "currentTier": {
      "id": 11,
      "name": "bronze",
      "startDate": "2025-05-03T12:32:00Z07:00",
      "expiryDate": "2026-08-02T15:04:05+07:00",
      "downgradePolicy": "one_down",
      "source": "points",
      "reason": "Subscription to newsletter"
    },
    "pointsToNextTier": 20,
    "nextTierName": "Silver"
  },
  "modified": "2021-09-12T10:12:42Z",
  "oldCardIdentifier": "summer-loyalty-card-0543",
  "newCardIdentifier": "summer-loyalty-card-0543",
  "batchId": "wdefpov"
}

Changes

    • info

      added the new optional request property

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property //// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status