Status: Stable.
Members: Add Points
Use this endpoint to award points for a settled transaction.
Endpoint
POST /api/v1/transactions/settled
Club Key
The API key identifies the club. Omit clubId from the body.
Request body
{
"partnerRef": "club_public_id",
"eventId": "event_external_id",
"occurredAt": "2026-03-25T09:00:00Z",
"member": {
"externalMemberId": "member_external_id"
},
"transaction": {
"externalTransactionId": "transaction_external_id",
"merchantId": "MID-001",
"merchantName": "Partner Merchant",
"amountMinor": 12500,
"currency": "GBP",
"settledAt": "2026-03-25T08:59:00Z"
}
}
Calculation
pointsAwarded = floor(amountMinor * earnRateBasisPoints / 10_000)
Success response
{
"ok": true,
"data": {
"eventId": "event_external_id",
"status": "processed",
"externalTransactionId": "transaction_external_id",
"pointsAwarded": 1250,
"balances": {
"pointsBalance": 3400,
"reservedPointsBalance": 0
},
"partner": {
"availablePointsPool": 98750
},
"ledgerGroupId": "settled:jh7...:transaction_external_id"
}
}
Common errors
invalid_requestunsupported_currencycardholder_not_foundinsufficient_partner_points_pool
