Punchh Game API

The Game API from Punchh — 1 operation(s) for game.

Operations 1

GET /api2/mobile/par_games Fetch Games #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/mobile-access-token-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/mobile-create-user-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/mobile-login-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/mobile-mark-offers-read-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/mobile-transaction-details-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/mobile-transaction-details-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/mobile-update-user-profile-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/mobile-user-session-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/mobile-access-token-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/mobile-create-user-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/mobile-login-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/mobile-mark-offers-read-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/mobile-transaction-details-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/mobile-transaction-details-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/mobile-update-user-profile-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/mobile-user-session-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/online-ordering-online-order-checkin-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/online-ordering-online-order-checkin-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/online-ordering-online-order-redemption-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/online-ordering-online-order-redemption-response-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/online-ordering-online-order-checkin-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/online-ordering-online-order-checkin-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/online-ordering-online-order-redemption-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/online-ordering-online-order-redemption-response-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-schema/platform-functions-redeemable-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-structure/platform-functions-redeemable-structure.json

Other Resources

🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/mobile-access-token-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/mobile-create-user-request-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/mobile-login-request-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/mobile-mark-offers-read-request-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/mobile-transaction-details-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/mobile-transaction-details-request-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/mobile-update-user-profile-request-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/mobile-user-session-example.json
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-ld/punchh-mobile-context.jsonld
🔗
PostmanCollection
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/collections/punchh-mobile.postman_collection.json
🔗
OpenCollection
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/collections/punchh-mobile.opencollection.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/online-ordering-online-order-checkin-request-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/online-ordering-online-order-checkin-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/online-ordering-online-order-redemption-request-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/online-ordering-online-order-redemption-response-example.json
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-ld/punchh-online-ordering-context.jsonld
🔗
PostmanCollection
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/collections/punchh-online-ordering.postman_collection.json
🔗
OpenCollection
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/collections/punchh-online-ordering.opencollection.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/examples/platform-functions-redeemable-example.json
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/json-ld/punchh-platform-functions-context.jsonld
🔗
PostmanCollection
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/collections/punchh-platform-functions.postman_collection.json
🔗
OpenCollection
https://raw.githubusercontent.com/api-evangelist/punchh/refs/heads/main/collections/punchh-platform-functions.opencollection.json

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/punchh-game-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

punchh-game-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mobile Game API
  version: '1.0'
  contact:
    name: Punchh Dev Support
    url: https://developers.punchh.com
  description: 'Punchh provides a robust platform for offering loyalty programs to customers. When a business integrates its back-end with the Punchh server, the Punchh APIs become instrumental in executing loyalty programs for enrolled customers, primarily via business-branded mobile apps and websites tailored by Punchh.


    To establish integration with the Punchh APIs, you need to understand how they are invoked and what responses are returned by the Punchh server. You can call APIs using any suitable API test client, such as Postman. Thus, the response to every API call made in Postman under a chosen environment (in app and/or platform) is reflected in the app and/or platform.'
