Create Redeemable

​

Allows a business to define one or more redeemables. You can bulk create a maximum of 20 redeemables per API call. If the request input contains more than 20 redeemables, only the first 20 are created, and the remaining are ignored.

For more information, see Offers Ingestion Management

To call this API, the offers ingestion option must be enabled for the business on the Punchh platform. Contact your Punchh representative to update this Punchh platform configuration.

For more information on redeemable settings, see the Redeemables article on the Support Portal.

Headers

  • Set this header to application/json

  • Set this header to application/json

  • 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
  • A list of redeemables that needs to be created

    Properties: 30

Responses

  • application/json
  • application/json
  • application/json
  • application/json
  • application/json
Request Example for post/api2/dashboard/offers/redeemable
curl https://SERVER_NAME_GOES_HERE.punchh.com/api2/dashboard/offers/redeemable \
  --request POST \
  --header 'Authorization: Bearer BUSINESS_ADMIN_KEY_GOES_HERE' \
  --header 'Content-Type: application/json' \
  --data '{
  "data": [
    {
      "name": "Redeemable offer 30",
      "alternate_locale_name": [
        {
          "language": "fr",
          "translation": "FR MarlOffer 0.25"
        },
        {
          "language": "en",
          "translation": "MarlOffer 0.25"
        },
        {
          "language": "es",
          "translation": "ES MarlOffer 0.25"
        }
      ],
      "external_id": "EXTERNAL_ID_GOES_HERE",
      "description": "description",
      "alternate_locale_description": [
        {
          "language": "fr",
          "translation": "FR $0.25 Marl sContent Delivery Loyalty Offer"
        },
        {
          "language": "en",
          "translation": "$0.25 Marl sContent Delivery Loyalty Offer"
        },
        {
          "language": "es",
          "translation": "ES $0.25 Marl sContent Delivery Loyalty Offer"
        }
      ],
      "note": "Notes here",
      "allow_for_support_gifting": true,
      "available_as_template": false,
      "distributable": true,
      "distributable_to_all_users": false,
      "segment_definition_id": null,
      "auto_applicable": true,
      "receipt_rule": {
        "qualifier_type": "new",
        "redeeming_criterion_id": null,
        "discount_amount": 10,
        "redeeming_criterion": {
          "name": "10% Off on Sandwich",
          "external_id": "EXTERNAL_ID_GOES_HERE",
          "amount_cap": 3,
          "percentage_of_processed_amount": 10,
          "qc_processing_function": "sum_amounts",
          "rounding_rule": "ceil",
          "max_discount_units": 2,
          "unit_discount": 10,
          "minimum_unit_rate": 0.01,
          "target_price": 1,
          "effective_location": "location:1234",
          "stack_discounting": false,
          "reuse_qualifying_items": false,
          "qualifying_expressions_operator": "All",
          "item_filter_expressions_operator": "Any",
          "discount_evaluation_strategy": "Min",
          "line_item_filters": [
            {
              "line_item_selector_id": "LIS_ID_GOES_HERE",
              "processing_method": "max_price",
              "quantity": 5
            },
            {
              "line_item_selector_id": "LIS_ID_GOES_HERE",
              "processing_method": "min_price",
              "quantity": 3
            },
            {
              "line_item_selector_id": "LIS_ID_GOES_HERE",
              "processing_method": "exclude",
              "quantity": null
            }
          ],
          "enable_menu_item_aggregator": false,
          "aggregator_grouping_attributes": {
            "item_name": false,
            "item_id": false,
            "item_major_group": false,
            "item_family": false,
            "line_item_type": false
          },
          "item_qualifiers": [
            {
              "expression_type": "line_item_exists",
              "line_item_selector_id": "LIS_ID_GOES_HERE",
              "net_value": null
            },
            {
              "expression_type": "line_item_does_not_exist",
              "line_item_selector_id": "LIS_ID_GOES_HERE",
              "net_value": null
            },
            {
              "expression_type": "net_quantity_greater_than_or_equal_to",
              "line_item_selector_id": "LIS_ID_GOES_HERE",
              "net_value": 2
            },
            {
              "expression_type": "net_amount_greater_than_or_equal_to",
              "line_item_selector_id": "LIS_ID_GOES_HERE",
              "net_value": 4
            }
          ],
          "receipt_qualifiers": [
            {
              "attribute": "total_amount",
              "operator": ">=",
              "value": "10"
            },
            {
              "attribute": "receipt_hour",
              "operator": "in",
              "value": "1"
            }
          ]
        }
      },
      "activate_now": false,
      "start_time": "2025-06-25T23:59:59",
      "indefinetely": false,
      "expiry_days": null,
      "end_time": "2025-06-28T23:59:59",
      "timezone": "Australia/Darwin",
      "remind_before": 3,
      "discount_channel": "all",
      "points": 12,
      "redemption_code_expiry_mins": 3,
      "applicable_as_loyalty_redemption": true,
      "expire_redemption_code_with_reward_end_date": false,
      "template": {
        "redemption_message": "Countdown Message text",
        "short_prompt": "Short Prompt text",
        "standard_prompt": "Standard Prompt text"
      },
      "lag_duration": {
        "value": 2,
        "units": "days"
      },
      "recurrence_schedule": {
        "occurrences": 10,
        "days_distance": 2
      },
      "effective_location": "location:12",
      "meta_data": "meta data"
    }
  ]
}'
{
  "results": [
    {
      "external_id": "EXTERNAL_ID_GOES_HERE",
      "success": true,
      "errors": [],
      "warnings": {
        "line_item_filters": [
          {
            "message": "Required parameters missing or invalid: line_item_selector_id, processing_method",
            "item": {
              "line_item_selector_id": "",
              "processing_method": "max",
              "quantity": 5
            }
          },
          {
            "message": "Required parameters missing or invalid: line_item_selector_id",
            "item": {
              "line_item_selector_id": "invalid",
              "processing_method": "max_price",
              "quantity": 5
            }
          }
        ],
        "item_qualifiers": [
          {
            "message": "Required parameters missing or invalid: line_item_selector_id, expression_type",
            "item": {
              "expression_type": "",
              "line_item_selector_id": "invalid",
              "net_value": 1
            }
          }
        ],
        "receipt_qualifiers": [
          {
            "message": "Required parameters missing or invalid: attribute",
            "item": {
              "attribute": "total",
              "operator": ">=",
              "value": "10"
            }
          },
          {
            "message": "Required parameter is duplicate: attribute",
            "item": {
              "attribute": "total_amount",
              "operator": "in",
              "value": "1"
            }
          }
        ],
        "qualifying_expressions_operator": [
          {
            "message": "Required parameters missing or invalid: qualifying_expressions_operator",
            "item": {
              "qualifying_expressions_operator": "an"
            }
          }
        ],
        "item_filter_expressions_operator": [
          {
            "message": "Required parameters missing or invalid: item_filter_expressions_operator",
            "item": {
              "item_filter_expressions_operator": "an"
            }
          }
        ],
        "discount_evaluation_strategy": [
          {
            "message": "Required parameters missing or invalid: discount_evaluation_strategy",
            "item": {
              "discount_evaluation_strategy": "ma"
            }
          }
        ]
      }
    },
    {
      "external_id": "EXTERNAL_ID_GOES_HERE",
      "success": false,
      "errors": [
        "ERROR MESSAGE"
      ],
      "warnings": {}
    }
  ]
}