---
title: "Creates a challenge (OTP) to confirm that the customer is the owner of the points"
method: POST
path: "/v1/pvt/POS/customers/{id}/challenge"
tags: ["POS"]
---

# Creates a challenge (OTP) to confirm that the customer is the owner of the points

`POST /v1/pvt/POS/customers/{id}/challenge`

When this endpoint is called BonifiQ sends a unique PIN code to the customer Phone (SMS) or E-mail.

The customer must inform this number in the /challengevalidate endpoint call

## Path parameters

- `id` string, required

## Request body

- CustomerChallengeRequest
  - `TransactionId` string, nullable — This is a unique ID that is used to identify this request. Can be any string that is linked to the currente purchase. If no ID is available, the current timestamp can be used
  - `Phone` string, nullable — If the customers dont have a phone number in BonifiQ yet it can be informed by the customer. BonifiQ can use this number to execute the challenge
  - `Email` string, nullable — If the customer dont have an e-mail address yet in BonifiQ it can be informed by the customer. BonifiQ can use this address to execute the challenge
  - `Document` string, nullable — Customer document. Used only when a new customer is created by this challenge flow.
  - `Name` string, nullable — Customer name. Used only when a new customer is created by this challenge flow.

## Response `200`

- CustomerChallengeResponse
  - `Success` boolean — If true, the challenge was successfuly sent
  - `FriendlyErrorMessage` string — If Success=false them this field will display some helpful message
  - `ShouldInformPhone` boolean — Is Success=False and this field is true them the customer Phone must be informed in a new request call
  - `ShouldInformEmail` boolean — Is Success=False and this field is true them the customer Email must be informed in a new request call
  - `SentBySMS` boolean — If true, the challenge PIN was sent by SMS
  - `SentByEmail` boolean — If true, the challenge PIN was sent by Email
  - `TransactionId` string, nullable — Same Transaction ID as informed in the request
  - `ErrorMessage` string, nullable — If Success=false this field will show information regarding the problem
  - `Code` string — The code sent to the customer

---

[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/1c29e55baf55/schema)
