Fetch Available User's Swag

​

Retrieves all available swag items that the authenticated user can view or redeem using their loyalty points. The response includes item details such as name, image, point cost, availability window, and fulfilment method. Results are paginated. Only items available in inventory are returned in the response.

See Get User's Save Points for Swag Settings and Balance, Update User's Save Points for Swag Settings, Redeem Swag, and Get Swag Shipping Details.

Headers

  • Used to authorize the request with access_token. It should be supplied as Bearer ACCESS_TOKEN_GOES_HERE.

  • The signature for the API call

  • Set this header to application/json.

  • Advertises which content types the client is able to understand

  • Used to identify the software, device, and application initiating the request, providing information about the client to the server. For details, see User Agent.

  • 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 to generate the punchh-app-device-id header.

Body

application/json
  • OAuth client ID provided by the business

  • ID of the store location used to filter available swag. When provided, returns swag available specifically at that location.

    When omitted, returns all available swag for the brand without location filtering, provided inventory is available.

    The swag returned depends on how the inventory is configured:

    • Location-level inventory: Returns swag configured for the specified location when inventory is greater than 0.
    • Global inventory: Returns swag when the specified location is included in the participating locations or location group and inventory is greater than 0.
  • Specifies the page number of the paginated swag results to return. Use this parameter to navigate through multiple pages of available swag items.

  • Specifies the maximum number of swag items to return per page.

Responses

  • application/json
  • application/json
  • application/json
  • application/json
Request Example for get/api2/mobile/user_swag
curl https://SERVER_NAME_GOES_HERE.punchh.com/api2/mobile/user_swag \
  --header 'Authorization: Bearer ACCESS_TOKEN_GOES_HERE' \
  --header 'x-pch-digest: {{$$.env.signature}}' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'User-Agent: AppName/AppVersion/BuildNumber (OS; Model; MANUFACTURER; MODEL; OS Version)' \
  --header 'punchh-app-device-id: APP_DEVICE_ID_GOES_HERE' \
  --data '{
  "client": "CLIENT_KEY_GOES_HERE",
  "location_id": 304155,
  "page": 1,
  "per_page": 20
}'
{
  "data": [
    {
      "id": 1,
      "name": "Merch Name1",
      "image_url": "IMAGE_URL_GOES_HERE",
      "points": 10,
      "start_time": "2026-05-06T08:01:42Z",
      "end_time": "2026-06-07T08:01:42Z",
      "timezone": "America/New_York",
      "available_to_redeem": true,
      "fulfilment_method": "store_pickup"
    },
    {
      "id": 2,
      "name": "Merch Name2",
      "image_url": "IMAGE_URL_GOES_HERE",
      "points": 15,
      "start_time": "2026-05-16T08:01:42Z",
      "end_time": "2026-06-17T08:01:42Z",
      "timezone": "America/New_York",
      "available_to_redeem": false,
      "fulfilment_method": "home_delivery"
    }
  ],
  "meta": {
    "current_page": 1,
    "next_page": 2,
    "prev_page": null,
    "total_pages": 2,
    "total_count": 2
  }
}