Skip to main content
POST
/
v2
/
loyalties
/
programs
/
{programId}
/
members
/
{memberId}
/
cards
/
{cardId}
/
points
Adjust card points
curl --request POST \
  --url https://api.voucherify.io/v2/loyalties/programs/{programId}/members/{memberId}/cards/{cardId}/points \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'X-App-Id: <api-key>' \
  --header 'X-App-Token: <api-key>' \
  --data '
{
  "points": -1,
  "reason": "<string>"
}
'
{
  "status": "TRANSACTION_CREATED",
  "message": "<string>",
  "transaction": {
    "id": "<string>",
    "card_id": "<string>",
    "program_id": "<string>",
    "member_id": "<string>",
    "card_definition_id": "<string>",
    "card_type": "<string>",
    "type": "ADMIN_CREDIT",
    "details": {
      "reason": "<string>",
      "metadata": {},
      "rejection": {
        "reason": "<string>",
        "details": "<string>"
      },
      "points": {
        "total": 123,
        "expiration_date": "2023-12-25",
        "expiration_type": "<string>",
        "date": "2023-12-25",
        "type": "<string>"
      },
      "result": {},
      "reward_id": "<string>",
      "bucket": {}
    },
    "status": "PENDING",
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.voucherify.io/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

X-App-Id
string
header
required
X-App-Token
string
header
required

Path Parameters

programId
string
required

Unique program identifier

memberId
string
required

Unique member identifier

cardId
string
required

Unique card identifier

Body

application/json
points
integer
required

Points to adjust. Positive values add points (ADMIN_CREDIT), negative values subtract points (ADMIN_DEBIT). Zero results in no change.

Required range: -2147483648 <= x <= 2147483647
reason
string

Optional reason for the adjustment

Maximum string length: 255

Response

Points adjustment result

Result of a manual points adjustment operation

status
enum<string>

TRANSACTION_CREATED when points were adjusted. NO_CHANGE when amount was zero.

Available options:
TRANSACTION_CREATED,
NO_CHANGE
message
string

Human-readable result message

Examples:

"Points addition transaction created"

"Points subtraction transaction created"

"Provided amount is zero, transaction was not created"

transaction
object

The created transaction (null when status is NO_CHANGE)

Last modified on May 11, 2026