PAR Technology Getting Started With POS API Integrations API

PAR Technology Getting Started With POS API Integrations API as documented publicly: 8 operations. Contract generated from the documentation by API Evangelist (2026-10-13); not the provider's own document.

Operations 8

DELETE /api/pos/batch_redemptions/{redemptionref} DELETE /api/pos/batch_redemptions/{redemptionRef} #
POST /api/pos/discounts/{discountid} POST /api/pos/discounts/active #
GET /api/pos/redemptions Get Active Redemptions (Redemptions 1.0) #
DELETE /api/pos/redemptions/multiple_destroy DELETE /api/pos/redemptions/multiple_destroy #
POST /api/pos/redemptions/{redemptionid} POST /api/pos/redemptions/applicable_offers #
GET /api/pos/users/find Find User (Redemptions 2.0) #
POST /api/pos/users/find POST /api/pos/users/find #
POST /api/pos/{poid} POST /api/pos/batch_redemptions #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/par-technology:dev-portal-pos-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

par-technology-dev-portal-pos-openapi-generated.yml Raw ↑
openapi: 3.1.0
info:
  title: PAR Technology Getting Started With POS API Integrations API
  version: '2026-10-13'
  description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-10-13: 8 operation(s) read from 7 public documentation page(s) (each operation
    names its page in x-source). This is not the provider''s published contract; PAR Technology has published no machine-readable contract that
    the pipeline could find. Engine: local.'
  x-evidence-tiers:
    code-example: 27
    documentation: -8
    pages-with-code: 28
    pages-read: 28
  x-generated-from: documentation
  x-provenance: generated
  x-authored-by: API Evangelist
  x-generated: '2026-10-13'
  x-generator: generate-contract-from-docs.py
  x-engine: local
  x-sources:
  - https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-1-0-legacy-api/delete/api/pos/redemptions/multiple_destroy
  - https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-1-0-legacy-api/post/api/pos/redemptions
  - https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-1-0-legacy-api/post/api/pos/redemptions/applicable_offers
  - https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-2-0-new-api/delete/api/pos/batch_redemptions/redemption_ref
  - https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-2-0-new-api/get/api/pos/discounts/active
  - https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-2-0-new-api/get/api/pos/users/find
  - https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-2-0-new-api/post/api/pos/batch_redemptions
  x-docs-section: dev-portal-pos
