• Example searches: “transaction”, “CreateOrder”, “/v2/locations”, “inventory”, “delete customer”

You are viewing an old version of the 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.

Name Description
account_id
string

Required

The ID of the target loyalty account.

Name Description
accumulate_points
LoyaltyEventAccumulatePoints

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.

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.

Min Length 1 Max Length 128
location_id
string

Required

The location where the purchase was made.

Response Fields

Name Description
errors
Error [ ]

Any errors that occurred during the request.

event
LoyaltyEvent

Deprecated

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

events
LoyaltyEvent [ ]

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.

Examples

You are viewing an old version of the API
POST /v2/loyalty/accounts/{account_id}/accumulate
cURL
  • cURL
  • Ruby
  • Python
  • C#
  • Java
  • PHP
  • Node.js
curl https://connect.squareup.com/v2/loyalty/accounts/5adcb100-07f1-4ee7-b8c6-6bb9ebc474bd/accumulate \
  -X POST \
  -H 'Square-Version: 2022-09-21' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "accumulate_points": {
      "order_id": "RFZfrdtm3mhO1oGzf5Cx7fEMsmGZY"
    },
    "location_id": "P034NEENMD09F",
    "idempotency_key": "58b90739-c3e8-4b11-85f7-e636d48d72cb"
  }'
Response JSON
{
  "events": [
    {
      "id": "ee46aafd-1af6-3695-a385-276e2ef0be26",
      "type": "ACCUMULATE_POINTS",
      "created_at": "2020-05-08T21:41:12Z",
      "accumulate_points": {
        "loyalty_program_id": "d619f755-2d17-41f3-990d-c04ecedd64dd",
        "points": 6,
        "order_id": "RFZfrdtm3mhO1oGzf5Cx7fEMsmGZY"
      },
      "loyalty_account_id": "5adcb100-07f1-4ee7-b8c6-6bb9ebc474bd",
      "location_id": "P034NEENMD09F",
      "source": "LOYALTY_API"
    }
  ]
}