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
  • Authorization
    Type: string
    required

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

  • x-pch-digest
    Type: string
    required

    The signature for the API call

  • Content-Type
    Type: string
    required

    Set this header to application/json.

  • Accept
    Type: string
    required

    Advertises which content types the client is able to understand

  • User-Agent
    Type: string
    required

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

  • punchh-app-device-id
    Type: string
    required

    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
  • client
    Type: string
    required

    OAuth client ID provided by the business

Responses
  • application/json
  • 401

    Unauthorized

    • Missing or invalid access token — "You need to sign in or sign up before continuing."
  • 422

    Unprocessable Entity

    • Save Points for Swag feature disabled — "Your current configuration does not support this feature. Please connect with your Customer Success representative for resolution of the issue."
Request Example for get/api2/mobile/user_merch
curl https://SERVER_NAME_GOES_HERE.punchh.com/api2/mobile/user_merch \
  --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"
}'
{
  "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
  }
}