servers:
- url: https://SERVER_NAME_GOES_HERE.punchh.com
tags:
- name: Game
paths:
  /api2/mobile/par_games:
    get:
      summary: Fetch Games
      tags:
      - Game
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  games:
                    $ref: '#/components/schemas/games'
                  pagination:
                    $ref: '#/components/schemas/pagination'
              examples:
                Response Example:
                  value:
                    games:
                    - id: 4
                      name: Spin Wheel 1
                      description: zscc
                      url: URL_GOES_HERE
                      status: active
                      channel: mobile
                      created_at: '2025-11-30T22:32:25-08:00'
                      updated_at: '2025-11-30T22:32:25-08:00'
                      cover_img: IMAGE_URL_GOES_HERE
                    - id: 3
                      name: Black OPS I
                      description: ''
                      url: URL_GOES_HERE
                      status: active
                      channel: web
                      created_at: '2025-11-30T22:32:01-08:00'
                      updated_at: '2025-11-30T22:32:01-08:00'
                      cover_img: null
                    - id: 1
                      name: Mario
                      description: test
                      url: URL_GOES_HERE
                      status: active
                      channel: mobile_web
                      created_at: '2025-11-30T22:31:13-08:00'
                      updated_at: '2025-11-30T22:31:13-08:00'
                      cover_img: IMAGE_URL_GOES_HERE
                    pagination:
                      current_page: 1
                      per_page: 20
                      total_count: 3
                      total_pages: 1
                      has_next_page: false
                      has_previous_page: false
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: object
                    x-stoplight:
                      id: rha4znr291vz1
                    properties:
                      parameter_name:
                        type: string
                        x-stoplight:
                          id: 5aon316o67m1h
              examples:
                client parameter value empty or missing:
                  value:
                    errors:
                      client: Required parameter missing or the value is empty.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: object
                    x-stoplight:
                      id: bkdiw7ypfvxuu
                    properties:
                      error_name:
                        type: array
                        x-stoplight:
                          id: qbwgu8p7g5ll6
                        items: {}
              examples:
                Invalid or missing access token:
                  value:
                    errors:
                      unauthorized:
                      - An active access token must be used to query information about the current user.
        '404':
          description: 'Not Found: No games found for the given brand'
          content:
            application/json:
              schema:
                type: object
                properties: {}
      operationId: get-api2-mobile-par_games
      description: This API allows clients to fetch configured game URLs from the Punchh dashboard through an authenticated request. It enables mobile and web applications to dynamically display or trigger the correct game experiences based on the configurations set by brand admins. Only active game URLs are returned, ensuring that apps always reference the most current and valid game links.
      parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/Authorization'
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/User-Agent'
      - $ref: '#/components/parameters/punchh-app-device-id'
      - $ref: '#/components/parameters/signature'
      - $ref: '#/components/parameters/Accept-Language'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                client:
                  type: string
                  x-stoplight:
                    id: fxllut8rdqa9i
                  description: OAuth client ID provided by the business
                page:
                  type: integer
                  x-stoplight:
                    id: vbsnwue59ti1b
                  description: Page number of results to retrieve. If a value is provided, the API returns only that page, using the value of per_page to determine how many records are included. If page is not specified, the API returns the first page by default. Any invalid value will be treated as the default value.
                  default: 1
                per_page:
                  type: integer
                  x-stoplight:
                    id: 5x7dm4ii6qxzj
                  description: Number of records to return per page. If per_page is not specified, the API defaults to 20 records per page. The maximum allowed value is 100. Any invalid value will be treated as the default value.
                  minimum: 1
                  maximum: 100
                  default: 20
                channel:
                  type: string
                  x-stoplight:
                    id: kdot3n2lj5wt7
                  description: 'Filters the list of games by channel. Possible values:


                    * mobile: Returns games available on mobile.

                    * web: Returns games available on web.

                    * mobile_web: Returns games available on both mobile and web.

                    * If not specified, all games are returned.'
              required:
              - client
            examples:
              Request Example:
                value:
                  client: CLIENT_GOES_HERE
                  page: 1
                  per_page: 20
                  channel: mobile
        description: ''
