---
title: "Create a Reward Bank with Rewards"
method: POST
path: "/banks/pointsreward"
tags: ["Reward Bank"]
---

# Create a Reward Bank with Rewards

`POST /banks/pointsreward`

This API endpoint allows the calling application to create a Reward Bank with Rewards

## Headers

- `X-EES-AUTH-CLIENT-ID` string, string, required
- `X-EES-AUTH-HASH` string, string, required
- `X-EES-TRANSACTION-ID` string, string
- `X-CUSTOM-SUBSYSTEM-ID` string, string
- `X-CUSTOM-KEY` string, string

## Request body

- object
  - `name` Name, required — unresolved $ref
  - `reference` Reference — unresolved $ref
  - `mode` Mode, required — unresolved $ref
  - `status` Status, required — unresolved $ref
  - `exchangeLimit` ExchangeLimit — unresolved $ref
  - `rewards` object[]
    - `resourceType` ResourceType, required — unresolved $ref
    - `resourceId` ResourceId, required — unresolved $ref
    - `threshold` Threshold — unresolved $ref
    - `cost` Cost, required — unresolved $ref
    - `status` Status — unresolved $ref
    - `reasonCode` string

## Response `201`

EES AIR has successfully processed a Request

- object
  - `pointsRewardBankId` string, string, required — EES AIR Points Exchange Bank ID
  - `status` 'ACTIVE' | 'INACTIVE' | 'SUSPENDED', string, required — Points Exchange Bank Status
  - `mode` 'PUBLIC' | 'PERSONAL', string, required — Bank's mode&#58; `PERSONAL` - only nominated Consumers can see and exchange rewards from this Bank, (nominee list could change while running a Scheme and/or Reward Bank); `PUBLIC` - all Consumers could see and exchange rewards using this Reward Bank)
  - `name` string, string, required — Bank Name
  - `reference` string, string, required — Points Exchange Bank External Reference
  - `dateCreated` string, ees-datetime, required — Points Exchange Bank Created Date-time (ATOM format)
  - `lastUpdated` string, ees-datetime, required — Points Exchange Bank Last updated Date-time (ATOM format)
  - `exchangeLimit` integer, nullable, required — Number of times a Wallet or Wallet Link can exchange rewards from this Bank
  - `rewards` PointsRewardBankRewardEntity[]
    - `pointsRewardBankRewardId` string, string, required — EES AIR Points Exchange Bank Reward ID
    - `pointsRewardBankId` string, string, required — EES AIR Points Exchange Bank ID
    - `status` 'ACTIVE' | 'INACTIVE' | 'SUSPENDED', string, required — Points Exchange Bank Reward Status
    - `resourceType` 'CAMPAIGN', string, required — Reward Type
    - `resourceId` string, string, required — EES AIR Resource ID of what is the reward. This cannot be the same ID as an existing reward from this Bank.
    - `cost` integer, required — Reward cost (in Points)
    - `threshold` integer, required — Reward threshold (in Points). If this is not provided then the cost is used as the threshold.
    - `dateCreated` string, ees-datetime, required — Points Exchange Bank Reward Created Date-time
    - `lastUpdated` string, ees-datetime, required — Points Exchange Bank Reward Last updated Date-time

## Other responses

- `207` — Only some of the Reward Bank Rewards were created successfully. The failures are listed separately in the response.
- `400` — EES AIR refuse to process that particular Request as there is something wrong with the Request (e.g. Request Payload is unprocessable, Mandatory Request Parameter value is not provided, etc.)
- `401` — EES AIR refuse to process that particular Request due to Authentication error(s). This could be caused by missing one or more of mandatory AUTH headers, invalid Hash calculation, invalid or inactive API Key used, etc.
- `403` — EES AIR refuse to process that particular Request due to Authorisation error(s). Please note nothing is wrong with Authentication nor hash Calculation, it is simply due to lack of permission to perform that particular action (e.g. Issuance Partner attempts to Redeem a Token or Redemption Partner attempts to Issue a Token, etc.)
- `404` — EES AIR refuse to process that particular Request as requested Resource could not be found or referenced Resource is not active.
- `409` — EES AIR understands this request, but refuse to process it, due to present Conflict with the current state of the target resource or because performing this operation would lead to a Conflict within AIR.
- `415` — EES AIR refuse to process that particular Request as requested `Mime-Type` is not supported (Currently only `application/json` is supported
- `429` — EES AIR refuses to process that particular Request as Client's API Requests Limit was exceeded.
- `500` — EES AIR is not able to process that particular Request due to Unexpected Server Error.
- `503` — EES AIR refuses to process that particular Request due to Service(s) being Unavailable (i.e. Scheduled Maintenance)
- `504` — EES AIR refuses to process that particular Request due to Networking Issues

---

[API](https://skmtc.net/eagleeye/apis/wallet-api.md) · [All operations](https://skmtc.net/eagleeye/apis/wallet-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/eagleeye/wallet-api/revisions/90a122bb14cc/schema)