servers:
- url: https://SERVER_NAME_GOES_HERE.punchh.com
paths:
  /api/pos/batch_redemptions/{redemptionref}:
    delete:
      operationId: delete_api_pos_batch_redemptions_redemptionref
      tags:
      - Api
      summary: DELETE /api/pos/batch_redemptions/{redemptionRef}
      x-source: https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-2-0-new-api/delete/api/pos/batch_redemptions/redemption_ref
      parameters:
      - name: redemptionref
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteApiPosBatchRedemptionsRedemptionrefRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl curl 'https://SERVER_NAME_GOES_HERE.punchh.com/api/pos/batch_redemptions/{redemption_ref}'  --request DELETE  --header\
          \ 'Authorization: Token token=LOCATION_KEY_GOES_HERE, btoken=BUSINESS_KEY_GOES_HERE'  --header 'Content-Type: application/json'  --header\
          \ 'User-Agent: IntegratorName/IntegrationType/VersionNumber'  --header 'Accept: application/json'  --data '{ \n \"user_id\": 11111111\
          \ \n }' "
  /api/pos/discounts/{discountid}:
    post:
      operationId: post_api_pos_discounts_discountid
      tags:
      - Api
      summary: POST /api/pos/discounts/active
      x-source: https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-2-0-new-api/get/api/pos/discounts/active
      parameters:
      - name: discountid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiPosDiscountsDiscountidRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl curl https://SERVER_NAME_GOES_HERE.punchh.com/api/pos/discounts/active  --header 'Authorization: Token token=LOCATION_KEY_GOES_HERE,\
          \ btoken=BUSINESS_KEY_GOES_HERE'  --header 'Content-Type: application/json'  --header 'User-Agent: IntegratorName/IntegrationType/VersionNumber'\
          \  --header 'Accept: application/json'  --header 'Accept-Language: en'  --data '{ \n \"user_id\": 11111111, \n \"external_uid\""
        collapsed_from: 4 example path(s) differing only at discountId
  /api/pos/redemptions:
    get:
      operationId: get_api_pos_redemptions
      tags:
      - Api
      summary: Get Active Redemptions (Redemptions 1.0)
      x-source: https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-1-0-legacy-api/post/api/pos/redemptions
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: documentation
  /api/pos/redemptions/multiple_destroy:
    delete:
      operationId: delete_api_pos_redemptions_multiple_destroy
      tags:
      - Api
      summary: DELETE /api/pos/redemptions/multiple_destroy
      x-source: https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-1-0-legacy-api/delete/api/pos/redemptions/multiple_destroy
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeleteApiPosRedemptionsMultipleDestroyRequest'
      responses:
        '200':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl curl https://SERVER_NAME_GOES_HERE.punchh.com/api/pos/redemptions/multiple_destroy  --request DELETE  --header 'Authorization:\
          \ Token token=LOCATION_KEY_GOES_HERE, btoken=BUSINESS_KEY_GOES_HERE'  --header 'Content-Type: application/json'  --data '{ \n \"email\"\
          : \"test@example.com\", \n \"redemption_id\": [ \n 577084, \n 577085 \n ] \n }' "
  /api/pos/redemptions/{redemptionid}:
    post:
      operationId: post_api_pos_redemptions_redemptionid
      tags:
      - Api
      summary: POST /api/pos/redemptions/applicable_offers
      x-source: https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-1-0-legacy-api/post/api/pos/redemptions/applicable_offers
      parameters:
      - name: redemptionid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiPosRedemptionsRedemptionidRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiPosRedemptionsRedemptionidResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl curl https://SERVER_NAME_GOES_HERE.punchh.com/api/pos/redemptions/applicable_offers  --request POST  --header 'Authorization:\
          \ Token token=LOCATION_KEY_GOES_HERE, btoken=BUSINESS_KEY_GOES_HERE'  --header 'Accept-Language: en'  --header 'Content-Type: application/json'\
          \  --data '{ \n \"email\": \"test@example.com\", \n \"receipt_amount\": 300, \n \"menu_items\": [ \n { \n \"item_name\": \"Whiterice\"\
          , \n \"item_qt"
        collapsed_from: 2 example path(s) differing only at redemptionId
  /api/pos/users/find:
    get:
      operationId: get_api_pos_users_find
      tags:
      - Api
      summary: Find User (Redemptions 2.0)
      x-source: https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-2-0-new-api/get/api/pos/users/find
      responses:
        '200':
          description: Success (status as documented)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetApiPosUsersFindResponse'
      x-evidence:
        kind: documentation
    post:
      operationId: post_api_pos_users_find
      tags:
      - Api
      summary: POST /api/pos/users/find
      x-source: https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-2-0-new-api/get/api/pos/users/find
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiPosUsersFindRequest'
      responses:
        '201':
          description: Success (status as documented)
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl curl https://SERVER_NAME_GOES_HERE.punchh.com/api/pos/users/find  --header 'Authorization: Token token=LOCATION_KEY_GOES_HERE,\
          \ btoken=BUSINESS_KEY_GOES_HERE'  --header 'Content-Type: application/json'  --header 'User-Agent: IntegratorName/IntegrationType/VersionNumber'\
          \  --header 'Accept: application/json'  --data '{ \n \"lookup_field\": \"phone/otp/none/\", \n \"lookup_value\": \"<phone_number>/<singl"
  /api/pos/{poid}:
    post:
      operationId: post_api_pos_poid
      tags:
      - Api
      summary: POST /api/pos/batch_redemptions
      x-source: https://developers.partech.com/docs/dev-portal-pos/apis/redemptions-2-0-new-api/post/api/pos/batch_redemptions
      parameters:
      - name: poid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostApiPosPoidRequest'
      responses:
        '201':
          description: Success (shape read from the example response on the page)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostApiPosPoidResponse'
      x-evidence:
        kind: code-example
        language: curl
        snippet: "curl curl https://SERVER_NAME_GOES_HERE.punchh.com/api/pos/batch_redemptions  --request POST  --header 'Content-Type: application/json'\
          \  --header 'User-Agent: IntegratorName/IntegrationType/VersionNumber'  --header 'Authorization: Token token=LOCATION_KEY_GOES_HERE,\
          \ btoken=BUSINESS_KEY_GOES_HERE'  --header 'Accept: application/json'  --header 'Accept-Language: en'  --data '{ \n \"query\": true,\
          \ \n \"us"
        collapsed_from: 2 example path(s) differing only at poId
security:
- apiKey: []
components:
  schemas:
    DeleteApiPosBatchRedemptionsRedemptionrefRequest:
      type: object
      properties:
        user_id:
          type: integer
    PostApiPosDiscountsDiscountidRequest:
      type: object
      properties:
        user_id:
          type: integer
        external_uid:
          type: string
    DeleteApiPosRedemptionsMultipleDestroyRequest:
      type: object
      properties:
        email:
          type: string
        redemption_id:
          type: array
          items:
            type: integer
    PostApiPosRedemptionsRedemptionidRequest:
      type: object
      properties:
        email:
          type: string
        receipt_amount:
          type: integer
        menu_items:
          type: array
          items:
            type: object
            properties:
              item_name:
                type: string
              item_qty:
                type: integer
              item_amount:
                type: number
              menu_item_type:
                type: string
              menu_item_id:
                type: string
              menu_family:
                type: string
              menu_major_group:
                type: string
              serial_number:
                type: string
        amount:
          type: integer
        subtotal_amount:
          type: integer
        receipt_datetime:
          type: string
          format: date-time
        channel:
          type: string
    PostApiPosRedemptionsRedemptionidResponse:
      type: object
      properties:
        discount_amount:
          type: integer
        menu_items:
          type: array
          items: {}
        reward:
          type: object
          properties:
            created_at:
              type: string
              format: date-time
            description:
              type: string
            discount_amount:
              type: integer
            end_date_tz:
              type:
              - string
              - 'null'
            id:
              type: integer
            image:
              type: string
            name:
              type: string
            points:
              type: integer
            redeemable_properties:
              type:
              - string
              - 'null'
            start_date_tz:
              type: string
              format: date-time
            status:
              type: string
            updated_at:
              type: string
              format: date-time
    GetApiPosUsersFindResponse:
      type: object
      properties:
        user_id:
          type: integer
        business_id:
          type: integer
        phone:
          type: string
        email:
          type: string
        first_name:
          type: string
        last_name:
          type: string
        payment_mode:
          type: string
        selected_card_number:
          type: string
        loyalty_cards:
          type: array
        selected_tip_amount:
          type: number
        external_uid:
          type: string
        locked:
          type: boolean
    PostApiPosUsersFindRequest:
      type: object
      properties:
        lookup_field:
          type: string
        lookup_value:
          type: string
    PostApiPosPoidRequest:
      type: object
      properties:
        query:
          type: boolean
        user_id:
          type: integer
        line_items:
          type: array
          items:
            type: object
            properties:
              item_name:
                type: string
              item_qty:
                type: integer
              amount:
                type: integer
              item_type:
                type: string
              item_id:
                type: integer
              item_family:
                type: string
              item_group:
                type: string
              serial_number:
                type: integer
        receipt_datetime:
          type: string
          format: date-time
        subtotal_amount:
          type: integer
        receipt_amount:
          type: integer
        punchh_key:
          type: string
        transaction_no:
          type: string
        external_uid:
          type: string
    PostApiPosPoidResponse:
      type: object
      properties:
        status:
          type: string
        redemption_amount:
          type: integer
        category:
          type: string
        qualified_menu_items:
          type: array
          items:
            type: object
            properties:
              item_name:
                type: string
              item_qty:
                type: integer
              item_amount:
                type: integer
              menu_item_type:
                type: string
              menu_item_id:
                type: string
              menu_family:
                type: string
              menu_major_group:
                type: string
              serial_number:
                type: string
        discount_distribution_items:
          type: array
          items:
            type: object
            properties:
              item_name:
                type: string
              item_qty:
                type: integer
              item_amount:
                type: integer
              menu_item_type:
                type: string
              menu_item_id:
                type: string
              menu_family:
                type: string
              menu_major_group:
                type: string
              serial_number:
                type: integer
        max_applicable_quantity:
          type: integer
        campaign_name:
          type: string
        redemption_id:
          type: integer
        redemption_code:
          type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: Authorization
tags:
- name: Api