---
title: "Replace Tier"
method: PUT
path: "/tiers/{id}"
tags: ["Tiers"]
---

# Replace Tier

`PUT /tiers/{id}`

## Request

- Base URL: `https://resources.uk.eagleeye.com`
- URL: `https://resources.uk.eagleeye.com/tiers/{id}`
- Auth: none declared. Required headers: `X-EES-AUTH-CLIENT-ID`, `X-EES-AUTH-HASH`

This method allows the calling application to update a Loyalty Tier.

## Path parameters

- `id` 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

## Request body

- TierPutRequestEntity
  - `type` Type, required (unresolved $ref)
  - `status` Status, required (unresolved $ref)
  - `details` Details, required (unresolved $ref)
  - `settings` TierSettings
    - `schemeOverrides` TierSchemeOverrides
      - `earnRates` object, nullable: Points spend rates for the Tier. The property keys of this object are the unit safe name for the default/parent unit and the incoming identifiers for any child units.
      - `burnRates` object: Burn rate overrides for the Tier, keyed by identifier.
      - `burnRatesRules` object: Burn rate rules for the Tier, keyed by identifier.
      - `expiryPoints` object
        - `enabled` boolean
        - `rule` object
          - `type` 'NEVEREXPIRE', required
    - `promotion` object
      - `promotionTierId` string, nullable: The ID of the Loyalty Tier the current Tier promotes to.
      - `ruleSets` TierRuleSets[]: The sets of rules which allow promotion to another Loyalty Tier.
        - `rules` TierRule[]: The Rules which must all be satisfied for this Ruleset to qualify for promotion.
          - `amount` integer
          - `balanceType` 'POINTS' | 'SPEND' | 'TRANSACTIONS'
    - `demotion` object
      - `demotionTierId` string, nullable: The ID of the Loyalty Tier the current Tier demotes to.
      - `balanceResetPeriod` TierResetPeriod
        - `periodOffset` object, nullable: The amount of time between Tier periods.
          - `periods` integer, required
          - `periodType` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', required
        - `roundingRule` 'endOfMonth' | 'endOfQuarter' | 'endOfHalf' | 'endOfYear', nullable: The rounding rule to follow when calculating Tier periods.
      - `membershipExpiryPeriod` TierResetPeriod
        - `periodOffset` object, nullable: The amount of time between Tier periods.
          - `periods` integer, required
          - `periodType` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', required
        - `roundingRule` 'endOfMonth' | 'endOfQuarter' | 'endOfHalf' | 'endOfYear', nullable: The rounding rule to follow when calculating Tier periods.
      - `reevaluateTierOnBalanceDebit` ReevaluateTierOnBalanceDebit: Configuration for whether a customer's Tier should be re-evaluated following a membership balance debit. If ommitted, this setting will be `enabled=false` by default.
        - `enabled` boolean: If enabled then a customer's Tier will be demoted if a refund takes their membership balance below all of the promotion Rulesets of their current Tier.
      - `maxTierDemotionPerReview` MaxTierDemotionPerReview: Configuration for limiting the number of Tiers a customer can be demoted by in a single review, providing a "soft landing" demotion. When disabled or not configured a customer will be demoted to the new Tier they qualify for after review, regardless of how many Tiers they are demoted by.
        - `enabled` boolean, required: If enabled this setting will apply to any Tier review.
        - `value` integer, nullable: The maximum number of Tiers a customer can be demoted by in a single review. If `enabled` is `true` then this value is also required and cannot be `null`, otherwise it is optional.

## Response `200`

OK.

- TierResponseEntity
  - `id` Id (unresolved $ref)
  - `type` Type (unresolved $ref)
  - `status` Status (unresolved $ref)
  - `reference` Reference (unresolved $ref)
  - `details` Details (unresolved $ref)
  - `settings` TierSettings
    - `schemeOverrides` TierSchemeOverrides
      - `earnRates` object, nullable: Points spend rates for the Tier. The property keys of this object are the unit safe name for the default/parent unit and the incoming identifiers for any child units.
      - `burnRates` object: Burn rate overrides for the Tier, keyed by identifier.
      - `burnRatesRules` object: Burn rate rules for the Tier, keyed by identifier.
      - `expiryPoints` object
        - `enabled` boolean
        - `rule` object
          - `type` 'NEVEREXPIRE', required
    - `promotion` object
      - `promotionTierId` string, nullable: The ID of the Loyalty Tier the current Tier promotes to.
      - `ruleSets` TierRuleSets[]: The sets of rules which allow promotion to another Loyalty Tier.
        - `rules` TierRule[]: The Rules which must all be satisfied for this Ruleset to qualify for promotion.
          - `amount` integer
          - `balanceType` 'POINTS' | 'SPEND' | 'TRANSACTIONS'
    - `demotion` object
      - `demotionTierId` string, nullable: The ID of the Loyalty Tier the current Tier demotes to.
      - `balanceResetPeriod` TierResetPeriod
        - `periodOffset` object, nullable: The amount of time between Tier periods.
          - `periods` integer, required
          - `periodType` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', required
        - `roundingRule` 'endOfMonth' | 'endOfQuarter' | 'endOfHalf' | 'endOfYear', nullable: The rounding rule to follow when calculating Tier periods.
      - `membershipExpiryPeriod` TierResetPeriod
        - `periodOffset` object, nullable: The amount of time between Tier periods.
          - `periods` integer, required
          - `periodType` 'DAY' | 'WEEK' | 'MONTH' | 'YEAR', required
        - `roundingRule` 'endOfMonth' | 'endOfQuarter' | 'endOfHalf' | 'endOfYear', nullable: The rounding rule to follow when calculating Tier periods.
      - `reevaluateTierOnBalanceDebit` ReevaluateTierOnBalanceDebit: Configuration for whether a customer's Tier should be re-evaluated following a membership balance debit. If ommitted, this setting will be `enabled=false` by default.
        - `enabled` boolean: If enabled then a customer's Tier will be demoted if a refund takes their membership balance below all of the promotion Rulesets of their current Tier.
      - `maxTierDemotionPerReview` MaxTierDemotionPerReview: Configuration for limiting the number of Tiers a customer can be demoted by in a single review, providing a "soft landing" demotion. When disabled or not configured a customer will be demoted to the new Tier they qualify for after review, regardless of how many Tiers they are demoted by.
        - `enabled` boolean, required: If enabled this setting will apply to any Tier review.
        - `value` integer, nullable: The maximum number of Tiers a customer can be demoted by in a single review. If `enabled` is `true` then this value is also required and cannot be `null`, otherwise it is optional.
  - `dateCreated` DateCreated (unresolved $ref)
  - `lastUpdated` LastUpdated (unresolved $ref)

## Other responses

- `400`: Bad Request.
- `401`: Unauthorized.
- `403`: Forbidden.
- `404`: Not Found.
- `405`: Method Not Allowed.
- `429`: Too Many Requests
- `500`: Server Error
- `501`: Not Implemented
- `502`: Bad Gateway
- `503`: Service Unavailable
- `504`: Gateway Timeout

---

[API](https://skmtc.dev/eagleeye/apis/resource-api.md) - [All operations](https://skmtc.dev/eagleeye/apis/resource-api/llms.txt) - [OpenAPI document](https://skmtc.dev/eagleeye/apis/resource-api/revisions/10217d37fdc5?raw)
