> ## Documentation Index
> Fetch the complete documentation index at: https://developers.bonifiq.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Cancel an existing reward using the OriginalKey

> This endpoint requires to inform the `OriginalKey` to be cancelled. This the same field received when calling the /rewards/{id}/redeem endpoint. 

Once cancelled an Reward cannot be "uncancelled". If needed it is necessary to create a new redeem request.

This endpoint returns the cancelled reward information.



## OpenAPI

````yaml https://api.bonifiq.com.br/swagger/Private%20APIs/swagger.json delete /v1/pvt/POS/rewards
openapi: 3.0.0
info:
  title: BonifiQ Private APIs
  description: >-
    # Introduction 

    This is the BonifiQ Private APIs documentation. With these endpoints you can
    interact with BonifiQ systems and enhance your program points.


    # Limitations

    These endpoints are intended to be used in backend communication so they are
    not CORS-compatible and cannot be used by in-browser frontend libraries
    (such as React, Angular, Vue, jQuery, etc)


    If are required to call BonifiQ API from a browser, please refer to our
    [Public APIs](https://api.bonifiq.com.br/apidocs/public)


    # Authentication

    These Private APis use the [Basic
    Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication)
    scheme. You need both an API Token (Username) and API Key (Password) to use
    with it


    You can generate this key pair in BonifiQ admin panel, at the "API Keys"
    menu.


    # How to use this page

    ## Making calls

    You can simulate, test and make calls to API from this Swagger page. To do
    that:

    - Click on the **Authorize** button

    - Inform the Username (API Token) and Passwoird (API Key) and click on
    **Authorize**

    - From the list bellow, choose an API call and click on **Try it out**

    - Inform the required parameters (if any) and click on **Execute**


    ## Verifying requests and responses bodies

    In every API Call there is an explanation of what each field means, theirs
    types and accepted values for all Requests and Responses.


    To view this information, just go to any API Call bellow and in the
    Responses section, click on the Schema.
  version: 1.0.0
servers:
  - url: https://api.bonifiq.com.br
security: []
tags:
  - name: POS
    description: >-
      Flow methods to integrate BonifiQ with a POS system. Check the Flow
      Documentation link on the right
    externalDocs:
      description: Flow Documentation
      url: >-
        https://suporte.bonifiq.com.br/support/solutions/articles/159000319538-integrar-com-pdv
  - name: Checkout
    description: Operations related to checkout cashback redeem, refresh and removal
  - name: Customization
    description: Retrieve customizations for the loyalty program
  - name: Rewards
    description: Interact with rewards already redeemed
paths:
  /v1/pvt/POS/rewards:
    delete:
      tags:
        - POS
      summary: Cancel an existing reward using the OriginalKey
      description: >-
        This endpoint requires to inform the `OriginalKey` to be cancelled. This
        the same field received when calling the /rewards/{id}/redeem endpoint. 


        Once cancelled an Reward cannot be "uncancelled". If needed it is
        necessary to create a new redeem request.


        This endpoint returns the cancelled reward information.
      operationId: POS_Cancel
      requestBody:
        x-name: request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RewardCancelRequest'
        required: true
        x-position: 1
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/BaseExternalApiResponseOfRewardRedeemedResponse
      security:
        - Basic Authentication: []
components:
  schemas:
    RewardCancelRequest:
      type: object
      additionalProperties: false
      properties:
        OriginalKey:
          type: string
          description: The same `OriginalKey` used upon redeeming
    BaseExternalApiResponseOfRewardRedeemedResponse:
      type: object
      description: Standard response envelope used by the External API.
      additionalProperties: false
      properties:
        ErrorMessage:
          type: string
          description: >-
            Error message returned when the request fails validation or
            processing.

            For warnings and successful responses, consumers should usually
            inspect `Result`, `Code` and `Severity` first.
          nullable: true
        ErrorCode:
          type: integer
          description: >-
            Legacy numeric error code derived from internal API errors when
            available.

            This field is relevant only for error flows that use
            `ApiResponseErrorDescription`.
          format: int32
          nullable: true
        Result:
          description: Business payload returned by the endpoint.
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/RewardRedeemedResponse'
        Code:
          type: string
          description: >-
            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.
          nullable: true
        CodeName:
          type: string
          description: >-
            Symbolic enum name associated with `Code`, such as
            `CheckoutNotFound`.
          nullable: true
        Severity:
          description: >-
            Final severity of the response.

            `Success` means the action completed as expected, `Warning` means
            the request was valid but the business outcome is informational or
            non-ideal, and `Error` means the request should be treated as a
            failure.
          oneOf:
            - $ref: '#/components/schemas/ExternalApiResponseSeverity'
        HasWarning:
          type: boolean
          description: >-
            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:
          type: boolean
          description: >-
            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`.
    RewardRedeemedResponse:
      type: object
      additionalProperties: false
      properties:
        Id:
          type: integer
          description: Unique ID for this redeem
          format: int32
        Customer:
          description: Customer that redeemed this reward
          oneOf:
            - $ref: '#/components/schemas/CreateCustomerResponse'
        ExternalCode:
          type: string
          description: >-
            Unique external code for this redeem. Could be used for integrating
            with third-party systems
        CashValue:
          type: number
          description: >-
            If it is a Cashback or Value rewards represents the amount in cash
            (R$) given for the customer
          format: decimal
          nullable: true
        IsCanceled:
          type: boolean
          description: >-
            If true means this reward was cancelled and the points was given
            back to the customer
        RedeemDate:
          type: string
          description: Date the reward was redeemed
          format: date-time
        Points:
          description: Points record regenerated upon redeeming process
          oneOf:
            - $ref: '#/components/schemas/RewardRedeemedReponsePoints'
    ExternalApiResponseSeverity:
      type: integer
      description: |-
        0 = Success
        1 = Warning
        2 = Error
      x-enumNames:
        - Success
        - Warning
        - Error
      enum:
        - 0
        - 1
        - 2
    CreateCustomerResponse:
      type: object
      additionalProperties: false
      properties:
        OriginalId:
          type: string
          description: 'This is the Id in the client store. '
        PublicId:
          type: string
          description: Bonifiq Plubic Id
          nullable: true
        Name:
          type: string
          description: Customer name.
        Email:
          type: string
          description: Customer email.
        Phone:
          type: string
          description: Customer Contact Phone.
          nullable: true
        BirthdayDate:
          type: string
          description: Customer Birthdate.
          format: date-time
          nullable: true
        SignupDate:
          type: string
          description: Date when the customer made the register on client store.
          format: date-time
          nullable: true
        Document:
          type: string
          description: Some document number from the customer, accepts any string.
          nullable: true
        IsEnrolled:
          type: boolean
          description: >-
            If true the customer is participating on the points plan from the
            store.
        ReferralURL:
          type: string
          description: >-
            Customer`s Referral URL. Will be null if the Referral Objective is
            not active.
          nullable: true
        WhatsappReferralUrl:
          type: string
          description: >-
            Customer`s Referral URL for sharing in Whatsapp. Will be null if
            Referral Objective is not active
          nullable: true
        CurrentTier:
          description: If the customer is in a Tier returns it. Otherwise returns null
          nullable: true
          oneOf:
            - $ref: '#/components/schemas/CustomerTierResponse'
        BalanceOfPoints:
          type: integer
          description: Customer's current points balance
          format: int32
        BalanceCashback:
          type: number
          description: >-
            Customer's current cashback balance (calculated from points). Will
            be null if cashback is not enabled.
          format: decimal
          nullable: true
    RewardRedeemedReponsePoints:
      type: object
      additionalProperties: false
      properties:
        Id:
          type: integer
          description: Unique ID of the generated point
          format: int32
        Points:
          type: integer
          description: How many points was used
          format: int32
        Type:
          description: 'Type of the point. Could be any of:'
          oneOf:
            - $ref: '#/components/schemas/PointType'
        EventKey:
          type: string
          description: Unique key for this record. Used to preventing duplication
    CustomerTierResponse:
      type: object
      additionalProperties: false
      properties:
        Name:
          type: string
        Color:
          type: string
        IconUrl:
          type: string
    PointType:
      type: integer
      description: |-
        0 = Purchase
        1 = Signup
        2 = Birthday
        3 = Ordinary
        4 = Reward
        5 = Review
        6 = Refund
        7 = Expire
        8 = Referral
        9 = SocialMediaFollowFacebook
        10 = SocialMediaFollowInstagram
        11 = PartialOrderRefund
        12 = Quiz
        13 = CustomObjective
        14 = ReferralAffiliate
        15 = SocialMediaFollowLinkedin
        16 = SocialMediaFollowTikTok
        17 = Campaign
        18 = Participation
        19 = Fitness
      x-enumNames:
        - Purchase
        - Signup
        - Birthday
        - Ordinary
        - Reward
        - Review
        - Refund
        - Expire
        - Referral
        - SocialMediaFollowFacebook
        - SocialMediaFollowInstagram
        - PartialOrderRefund
        - Quiz
        - CustomObjective
        - ReferralAffiliate
        - SocialMediaFollowLinkedin
        - SocialMediaFollowTikTok
        - Campaign
        - Participation
        - Fitness
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
        - 13
        - 14
        - 15
        - 16
        - 17
        - 18
        - 19
  securitySchemes:
    Basic Authentication:
      type: http
      description: Use API Basic Auth Keys
      name: Basic Authentication
      in: header
      scheme: basic

````