Transfer Customer Points

Transfers points from one customer account to another customer account by validating the OTP issued for the points transfer.

  • Rate limiter controls the number of incoming and outgoing traffic of a network
  • Authentication verifies the identity of the current user or integration.
    See Introduction > Authentication (Merchant Setup on Admin Portal) for more details

Body Parameter

Parameter

Type

Description

pointsToBeTransferred

Integer

Number of points to be transferred.

programId

Integer

Program ID from which points has to be transferred.

fromCustomerIdentifier

Object

Details of source customer - customer that wants to transfer points.

toCustomerIdentifier

Object

Details of destination customer - customer to whom the points have to be transferred.

type

String

Customer identifier type.
Values: ID (user id of the customer), MOBILE, EXTERNAL_ID, EMAIL.

value

String

The value of the specified identifier.

groupProgramTransfer

Boolean

Indicates whether the transfer is part of a group program. (true/false)

code

String

Pass the OTP received by the fromCustomer for the current points transfer. To issue OTP, use either /isPointsTransferreable or /issuePointsTransferOtp. This is not mandatory is required only if you have set issueOtp to true in this API .

{
   "pointsTobeTransferred":1000,
   "groupProgramTransfer": "false",
   "programId": 973,
    "fromCustomerIdentifier": {
        "type": "MOBILE",
        "value": "9148574269"
    },
    "toCustomerIdentifier": {
        "type": "ID",
        "value": "565039506"
    }
}

Response Parameter

ParameterTypeDescription
toEntityIdIntegerUnique ID of the recipient customer
toEntityTypeStringType of recipient entity
fromEntityIdIntegerUnique ID of the sender customer
fromEntityTypeStringType of sender entity
pointsTransferDateStringTimestamp when transfer occurred in format: YYYY-MM-DD HH:MM:SS
pointsTransferredFloatTotal number of points transferred
transferIdIntegerUnique transaction ID for this transfer
transferTypeStringTransfer operation type (e.g: "DEDUCTION" for sender side)
-transferredFromObjectDetails about the sender
-userIdIntegerSender's user ID
-firstNameStringSender's first name
-lastNameStringSender's last name
transferredToObjectDetails about the recipient
-userIdIntegerRecipient's user ID
-firstNameStringRecipient's first name
-lastNameStringRecipient's last name
-notesStringAdditional notes about the transfer
-programNameStringName of the loyalty program used
pointsTransferBreakupByEarningProgramsObjectBreakdown of points by sub-program
-programIdIntegerID of the earning sub-program
-deductedPointsFloatPoints deducted from this program
-programCurrentPointsIntegerRemaining points balance in this program
warningsArrayList of non-critical warnings (if any)
errorsArrayList of errors if transfer failed (empty on success)
{
    "data": [
        {
            "toEntityId": 565039506,
            "toEntityType": "CUSTOMER",
            "fromEntityId": 565039505,
            "fromEntityType": "CUSTOMER",
            "pointsTransferDate": "2025-06-02 07:24:58",
            "pointsTransferred": 2000.0,
            "transferId": 1037890,
            "transferType": "DEDUCTION",
            "transferredFrom": {
                "userId": 565039505,
                "firstName": "",
                "lastName": ""
            },
            "transferredTo": {
                "userId": 565039506,
                "firstName": "Madhurima",
                "lastName": "Basak"
            },
            "notes": "",
            "programName": "DocDemoDefaultProgram",
            "pointsTransferBreakupByEarningPrograms": [
                {
                    "programId": 973,
                    "deductedPoints": 1000.000,
                    "programCurrentPoints": 7500
                }
            ]
        }
    ],
    "warnings": [],
    "errors": []
}

API specific error code

Error CodeDescriptionReason
3316group redemption action executed for non group redemption payloadthe value in groupProgramTransfer parameter passed as "true" when identifier belong to non group entity
807Redemptions points not divisibleOnly whole numbers are valid in pointsTobeTransferred parameter
885Invalid program id passedInvalid or missing programId
8013Lookup,Invalid identifier passedInvalid or missing "type" in fromCustomerIdentifieror toCustomerIdentifier parameter
8015Customer not found for the given identifiersInvalid or missing "value" in fromCustomerIdentifieror toCustomerIdentifier parameter
Language
Credentials
Basic
base64
:
URL
Click Try It! to start a request and see the response here!