---
title: "Retrieve the amount of points of a given customer using a body-based customer identifier."
method: POST
path: "/v1/pvt/Customer/points"
tags: ["Customer"]
---

# Retrieve the amount of points of a given customer using a body-based customer identifier.

`POST /v1/pvt/Customer/points`

## Request

- Base URL: `https://api.bonifiq.com.br`
- URL: `https://api.bonifiq.com.br/v1/pvt/Customer/points`
- Auth: HTTP basic

## Request body

- ExternalApiCustomerOriginalIdRequest: Request used by private endpoints that identify the customer in the body.
  - `CustomerId` string: Legacy customer identifier used by the merchant platform. This field remains required. When `Checkout.CustomerOriginalIdSource` is configured as `document` or `email`, BonifiQ ignores this value for lookup and uses the configured `Customer` field instead.
  - `Customer` ExternalApiCustomerIdentifierRequest: Optional customer identifiers used when the tenant configuration changes which value is used as the customer's OriginalId.
    - `Document` string, nullable: Customer document. Required when `Checkout.CustomerOriginalIdSource` is set to `document`. The value is normalized to digits only before the customer lookup.
    - `Email` string, nullable: Customer e-mail. Required when `Checkout.CustomerOriginalIdSource` is set to `email`.

## Response `200`

- CustomerPointsResponse: Customer Points Response Model
  - `CustomerExists` boolean: If True the customer was found on the Bonifiq DB
  - `InternalId` string: ID for this customer on the Bonifiq DB
  - `PointsBalance` integer: Amount of points for this customer.
  - `PointsToExpire` object[]: Points to expire, ordered by expiration date. A batch with no expiration date of its own gets an estimated date, which may not happen.
    - `Points` integer: Amount of Points
    - `Cashback` number, nullable: Cashback value represented by the expiring points
    - `When` string, date-time: Expiration Date of the points
  - `NextPointsToExpire` CustomerPointsToExpire: Customer Points to expire Model
    - `Points` integer: Amount of Points
    - `Cashback` number, nullable: Cashback value represented by the expiring points
    - `When` string, date-time: Expiration Date of the points
  - `CashbackBalance` number: When the cashback reward is active it returns the amount (in R$) of cashback the customer have Returns 0 when the cashback is inactive
  - `RedeemKey` string, nullable: Returns a key for this given point change
  - `PointHistory` object[]: A detailed list of point transactions for the customer.
    - `Id` integer: The unique identifier for the point transaction.
    - `IsCanceled` boolean: Indicates whether this history item was canceled.
    - `DateReceived` string, date-time: The date when the points were received or redeemed.
    - `ExpirationDate` string, date-time, nullable: The calculated expiration date for these points.
    - `Amount` integer: The amount of points in this transaction (positive for received, negative for redeemed).
    - `CashbackAmount` number, nullable: The amount of cashback associated with this transaction, if applicable.
    - `BranchId` string, nullable: The ID of the branch associated with the point transaction (if applicable, e.g., from an order).
    - `BranchName` string, nullable: The name of the branch associated with the point transaction (if applicable, e.g., from an order).
    - `OrderOrigin` 0 | 1 | 2 | 3 | 4: 0 = Integration 1 = API 2 = Import 3 = PDV 4 = OfflineIntegration
    - `OrderOriginDescription` string, nullable: Human-readable description for the order origin when the point comes from a purchase order.
    - `PointType` integer, nullable: The type of the point transaction (e.g., Purchase, Signup, Birthday, etc.).
    - `PointTypeDescription` string, nullable: Human-readable description of the point type.
    - `OrderValue` number, nullable
    - `OrderId` string, nullable
  - `PendingOrders` object[]: Most recent orders still waiting to receive purchase points, with the estimated points and cashback. The estimate may change until the points are granted.
    - `OrderId` string, nullable: Order id from the client's store.
    - `OrderDate` string, date-time: Order date informed by the integration.
    - `OrderValue` number: Order amount considered for point calculation.
    - `PendingPoints` integer: Estimated points to be granted for this order.
    - `PendingCashback` number, nullable: Estimated cashback equivalent for this order when cashback is active. Otherwise null.
  - `Name` string

## Changes

- **2026-10-20** `7e56e33f7825`: 1 info
  - added the optional property `NextPointsToExpire` to the response with the `200` status
- **2026-10-06** `d30d10ada229`: 1 info
  - added the optional property `PendingOrders` to the response with the `200` status
- **2026-07-21** `760e443ffa9b`: 2 info
  - added the optional property `PointHistory/items/oneOf[#/components/schemas/PointDetailItem]/OrderId` to the response with the `200` status
  - added the optional property `PointHistory/items/oneOf[#/components/schemas/PointDetailItem]/OrderValue` to the response with the `200` status

[Operation history](https://skmtc.dev/bonifiq/apis/bonifiq-private-apis/changes/v1/pvt/Customer/points/post.md)

---

[API](https://skmtc.dev/bonifiq/apis/bonifiq-private-apis.md) - [All operations](https://skmtc.dev/bonifiq/apis/bonifiq-private-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/bonifiq/apis/bonifiq-private-apis/revisions/bac0977b23d5?raw)
