Update redeem points

This API allows you to add or update metadata for a point redemption. The following fields can be edited:

  • bill_id
  • bill_number
  • purpose
  • custom fields
👍

Note

For detailed information about our APIs and for hands-on testing, refer documentation in API overview and step-by-step guide on making your first API call in Make your first API call .

API specifications

FeatureAvailability
Authentication supportedBasic
PaginationNot supported
Batch supportNot supported
Access GroupYes

API endpoint example

https://eu.api.capillarytech.com/v2/points/updateRedemption

Request parameters

{
    "redemptionId": "Fnpztw",
    "billNumber": "txn-79",
    "purpose": "Update redemption details",
    "entity": {
        "type": "CUSTOMER",
        "identifierType": "mobile",
        "identifierValue": "919731013853"
    },
    "customFields": {
        "card_number": "123456"
    }
}

Request body parameters

Parameter

Data Type

Description

redemptionId*

String

A unique identifier for the redemption process. The redemptionId is generated when redeeming points using the redeem points API.

billNumber

String

A string identifier for the bill.

billId

Integer

A numerical identifier for the bill. The maximum number of supported characters is 19. Must be a positive whole number without decimals or special characters.

purpose

String

The purpose or reason for the redemption update. The maximum character limit is 255 characters.

entity

Object

An object containing details about the entity.

  • type*

Enum

The type of entity involved in the transaction. Supported values: CUSTOMER, USERGROUP2, FLEET

  • identifierType*

Enum

The type of identifier used for the entity.

  • identifierValue*

String

The value of the identifier for the entity.

customFields

Object

Object containing details of custom fields for the point redemption.

  • key <value>

String

Key-value pairs of the custom field and their respective values.
Notes:

  • Before using custom fields, ensure they are created in the organisation. For more information on creating custom fields, refer to the section on creating a new custom field.
  • You can add or edit custom fields only if you include custom field metadata during the points redemption event. Include the custom fields when redeeming points using the Redeem points API.

Note: It is mandatory to pass either redemptionId or externalReferenceNumber.

Response body

{
    "id": 26503632,
    "programId": 973,
    "pointsRedeemed": 101.0,
    "billId": -1,
    "billNumber": "txn-79",
    "validationCode": "NS3U05",
    "notes": "Redeemed to transfer points to the friend",
    "redemptionTime": 1750951708000,
    "pointsRedemptionTime": 1750931908000,
    "tillId": 75152721,
    "tillName": "",
    "pointDeductionList": [],
    "redemptionId": "Fnpztw",
    "customFields": [
        {
            "name": "card_number",
            "value": "123456"
        }
    ],
    "customerId": 564332013,
    "redemptionPurpose": "testUpdate",
    "redemptionDate": "2025-06-26T15:28:28Z",
    "warnings": []
}

Response body parameters

KeyData TypeDescription
idLongUnique ID of the customer.
programIdIntegerUnique ID of the loyalty program.
pointsRedeemedStringNumber of points redeemed during the redemption.
billIdLongUnique ID generated after a transaction.
billNumberStringUnique ID associated with the transaction. This is provided when adding a transaction.
validationCodeStringUnique code to validate the redemption.
notesStringNotes related to the redemption update, if any.
redemptionTimeDateTimestamp when the redemption event was initiated or performed
pointsRedemptionTimeDateTimestamp when the points were deducted from the warehouse or backend system.
tillIdIntegerTill ID from where the redemption occurred.
tillNameStringName of the till where the redemption occurred.
pointDeductionListObjectObject containing details of the point deduction.
redemptionIdStringUnique ID of the redemption event.
customFieldsObjectObject containing details of custom fields associated with the points redemption.
customFields.nameStringName of the custom field.
customFields.valueStringValue of the custom field.
customerIdIntegerUnique customer identifier whose points were deducted.
redemptionPurposeStringPurpose for updating the points redemption details.
redemptionDateDateDate when the redemption occurred in ISO 8601 format.
warningsObjectObject containing warnings that occured, if any.

API-specific error codes

Error CodeDescriptionReason / When It Occurs
748No metadata update requested.The request did not include any updatable fields (e.g., no new bill number, bill ID, or purpose provided).
749Exactly one redemption identifier needed to identify redemption.You must pass only one valid identifier (redemptionId, billNumber, or another allowed ID). Passing none or multiple identifiers triggers this error.
750Redemption update failed: 0.The update action failed internally, possibly due to invalid status transitions or data integrity issues. {0} provides specific details.
1219Entity details not set/invalid.The entity object is missing or its fields (type, identifierType, identifierValue) are incomplete or invalid.
1212Entity type passed is not valid.The entity.type value (e.g., CUSTOMER, groupUser) is incorrect or not supported for your configuration.
8015Invalid or malformed identifier provided in request body.The identifierValue or redemptionId is missing, incorrectly formatted, or does not exist in the system.
Language
Credentials
Basic
base64
:
URL
Click Try It! to start a request and see the response here!