components:
  parameters:
    Accept-Language:
      schema:
        type: string
        default: en
      name: Accept-Language
      in: header
      description: Preferred language
    signature:
      schema:
        type: string
        default: '{{$$.env.signature}}'
      name: x-pch-digest
      in: header
      description: The [signature](/docs/dev-portal-mobile/additional-topics/signature-sha256) for the API call
      required: true
    User-Agent:
      schema:
        type: string
        default: AppName/AppVersion/BuildNumber (OS; Model; MANUFACTURER; MODEL; OS Version)
      in: header
      name: User-Agent
      description: Used to identify the software, device, and application initiating the request, providing information about the client to the server. For details, see [User Agent](/docs/dev-portal-mobile/additional-topics/user-agent).
      required: true
    Content-Type:
      schema:
        type: string
        default: application/json
      name: Content-Type
      in: header
      description: Set this header to <b>application/json</b>.
      required: true
    Accept:
      schema:
        type: string
        default: application/json
      name: Accept
      in: header
      description: Advertises which content types the client is able to understand
      required: true
    Authorization:
      schema:
        type: string
        default: Bearer ACCESS_TOKEN_GOES_HERE
      name: Authorization
      in: header
      description: Used to authorize the request with access_token. It should be supplied as `Bearer ACCESS_TOKEN_GOES_HERE`.
      required: true
    punchh-app-device-id:
      schema:
        type: string
        default: APP_DEVICE_ID_GOES_HERE
      name: punchh-app-device-id
      in: header
      required: true
      description: The app device ID helps Punchh identify each device so that certain rewards can be awarded individually to each device instead of per user. For example, the sign-up reward is given to each device ID to prevent fraudulent sign-ups so that a user cannot do repeated sign-ups from a single device to get rewards. It should not change even if the user resets a device. See the [sample code](/docs/dev-portal-mobile/56657769b1422-headers-and-caching#generating-the-punchh-app-device-id-header) to generate the punchh-app-device-id header.
  schemas:
    games:
      title: Games (Array Object)
      x-stoplight:
        id: 4mrgpodjouhpb
      type: array
      description: A paginated list of active games available for the brand, along with detailed information for each game.
      items:
        x-stoplight:
          id: 6vw5kq92w2hyf
        type: object
        properties:
          id:
            type: string
            x-stoplight:
              id: lmpwcytq6fwlw
            description: Unique Punchh identifier for the game configuration
          name:
            type: string
            x-stoplight:
              id: 0p7e7fm39qk1k
            description: Display name of the game (e.g., "Spin Wheel 1")
          description:
            type: string
            x-stoplight:
              id: h7mltk1dbo7c0
            description: Brief summary of the game
          url:
            type: string
            x-stoplight:
              id: ya00ps1c1c4it
            description: Primary URL that brand's app must use to launch the game
          channel:
            type: string
            x-stoplight:
              id: mo8kq1e1fb8x0
            description: 'Channel(s) where the game is intended to be displayed or played. Possible values:


              * mobile: Returns games available on mobile.

              * web: Returns games available on the web.

              * mobile_web: Returns games available on both mobile and web.'
          status:
            type: string
            x-stoplight:
              id: icy8s3fjs86nb
            description: Current status of the game configuration (e.g., active).
          created_at:
            type: string
            x-stoplight:
              id: c3f9tynsqep6f
            description: Date and time when the game configuration was created, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
          updated_at:
            type: string
            x-stoplight:
              id: 5ms5jk0n31mn1
            description: Date and time when the game configuration was last updated, in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format
          cover_img:
            type: string
            x-stoplight:
              id: cover-img-games
            x-nullable: true
            description: The URL of the branded cover/intro image for the game. Used by brand mobile app to display the image on the games list and details screens. Returns null if no cover image has been uploaded, or if the game's channel is set to Web only. Only populated for games with a channel of `mobile` and `mobile_web`
    pagination:
      title: Pagination (Object)
      x-stoplight:
        id: tgyhdl9oiowfr
      type: object
      description: Returns pagination information of the results.
      properties:
        current_page:
          type: integer
          x-stoplight:
            id: u3w44a3aeb9lc
          description: Page number of the results currently being returned by the API
        per_page:
          type: integer
          x-stoplight:
            id: 3fzvsml7u9cpv
          description: Number of items returned per page in the response
        total_count:
          type: integer
          x-stoplight:
            id: ypgff6iq9dgqx
          description: Total number of records available across all pages
        total_pages:
          type: integer
          x-stoplight:
            id: kprld26pw8gae
          description: Total number of pages required to display all available records
        has_next_page:
          type: boolean
          x-stoplight:
            id: 3ax9n5j7i0e7i
          description: Indicates whether more pages are available after the current page
        has_previous_page:
          type: boolean
          x-stoplight:
            id: qshbr9pjl4b3c
          description: Indicates whether there are pages available before the current page
x-stoplight:
  id: bf6eddb435209
x-ext-urls: {}