dashboard_force_redeem

Force Redeem

The Force Redemption API allows administrators (e.g., restaurant managers, support staff, or corporate team members) to override normal redemption flows and manually or programmatically redeem an offer or promotion on behalf of a guest. This functionality is particularly useful in various customer support, operational, and exception-handling scenarios.

Note: The Force Redemption API is intended primarily for support-related scenarios where offers need to be redeemed on a limited scale. It should not be used for bulk expirations or large-scale force redemptions. For example, if a brand has distributed offers through a campaign and later runs out of stock for the promotion, this API should not be used to bulk-expire the offers already available to guests in order to discontinue the campaign.

Usage Limit: Permissible usage is capped at 500 requests per minute (RPM), with a daily limit of up to 100,000 requests. If you need to process more than 100,000 requests in a single day, contact your Punchh representative.

Headers
  • Authorization
    Type: string
    required

    Bearer token for admin authorization, who is making a call on behalf of the customer. Send the API key in the following format: "Authorization: Bearer BUSINESS_ADMIN_KEY_GOES_HERE".

Body
application/json
  • redemption
    Type: object
  • user_id
    Type: integer

    ID that identifies the user

Responses
  • 201
    Type: object

    Returns the details of a redemption done by a user

    • created_at
      Type: stringFormat: date-time

      Date/time when the redemption was created in the system, in ISO 8601 format

    • expiring_at
      Type: stringFormat: date-time

      Date/time when the redemption_tracking_code expires and the user cannot use it at the POS

    • location_id
      Type: integer

      Location ID associated with redemption

    • redeemable_id
      Type: integer

      Unique ID of the redeemable

    • redeemable_name
      Type: string

      Name of the redeemable

    • redeemed_value
      Type: numberFormat: float

      For a business with banked currency, a currency value will be returned (e.g., 10 would mean $10).

      For a business without banked currency, a points value will be returned (e.g., 10 would mean 10 points).

    • redemption_id
      Type: integer

      Unique ID of the redemption that has been created

    • redemption_image_url
      Type: string

      URL of the image displayed in the app to depict the redeemable

    • redemption_message
      Type: string

      A descriptive message that tells a user what the user has redeemed

    • redemption_status
      Type: string

      Status of the redemption. The values returned can be:

      • redeemable: The redemption can be redeemed at the POS.
      • expired: The redemption has expired and becomes unusable for the user.
      • honored: The redemption has already been processed successfully and redeemed by the user at a POS.
      • cancelled: The redemption can be voided by a user by approaching the POS if a redemption is done by mistake and the user wants to cancel it.
    • redemption_tracking_code
      Type: string

      Code that a user must submit at the POS to receive the redeemed reward

    • updated_at
      Type: stringFormat: date-time

      Date/time at which the redemption was updated in the system

  • 401
    Type: object
    • error
      Type: string
post/api2/dashboard/redemptions/force_redeem
No Body