<- Loyalty API

Loyalty API

Accumulate loyalty points

POST

 /v2/loyalty/accounts/{account_id}/accumulate

Adds points earned from a purchase to a loyalty account.

  • If you are using the Orders API to manage orders, provide the order_id. Square reads the order to compute the points earned from both the base loyalty program and an associated loyalty promotion. For purchases that qualify for multiple accrual rules, Square computes points based on the accrual rule that grants the most points. For purchases that qualify for multiple promotions, Square computes points based on the most recently created promotion. A purchase must first qualify for program points to be eligible for promotion points.

  • If you are not using the Orders API to manage orders, provide points with the number of points to add. You must first perform a client-side computation of the points earned from the loyalty program and loyalty promotion. For spend-based and visit-based programs, you can call CalculateLoyaltyPoints to compute the points earned from the base loyalty program. For information about computing points earned from a loyalty promotion, see Calculating promotion points.

Permissions:LOYALTY_WRITE
Try in API Explorer
Link to section

Path parameters

Example code

Link to section

account_id

string

Required

The ID of the target loyalty account.

Link to section

Request body

Link to section

accumulate_points

Required

The points to add to the account. If you are using the Orders API to manage orders, specify the order ID. Otherwise, specify the points to add.

Link to section

idempotency_key

string

Required

A unique string that identifies the AccumulateLoyaltyPoints request. Keys can be any valid string but must be unique for every request.

Link to section

location_id

string

Required

The location where the purchase was made.

Link to section

Response fields

Link to section

errors

Any errors that occurred during the request.

Link to section

event

Deprecated

The resulting loyalty event. Starting in Square version 2022-08-17, this field is no longer returned.

Link to section

events

The resulting loyalty events. If the purchase qualifies for points, the ACCUMULATE_POINTS event is always included. When using the Orders API, the ACCUMULATE_PROMOTION_POINTS event is included if the purchase also qualifies for a loyalty promotion.