PAR Punchh Platform Functions API

Core programmatic and headless access to the loyalty platform. The Headless Offers API lists offers (redeemables) defined on Punchh for browsing and selection in external platforms. Requires partner certification.

OpenAPI Specification

punchh-platform-functions-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: PAR Punchh Platform Functions API
  version: '1.0'
  description: >-
    The PAR Punchh Platform Functions APIs provide core programmatic access to
    the loyalty platform for back-office and headless integrations. This spec
    documents the Headless Offers API, which lists offers (redeemables) defined
    on Punchh so they can be browsed and selected natively in external
    platforms. Access requires partner certification and a business admin
    credential. Base URLs are provided by a Punchh representative.
  x-generated-from: documentation
  x-last-validated: '2026-06-03'
  contact:
    name: PAR Developer Portal
    url: https://developers.partech.com/
servers:
- url: https://{server_name}.punchh.com
  description: Punchh environment host (provided by your Punchh representative)
  variables:
    server_name:
      default: SERVER_NAME_GOES_HERE
      description: Environment-specific host name
tags:
- name: Offers
  description: Headless offer (redeemable) retrieval at the business level.
paths:
  /api2/dashboard/redeemables:
    get:
      operationId: getRedeemableList
      summary: Get Redeemable List
      description: >-
        Returns the list of offers (redeemables) available and defined on
        Punchh, enabling browsing and selection of offers natively in an
        external platform. Supports search and pagination.
      tags:
      - Offers
      security:
      - PunchhAdminBearer: []
      parameters:
      - name: query
        in: query
        required: false
        description: Search term for redeemable name or description.
        schema:
          type: string
      - name: page
        in: query
        required: false
        description: Page number.
        schema:
          type: integer
      - name: per_page
        in: query
        required: false
        description: Records per page.
        schema:
          type: integer
      responses:
        '200':
          description: List of redeemables.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Redeemable'
              examples:
                Getredeemablelist200Example:
                  summary: Default getRedeemableList 200 response
                  x-microcks-default: true
                  value:
                  - redeemable_id: '500123'
                    redeemable_uuid: 6f9619ff-8b86-d011-b42d-00cf4fc964ff
                    name: Free Appetizer
                    description: Reward successfully applied to the order.
                    redeemable_image_url: https://portal.example.com/path/abc123
        '401':
          description: Unauthorized.
      x-source-url: https://developers.partech.com/docs/dev-portal-platform-functions/apis/headless-offers-api/get/api2/dashboard/redeemables
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    PunchhAdminBearer:
      type: http
      scheme: bearer
      description: Bearer credential using the business admin key.
  schemas:
    Redeemable:
      title: Redeemable
      type: object
      x-schema-source: documentation
      properties:
        redeemable_id:
          type: integer
          example: '500123'
        redeemable_uuid:
          type: string
          example: 6f9619ff-8b86-d011-b42d-00cf4fc964ff
        name:
          type: string
          example: Free Appetizer
        description:
          type: string
          example: Reward successfully applied to the order.
        redeemable_image_url:
          type: string
          example: https://portal.example.com/path/abc123