---
title: "Simulates purchase points for the current checkout/cart state."
method: POST
path: "/v1/pvt/Checkout/simulate"
tags: ["Checkout"]
---

# Simulates purchase points for the current checkout/cart state.

`POST /v1/pvt/Checkout/simulate`

BonifiQ fetches the checkout from the configured platform integration and uses the platform total.
Any `Total` property sent by legacy clients is ignored by model binding because it is not part of this request contract.

## Request body

- ExternalApiCheckoutSimulateRequest — Request to simulate purchase points for the current checkout/cart. The checkout total is always fetched from the platform integration.
  - `CustomerId` string, nullable — Optional customer identifier resolved according to the tenant checkout customer lookup setting.
  - `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`.
  - `CheckoutId` string — The checkout/cart ID from the e-commerce platform.

## Response `200`

The simulated purchase points and cashback.

- BaseExternalApiResponseOfCheckoutPurchasePointsSimulationResponse — Standard response envelope used by the External API.
  - `ErrorMessage` string, nullable — Error message returned when the request fails validation or processing. For warnings and successful responses, consumers should usually inspect `Result`, `Code` and `Severity` first.
  - `ErrorCode` integer, nullable — Legacy numeric error code derived from internal API errors when available. This field is relevant only for error flows that use `ApiResponseErrorDescription`.
  - `Result` CheckoutPurchasePointsSimulationResponse — Result returned by the checkout purchase points simulation operation.
    - `PurchasePoints` integer
    - `PurchaseCashback` number
    - `GenerateBonus` boolean
  - `Code` string, nullable — Endpoint-specific business code formatted as a two-digit string, such as `03` or `07`. This field is available for success, warning and error outcomes.
  - `CodeName` string, nullable — Symbolic enum name associated with `Code`, such as `CheckoutNotFound`.
  - `Severity` 0 | 1 | 2 — 0 = Success 1 = Warning 2 = Error
  - `HasWarning` boolean — Convenience flag that is `true` when `Severity` is `Warning`. Warnings are valid `200 OK` business outcomes and should not be handled as transport or validation errors.
  - `HasError` boolean — Indicates whether the request failed and should be handled as an error response. This flag is reserved for real API errors; warnings must keep this property as `false`.

---

[API](https://skmtc.net/bonifiq/apis/bonifiq-private-apis.md) · [All operations](https://skmtc.net/bonifiq/apis/bonifiq-private-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bonifiq/bonifiq-private-apis/revisions/070a57eeffdc/schema)
