---
title: "Get Points Scheme by Reference"
method: GET
path: "/scheme/points/reference/{reference}"
tags: ["Schemes"]
deprecated: true
---

# Get Points Scheme by Reference

`GET /scheme/points/reference/{reference}`

> **Deprecated.**

This endpoint is deprecated - Please use Get By Id - GET /schemes/points?reference={reference} This method allows the calling application to retrieve a Scheme by Reference.

## Path parameters

- `reference` string, int64, required

## Headers

- `X-EES-AUTH-CLIENT-ID` string, string, required
- `X-EES-AUTH-HASH` string, string, required
- `Accept-Encoding` '' | 'gzip' | 'deflate' | 'gzip,deflate'
- `X-EES-TRANSACTION-ID` string, string
- `X-EES-RETRY` string, string

## Response `201`

OK.

- SchemeEntity
  - `id` string — The Id of a Scheme automatically generated and unique within Eagle Eye AIR.
  - `type` 'LOYALTY' — The type of Scheme this is. These types are configured as part of implementation with a client.
  - `accountClientType` string, nullable — The default client type for an Account unless otherwise stated during individual Account creation. The list of available options for this field are defined during client onboarding. (Not implemented for Schemes)
  - `status` 'ACTIVE' | 'INACTIVE' | 'EXPIRED' | 'DELETED' | 'PENDING' | 'DRAFT' | 'REJECTED' | 'READY' | 'STOPPED' | 'SUSPENDED' — The status of the Scheme.
  - `class` 'POINTS' | 'STAMP' — The class of this Scheme.
  - `reference` string, nullable — An external reference for this Scheme, unique to each client.
  - `details` object — The details of the Scheme.
    - `name` string — The name of the Scheme.
    - `alternativeName` string, nullable — The alternative name of the Scheme.
    - `description` string, nullable — The description of the Scheme.
    - `alternativeDescription` string, nullable — The alternative description of the Scheme.
    - `printerMessage` string, nullable — The message to display on the receipt.
    - `screenMessage` string, nullable — The message to display on the screen.
    - `tags` string[], nullable — The tags to assign to a Scheme.
    - `startDate` string, date-time — The timestamp that the Scheme should start.
    - `endDate` string, date-time — The timestamp that the Scheme should end.
    - `mode` 'OPEN' | 'RESTRICTED' — The mode that the Scheme is operating in: * OPEN - this is a scheme available to any consumers that qualify for it. * RESTRICTED - this is a scheme that has been specifically targeted at a group of consumers.
  - `relationships` object, nullable — Specify if this Scheme has any other related Schemes. The key of the object is relationship type of either AGGREGATE_CHILD, AGGREGATE_CHILD_OF.
    - `AGGREGATE_CHILD` object
      - `SCHEME` object[] — Details of any related Scheme.
        - `campaignId` integer — It contains the Id of the related Scheme.
        - `dateCreated` string, date-time — This timestamp shows the date-time in UTC when the Scheme was created. It is dynamically populated and cannot be edited.
  - `services` object, nullable — How fund balances are effected when each transaction type occurs.
    - `autoTopup` object, nullable — How a AutoTopUp transaction is funded.
      - `enabled` boolean — A flag denoting if the rule is active or not.
      - `defaultFunding` object, nullable — The default fund/s that should be used for these transaction types.
        - `enabled` boolean — A flag denoting if the rule is active or not.
        - `funds` SchemesFundingAccountEntity[] — The fund/s the points are added from.
          - `fundingAccountId` string — The funding Account Id that the funds should be debited from.
          - `fundingPercentage` integer — The percentage of the reward that should be funded by this supplier. This value should be 100 where there is only 1 supplier.
      - `reasons` object, nullable — Configure the reason codes that defines which fund to use for this transaction instead of the default.
    - `credit` object, nullable — How a Credit transaction is funded.
      - `enabled` boolean — A flag denoting if the rule is active or not.
      - `defaultFunding` object, nullable — The default fund/s that should be used for these transaction types.
        - `enabled` boolean — A flag denoting if the rule is active or not.
        - `funds` SchemesFundingAccountEntity[] — The fund/s the points are added from.
          - `fundingAccountId` string — The funding Account Id that the funds should be debited from.
          - `fundingPercentage` integer — The percentage of the reward that should be funded by this supplier. This value should be 100 where there is only 1 supplier.
      - `reasons` object, nullable — Configure the reason codes that defines which fund to use for this transaction instead of the default.
    - `debit` object, nullable — How a Debit transaction is funded.
      - `enabled` boolean — A flag denoting if the rule is active or not.
      - `defaultFunding` object, nullable — The default fund/s that should be used for these transaction types.
        - `enabled` boolean — A flag denoting if the rule is active or not.
        - `funds` SchemesFundingAccountEntity[] — The fund/s the points are added from.
          - `fundingAccountId` string — The funding Account Id that the funds should be debited from.
          - `fundingPercentage` integer — The percentage of the reward that should be funded by this supplier. This value should be 100 where there is only 1 supplier.
      - `reasons` object, nullable — Configure the reason codes that defines which fund to use for this transaction instead of the default.
    - `goodwill` object, nullable — How a Goodwill transaction is funded.
      - `enabled` boolean — A flag denoting if the rule is active or not.
      - `defaultFunding` object, nullable — The default fund/s that should be used for these transaction types.
        - `enabled` boolean — A flag denoting if the rule is active or not.
        - `funds` SchemesFundingAccountEntity[] — The fund/s the points are added from.
          - `fundingAccountId` string — The funding Account Id that the funds should be debited from.
          - `fundingPercentage` integer — The percentage of the reward that should be funded by this supplier. This value should be 100 where there is only 1 supplier.
      - `reasons` object, nullable — Configure the reason codes that defines which fund to use for this transaction instead of the default.
      - `restrictions` object[], nullable — The restrictions that apply to Goodwill transactions.
        - `period` integer — Period of time used in the rolling period rules.
        - `metric` 'DAYS' — Type of time period used in the rules.
        - `transactions` integer — Number of times that points can be issued in Goodwill during the period defined in 'Rolling Period'.
        - `value` integer — Number of points that can be issued in Goodwill during the period defined in 'Rolling Period'
        - `singleValue` integer — Number of points that can be issued in Goodwill per transaction.
    - `spend` object, nullable — How a Spend transaction is funded.
      - `enabled` boolean — A flag denoting if the rule is active or not.
      - `defaultFunding` object, nullable — The default fund/s that should be used for these transaction types.
        - `enabled` boolean — A flag denoting if the rule is active or not.
        - `funds` SchemesFundingAccountEntity[] — The fund/s the points are added from.
          - `fundingAccountId` string — The funding Account Id that the funds should be debited from.
          - `fundingPercentage` integer — The percentage of the reward that should be funded by this supplier. This value should be 100 where there is only 1 supplier.
      - `reasons` object, nullable — Configure the reason codes that defines which fund to use for this transaction instead of the default.
    - `exchange` object, nullable — How an Exchange transaction is funded.
      - `enabled` boolean — A flag denoting if the rule is active or not.
      - `defaultFunding` object, nullable — The default fund/s that should be used for these transaction types.
        - `enabled` boolean — A flag denoting if the rule is active or not.
        - `funds` SchemesFundingAccountEntity[] — The fund/s the points are added from.
          - `fundingAccountId` string — The funding Account Id that the funds should be debited from.
          - `fundingPercentage` integer — The percentage of the reward that should be funded by this supplier. This value should be 100 where there is only 1 supplier.
      - `reasons` object, nullable — Configure the reason codes that defines which fund to use for this transaction instead of the default.
    - `earn` object, nullable — How a Earn transaction is funded.
      - `enabled` boolean — A flag denoting if the rule is active or not.
      - `defaultFunding` object, nullable — The default fund/s that should be used for these transaction types.
        - `enabled` boolean — A flag denoting if the rule is active or not.
        - `funds` SchemesFundingAccountEntity[] — The fund/s the points are added from.
          - `fundingAccountId` string — The funding Account Id that the funds should be debited from.
          - `fundingPercentage` integer — The percentage of the reward that should be funded by this supplier. This value should be 100 where there is only 1 supplier.
      - `reasons` object, nullable — Configure the reason codes that defines which fund to use for this transaction instead of the default.
    - `gift` object, nullable — It contains the gift of scheme.
      - `outgoingGiftLimit` object, nullable — It contains an object of outgoingGiftLimit.
        - `enabled` boolean, required — This contains a boolean flag to enable/disable the outgoingGiftLimit rules.
        - `rule` object, required — It contains an object of rules for outgoingGiftLimit.
          - `periodCount` integer, required — It contains integer value.
          - `periodType` 'DAY', required — It contains string value.
          - `points` integer, required — It contains integer value.
          - `rounding` 'ABSOLUTE', required — It contains string value.
      - `incomingGiftLimit` object, nullable — It contains an object of incomingGiftLimit.
        - `enabled` boolean, required — This contains a boolean flag to enable/disable the incomingGiftLimit rules.
        - `rule` object, nullable, required — It contains an object of rules for incomingGiftLimit.
          - `graceTransaction` boolean, required — This contains a boolean flag to enable/disable the grace transaction for Scheme.
          - `periodCount` integer, required — It contains integer value.
          - `periodType` 'DAY', required — It contains string value.
          - `points` integer, required — It contains integer value.
          - `rounding` 'ABSOLUTE', required — It contains string value.
    - `expiryPoints` ExpiryPoints
      - `enabled` boolean
      - `applyRulesToInheritedPoints` boolean — When true, transferred points inherit the expiry rules of the destination scheme.
      - `rule` union
        - object
          - `type` 'SETDATE', required
          - `date` string, date-time, required
        - object
          - `type` 'CUTOFFDATE', required
          - `periodCount` integer, required
          - `periodType` 'MONTH' | 'DAY', required
          - `rounding` 'YEAREND' | 'MONTHEND' | 'ABSOLUTE', required
        - object
          - `type` 'ACTIVITY', required
          - `periodCount` integer, required
          - `periodType` 'MONTH' | 'DAY', required
          - `activityParameters` union, required
            - object
              - …
            - object
              - …
      - `overrideRules` ExpiryPointsOverride[] — Override expiry rule when conditions are met. A rule of type `ACTIVITY` cannot be overridden.
        - `rule` union, required — The expiry rule to apply when the override conditions are matched. Supports `SETDATE` and `CUTOFFDATE` types only.
          - object
            - `type` 'SETDATE', required
            - `date` string, date-time, required
          - object
            - `type` 'CUTOFFDATE', required
            - `periodCount` integer, required
            - `periodType` 'MONTH' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND', required
            - `rounding` 'YEAREND' | 'MONTHEND' | 'ABSOLUTE', required
        - `conditions` ExpiryPointsOverrideCondition[], required
          - `type` 'accountTransactionEvent', required — The type of condition to evaluate.
          - `values` string[], required — The account transaction event types that trigger this override rule.
  - `rates` object — Redemption & earn rates for the Scheme.
    - `burn` object, nullable — Points spend rates and product spend restrictions for the Scheme. The property keys of this object are the unit safe name for the default/parent unit and the incoming identifiers for any child units.
    - `redemption` object, nullable — Points spend rates for the Scheme. The property keys of this object are the unit safe name for the default/parent unit and the incoming identifiers for any child units. This key is deprecated as both points spend rules and product restrictions are now in the `burn` key.
    - `earn` object, nullable, required — The base earn rates for the Scheme. The property keys of this object are the unit safe name for the default/parent unit and the incoming identifiers for any child units.
  - `rules` object — Scheme Rules. (Not implemented for Schemes)
    - `creation` object — Rules for Account creation. (Not implemented for Schemes)
      - `schemeLimit` integer, nullable — The maximum number of Accounts that can be created on this Scheme. Null or empty denotes unlimited. (Not implemented for Schemes)
      - `consumerLimit` integer, nullable — The maximum number of Accounts an individual consumer can have in their Wallet for this Campaign. Null or empty denotes unlimited. (Not implemented for Schemes)
  - `timeoutOverride` integer, nullable — Override value the length of time that points will be locked for before automatically being released.
  - `custom` object, nullable — It contains objects of custom form json values.
  - `negativeBalance` object — Enable if accounts related to this scheme can go into a negative balance.
    - `enabled` boolean — A flag denoting if the rule is active or not.
    - `autoTopUpFunds` string[], nullable — Select which transaction types that the account can automatically top up to 0 after originally resulting in a negative balance.
  - `autoReduce` object
    - `exceed` boolean — A flag denoting if the points limit rule is active or not.
    - `limit` integer, nullable — The maximum number of points a consumer can accrue into their points account.
    - `autoReduceFunds` 'CREDIT' | 'EARN' | 'GOODWILL' | 'VOID' | 'GIFT' | 'DONATE' — It contains auto reduce for selected transaction types.
  - `householdSharing` object — Enable Household Sharing on the Scheme.
    - `enabled` boolean — A flag denoting if the rule is active or not.
  - `pointsLimitPerPeriod` object[], nullable — Rules for limiting points rewarded against a points account per defined period.
    - `active` boolean — Indicates whether the rule is active.
    - `value` integer — The maximum number of points that can be rewarded within the defined period.
    - `period` 'ACCOUNT_POINTS_LIMIT_DAY' | 'ACCOUNT_POINTS_LIMIT_WEEK' | 'ACCOUNT_POINTS_LIMIT_MONTH' — Specifies the time period for the points limit.
  - `tiers` object, nullable
    - `enabled` boolean — Indicates whether the rule is active.
    - `contributionRules` object, nullable — Defines the contribution rules for tiers balances.
      - `spend` object, nullable — Defines the rules for how spend balances are calculated towards tier progression.
        - `enabled` boolean, required — A flag to indicate if spend balance contribution is enabled at scheme level.
        - `product` unknown
  - `earnTransactionLimit` object, nullable — Rules for Earn Transaction Limit.
    - `active` boolean — A flag denoting if the rule is active or not.
    - `amount` integer — The amount of transactions allowed.
    - `periodType` 'DAY' — Specifies the time period for the transaction limit.
  - `pendingPoints` object, nullable — Rules for Pending Points.
    - `enabled` boolean — A flag denoting if the rule is active or not.
    - `value` string — Pending Points value.
    - `criteria` object[] — Criteria for Pending Points.
      - `type` 'monetary' | 'points' — The type of criteria that the value applies to.
      - `value` integer — The value for the criteria specified.
    - `reasonCodes` object — Reason Code details.
      - `release` string[]
      - `reject` string[]
  - `rewardBank` object, nullable — Configuration options related to Reward Banks for the Scheme.
    - `autoLink` object — Configuration options for Auto-Linking Reward Banks to Scheme Accounts.
      - `enabled` boolean, required — A flag denoting if this feature is active or not.
      - `defaultConfig` object, nullable — The default configuration that will be applied to any Reward Bank Link created using this feature. This can only be `null` if `enabled` set to `false`.
        - `type` string, required — The type of Reward Bank Link that will be automatically created. This must match a value defined in Wallet config.
        - `state` string, nullable — The state that the Reward Bank Link will be created in. This must match a value defined in Wallet config.
      - `thresholds` object[], nullable — An array containing the configuration of Reward Banks that can be automatically linked to and the points threshold rules. This can only be `null` if `enabled` set to `false`.
        - `points` integer, required — The points threshold for this Reward Bank. When a Scheme Account reaches this number of points, it will trigger the creation of a Reward Bank Link to the defined Reward Bank.
        - `pointsRewardBankId` string, required — The EES AIR Points Exchange Bank ID the Scheme Account will link to when the defined points threshold is reached.
        - `validToRule` object, nullable, required — The configuration defining the validity period for the automatically created Reward Bank Link.
          - `periodCount` integer, required — The amount of time for which the Reward Bank Link will be valid after being created.
          - `periodType` 'DAY' | 'MONTH' | 'HOUR', required — The type of time period for which the Reward Bank Link will be valid after being created.
          - `rounding` 'YEAREND' | 'MONTHEND' | 'ABSOLUTE', required — The rounding rule for the validity period of the Reward Bank Link.
  - `dateCreated` string, date-time — The timestamp that the Scheme was created.
  - `lastUpdated` string, date-time — The timestamp that the Scheme was last updated.
  - `lastUpdateBy` integer — The Eagle Eye generated ID of the user or API call that made the last update.
  - `version` integer — The version number of this Scheme that is automatically generated.

## Other responses

- `400` — Bad Request.
- `401` — Unauthorized.
- `403` — Forbidden.
- `404` — Not Found.
- `405` — Method Not Allowed.

---

[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)
