Public Reward Bank Create

📌 Purpose

Public Reward Banks enable your loyalty program to offer coupons in exchange for a defined number of points. These banks are accessible to all eligible customers with a qualifying points balance. This recipe outlines how to create a Public Reward Bank using the API, where a specific campaign is offered as a redeemable reward. For full technical details, refer to the Create a Reward Bank with Rewards API.

🖼 Recipe Overview

This recipe guides you through creating a Public Reward Bank via API. Once active, any customer with the required point balance can redeem from the bank and receive a coupon. After completing this process, you will have a Reward Bank configured with:

  • Open access for all members with sufficient points
  • One campaign-based reward
  • A fixed redemption cost in points

📋 Prerequisites

  • Eagle Eye API access
  • Company unit’s clientId & secret
  • A three-level company hierarchy
  • An active points scheme (schemeId)
  • One or more active campaignIds that will serve as rewards

📤 Outputs

After completing this recipe, capture the following output:

Output NamePurpose
pointsRewardBankIdThe unique identifier for your Reward Bank used to create links and use the exchange API
pointsRewardBankRewardIdhe unique identifier(s) for each campaign-based reward to use in the exchange API

📒 Steps

Step 1: Prepare the request payload

  • 1.1 Define a clear and descriptive name for the Reward Bank
  • 1.2 Set mode to PUBLIC and status to ACTIVE
  • 1.3 Set the exchangeLimit of 1 to allow a one-time redemption per wallet
  • 1.4 In the rewards array, include each campaign reward with the following fields:
    • resourceType of CAMPAIGN
    • Use your campaignId as the resourceId
    • cost: Number of points required to redeem the reward
    • status: Set to ACTIVE

Step 2: Call POST /banks/pointsreward

{
    "mode": "PUBLIC",
    "status": "ACTIVE",
    "name": "Get a 25.00 off coupon for 2000 points",
    "rewards": [
        {
            "resourceType": "CAMPAIGN",
            "resourceId": "101161654",
            "cost": 2000,
            "status": "ACTIVE"
        }
    ]
}
{
	"pointsRewardBankId": "84605",
	"status": "ACTIVE",
	"mode": "PUBLIC",
	"reference": "000084605",
	"name": "Get a 25.00 off coupon for 2000 points",
	"dateCreated": "2025-06-18T19:13:24+00:00",
	"lastUpdated": "2025-06-18T19:13:24+00:00",
	"exchangeLimit": null,
	"rewards": [
		{
			"pointsRewardBankRewardId": "186278",
			"pointsRewardBankId": "84605",
			"resourceType": "CAMPAIGN",
			"resourceId": "101161654",
			"threshold": 2000,
			"cost": 2000,
			"status": "ACTIVE",
			"dateCreated": "2025-06-18T19:13:24+00:00",
			"lastUpdated": "2025-06-18T19:13:24+00:00",
			"reasonCode": null
		}
	]
}

✅ Business Readiness Checklist

Use these steps to validate the setup of your scheme:

🔧 Troubleshooting Tips

Issue

Possible Cause & Resolution

207 (multi-status) response

Verify the campaigns included as rewards are active using the GET campaign endpoint