---
updatedAt: 2026-05-27T08:02:52.000Z
agentTools:
  siteIndex: https://developer.eagleeye.com/llms.txt
  projectIndex: https://developer.eagleeye.com/eagleeye-developer/llms.txt
---

# Create Tier

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

# OpenAPI definition

```json
{
  "x-explorer-enabled": false,
  "openapi": "3.0.3",
  "servers": [
    {
      "url": "https://resources.uk.eagleeye.com",
      "description": "UK Production."
    },
    {
      "url": "https://resources.us.eagleeye.com",
      "description": "US Production."
    },
    {
      "url": "https://resources.us2.eagleeye.com",
      "description": "US2 Production."
    },
    {
      "url": "https://resources.au.eagleeye.com",
      "description": "AU Production."
    },
    {
      "url": "https://resources.sandbox.uk.eagleeye.com",
      "description": "UK Sandbox."
    }
  ],
  "info": {
    "version": "1.67.0",
    "title": "Resource API",
    "description": "# These APIs are used for integration with the Eagle Eye AIR platform when interacting with resources."
  },
  "tags": [
    {
      "name": "Tiers",
      "description": "These APIs are used for managing Loyalty Tiers as part of Schemes with the AIR platform."
    }
  ],
  "paths": {
    "/tiers": {
      "post": {
        "summary": "Create Tier",
        "description": "This method allows the calling application to create a Loyalty Tier.",
        "parameters": [
          {
            "$ref": "#/components/parameters/eesAuthenticationClientId"
          },
          {
            "$ref": "#/components/parameters/eesAuthenticationRequestHash"
          },
          {
            "$ref": "#/components/parameters/httpAcceptEncoding"
          },
          {
            "$ref": "#/components/parameters/eesMessageId"
          },
          {
            "$ref": "#/components/parameters/eesMessageRetry"
          }
        ],
        "operationId": "postTiers",
        "tags": [
          "Tiers"
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/postTierPayload"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/responseTierPayload"
          },
          "400": {
            "$ref": "#/components/responses/badRequest"
          },
          "401": {
            "$ref": "#/components/responses/unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/forbidden"
          },
          "405": {
            "$ref": "#/components/responses/methodNotAllowed"
          },
          "429": {
            "$ref": "#/components/responses/tooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/serverError"
          },
          "501": {
            "$ref": "#/components/responses/notImplemented"
          },
          "502": {
            "$ref": "#/components/responses/badGateway"
          },
          "503": {
            "$ref": "#/components/responses/serviceUnavailable"
          },
          "504": {
            "$ref": "#/components/responses/gatewayTimeout"
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "eesAuthenticationClientId": {
        "name": "X-EES-AUTH-CLIENT-ID",
        "in": "header",
        "description": "Client ID, This will be provided by EES and is unique to the company calling the API.",
        "required": true,
        "schema": {
          "type": "string",
          "format": "string"
        }
      },
      "eesAuthenticationRequestHash": {
        "name": "X-EES-AUTH-HASH",
        "in": "header",
        "description": "Request Security Hash, calculated using SHA-256 function from concatenated full Request URI Path with Query String(s), Payload and Client Secret.",
        "required": true,
        "schema": {
          "type": "string",
          "format": "string"
        }
      },
      "eesMessageId": {
        "name": "X-EES-TRANSACTION-ID",
        "in": "header",
        "description": "Unique Reference for the API transaction within the calling company.",
        "required": false,
        "schema": {
          "type": "string",
          "format": "string"
        }
      },
      "eesMessageRetry": {
        "name": "X-EES-RETRY",
        "in": "header",
        "description": "This flag denotes the number of attempts that have been made for this request.",
        "required": false,
        "schema": {
          "type": "string",
          "format": "string"
        }
      },
      "httpAcceptEncoding": {
        "name": "Accept-Encoding",
        "in": "header",
        "required": false,
        "description": "This request HTTP header advertises which content encoding (usually a compression algorithm) the calling application is able to understand. The server selects one of the proposals, use it and informs the client of its choice with the Content-Encoding response header. Currently supported `gzip` and `deflate`, if request header not present no compression will be used.\n",
        "schema": {
          "type": "string",
          "enum": [
            "",
            "gzip",
            "deflate",
            "gzip,deflate"
          ],
          "default": ""
        }
      }
    },
    "requestBodies": {
      "postTierPayload": {
        "description": "JSON Payload.",
        "required": true,
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/tierPostRequestEntity"
            }
          }
        }
      }
    },
    "schemas": {
      "error400Entity": {
        "type": "object",
        "required": [
          "errorCode",
          "errorMessage"
        ],
        "properties": {
          "errorCode": {
            "type": "string",
            "format": "string",
            "description": "Error Code",
            "example": "ISF",
            "enum": [
              "ICE",
              "IR",
              "ISF",
              "U",
              "ELE"
            ]
          },
          "errorMessage": {
            "type": "string",
            "format": "string",
            "description": "Human Friendly Error Message"
          }
        },
        "x-enum": [
          {
            "errorCode": "ICE",
            "errorMessage": "Internal Configuration Error"
          },
          {
            "errorCode": "IR",
            "errorMessage": "Invalid Request Data"
          },
          {
            "errorCode": "ISF",
            "errorMessage": "Invalid Schema format"
          },
          {
            "errorCode": "U",
            "errorMessage": "Unknown error has occurred"
          },
          {
            "errorCode": "ELE",
            "errorMessage": "Error when loading Monolog logger"
          }
        ]
      },
      "error401Entity": {
        "type": "object",
        "required": [
          "errorCode",
          "errorMessage"
        ],
        "properties": {
          "errorCode": {
            "type": "string",
            "format": "string",
            "description": "Error Code",
            "example": "UN",
            "enum": [
              "UN",
              "CCE",
              "CRN",
              "CUE"
            ]
          },
          "errorMessage": {
            "type": "string",
            "format": "string",
            "description": "Human Friendly Error Message"
          }
        },
        "x-enum": [
          {
            "errorCode": "UN",
            "errorMessage": "Unauthenticated - Check the AUTH headers and the hash is formed correctly"
          },
          {
            "errorCode": "CCE",
            "errorMessage": "Campaign Create Exception"
          },
          {
            "errorCode": "CRN",
            "errorMessage": "Campaign Reference Not Unique"
          },
          {
            "errorCode": "CUE",
            "errorMessage": "Campaign Update Exception"
          }
        ]
      },
      "error403Entity": {
        "type": "object",
        "required": [
          "errorCode",
          "errorMessage"
        ],
        "properties": {
          "errorCode": {
            "type": "string",
            "format": "string",
            "description": "Error Code",
            "example": "P",
            "enum": [
              "P",
              "IPR"
            ]
          },
          "errorMessage": {
            "type": "string",
            "format": "string",
            "description": "Human Friendly Error Message"
          }
        },
        "x-enum": [
          {
            "errorCode": "P",
            "errorMessage": "Caller unit hasn't privileges to access this unit"
          },
          {
            "errorCode": "IPR",
            "errorMessage": "IP Address Rejected"
          }
        ]
      },
      "error405Entity": {
        "type": "object",
        "required": [
          "errorCode",
          "errorMessage"
        ],
        "properties": {
          "errorCode": {
            "type": "string",
            "format": "string",
            "description": "Error Code",
            "example": "MNA",
            "enum": [
              "MNA"
            ]
          },
          "errorMessage": {
            "type": "string",
            "format": "string",
            "description": "Human Friendly Error Message"
          }
        },
        "x-enum": [
          {
            "errorCode": "MNA",
            "errorMessage": "Method not allowed"
          }
        ]
      },
      "defaultErrorEntity": {
        "type": "object",
        "required": [
          "errorCode",
          "errorMessage"
        ],
        "properties": {
          "errorCode": {
            "type": "string",
            "format": "string",
            "description": "EES AIR Error Code",
            "example": "MPA",
            "enum": [
              "NF",
              "IR",
              "U",
              "AF",
              "CE",
              "IPR",
              "MNA",
              "MPA",
              "P",
              "AA",
              "IP",
              "IH",
              "RF"
            ]
          },
          "errorMessage": {
            "type": "string",
            "format": "string",
            "description": "Human Friendly Error Message",
            "example": "Missing Mandatory Request Parameter: `parameterName`"
          },
          "details": {
            "type": "object",
            "description": "This optional object might contain an additional details regarding this error"
          }
        },
        "x-enum": [
          {
            "errorCode": "NF",
            "errorMessage": "Not Found"
          },
          {
            "errorCode": "IR",
            "errorMessage": "Invalid Request"
          },
          {
            "errorCode": "U",
            "errorMessage": "Unknown Error"
          },
          {
            "errorCode": "AF",
            "errorMessage": "Authorisation Failed"
          },
          {
            "errorCode": "CE",
            "errorMessage": "Configuration Error"
          },
          {
            "errorCode": "IPR",
            "errorMessage": "IP Address Rejected"
          },
          {
            "errorCode": "MNA",
            "errorMessage": "Method Not Allowed"
          },
          {
            "errorCode": "MPA",
            "errorMessage": "Missing Parameter"
          },
          {
            "errorCode": "P",
            "errorMessage": "Privileges"
          },
          {
            "errorCode": "AA",
            "errorMessage": "Invalid Access to API Method"
          },
          {
            "errorCode": "IP",
            "errorMessage": "Invalid Parameter"
          },
          {
            "errorCode": "IH",
            "errorMessage": "Invalid Header set"
          },
          {
            "errorCode": "RF",
            "errorMessage": "Rollback Failure"
          }
        ]
      },
      "tierEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The id of a Loyalty Tier automatically generated and unique within Eagle Eye AIR."
          },
          "type": {
            "type": "string",
            "description": "The Loyalty Tier type.",
            "enum": [
              "STANDARD"
            ]
          },
          "status": {
            "type": "string",
            "description": "The status of the Loyalty Tier.",
            "enum": [
              "ACTIVE"
            ]
          },
          "reference": {
            "type": "string",
            "description": "The reference of the Loyalty Tier."
          },
          "details": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The name of the Loyalty Tier."
              },
              "schemeId": {
                "type": "string",
                "description": "The ID of the Scheme the Loyalty Tier belongs to."
              },
              "isDefault": {
                "type": "boolean",
                "description": "If true the Loyalty Tier is the default Tier a new Scheme Account will join."
              }
            }
          },
          "settings": {
            "$ref": "#/components/schemas/tierSettings"
          },
          "dateCreated": {
            "description": "Date the Loyalty Tier was created.",
            "type": "string",
            "format": "date-time"
          },
          "lastUpdated": {
            "description": "Date the Loyalty Tier was last updated.",
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "tierSettings": {
        "type": "object",
        "properties": {
          "schemeOverrides": {
            "$ref": "#/components/schemas/tierSchemeOverrides"
          },
          "promotion": {
            "type": "object",
            "properties": {
              "promotionTierId": {
                "type": "string",
                "nullable": true,
                "description": "The ID of the Loyalty Tier the current Tier promotes to."
              },
              "ruleSets": {
                "type": "array",
                "description": "The sets of rules which allow promotion to another Loyalty Tier.",
                "items": {
                  "$ref": "#/components/schemas/tierRuleSets"
                }
              }
            }
          },
          "demotion": {
            "type": "object",
            "properties": {
              "demotionTierId": {
                "type": "string",
                "nullable": true,
                "description": "The ID of the Loyalty Tier the current Tier demotes to."
              },
              "balanceResetPeriod": {
                "$ref": "#/components/schemas/tierResetPeriod"
              },
              "membershipExpiryPeriod": {
                "$ref": "#/components/schemas/tierResetPeriod"
              },
              "reevaluateTierOnBalanceDebit": {
                "$ref": "#/components/schemas/reevaluateTierOnBalanceDebit"
              },
              "maxTierDemotionPerReview": {
                "$ref": "#/components/schemas/maxTierDemotionPerReview"
              }
            }
          }
        }
      },
      "tierResetPeriod": {
        "type": "object",
        "properties": {
          "periodOffset": {
            "type": "object",
            "nullable": true,
            "description": "The amount of time between Tier periods.",
            "properties": {
              "periods": {
                "type": "integer"
              },
              "periodType": {
                "type": "string",
                "enum": [
                  "DAY",
                  "WEEK",
                  "MONTH",
                  "YEAR"
                ]
              }
            },
            "required": [
              "periods",
              "periodType"
            ]
          },
          "roundingRule": {
            "type": "string",
            "nullable": true,
            "enum": [
              "endOfMonth",
              "endOfQuarter",
              "endOfHalf",
              "endOfYear"
            ],
            "description": "The rounding rule to follow when calculating Tier periods."
          }
        }
      },
      "reevaluateTierOnBalanceDebit": {
        "type": "object",
        "nullable": false,
        "description": "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.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "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": {
        "type": "object",
        "nullable": false,
        "description": "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.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "If enabled this setting will apply to any Tier review."
          },
          "value": {
            "type": "integer",
            "nullable": true,
            "description": "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."
          }
        },
        "required": [
          "enabled"
        ]
      },
      "tierRuleSets": {
        "type": "object",
        "properties": {
          "rules": {
            "type": "array",
            "description": "The Rules which must all be satisfied for this Ruleset to qualify for promotion.",
            "items": {
              "$ref": "#/components/schemas/tierRule"
            }
          }
        }
      },
      "tierRule": {
        "type": "object",
        "properties": {
          "amount": {
            "type": "integer"
          },
          "balanceType": {
            "type": "string",
            "enum": [
              "POINTS",
              "SPEND",
              "TRANSACTIONS"
            ]
          }
        }
      },
      "tierSchemeOverrides": {
        "type": "object",
        "properties": {
          "earnRates": {
            "type": "object",
            "nullable": true,
            "description": "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.",
            "additionalProperties": {
              "type": "object",
              "pattern": "^[\\\\S]+$",
              "properties": {
                "default": {
                  "$ref": "#/components/schemas/tierEarnRate"
                }
              },
              "required": [
                "default"
              ],
              "additionalProperties": {
                "type": "object",
                "pattern": "^[\\\\S]+$",
                "$ref": "#/components/schemas/tierEarnRate"
              }
            }
          },
          "expiryPoints": {
            "allOf": [
              {
                "$ref": "#/components/schemas/tierExpiryPoints"
              },
              {
                "properties": {
                  "rule": {
                    "oneOf": [
                      {
                        "properties": {
                          "type": {
                            "type": "string",
                            "enum": [
                              "NEVEREXPIRE"
                            ]
                          }
                        },
                        "required": [
                          "type"
                        ]
                      }
                    ]
                  }
                }
              }
            ]
          }
        }
      },
      "tierExpiryPoints": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "rule": {
            "$ref": "#/components/schemas/expiryPointsRule"
          }
        }
      },
      "expiryPointsRule": {
        "type": "object",
        "oneOf": [
          {
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "SETDATE"
                ]
              },
              "date": {
                "type": "string",
                "format": "date-time"
              }
            },
            "required": [
              "type",
              "date"
            ]
          },
          {
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "CUTOFFDATE"
                ]
              },
              "periodCount": {
                "type": "integer"
              },
              "periodType": {
                "type": "string",
                "enum": [
                  "MONTH",
                  "DAY"
                ]
              },
              "rounding": {
                "type": "string",
                "enum": [
                  "YEAREND",
                  "MONTHEND",
                  "ABSOLUTE"
                ]
              }
            },
            "required": [
              "type",
              "periodCount",
              "periodType",
              "rounding"
            ]
          },
          {
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "ACTIVITY"
                ]
              },
              "periodCount": {
                "type": "integer"
              },
              "periodType": {
                "type": "string",
                "enum": [
                  "MONTH",
                  "DAY"
                ]
              },
              "activityParameters": {
                "type": "object",
                "oneOf": [
                  {
                    "properties": {
                      "walletTransactions": {
                        "type": "object",
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          },
                          "walletTransactionTypes": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "enabled"
                        ]
                      }
                    },
                    "required": [
                      "walletTransactions"
                    ]
                  },
                  {
                    "properties": {
                      "tierMembershipTransactions": {
                        "type": "object",
                        "properties": {
                          "enabled": {
                            "type": "boolean"
                          },
                          "tierMembershipTransactionTypes": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "enabled"
                        ]
                      }
                    },
                    "required": [
                      "tierMembershipTransactions"
                    ]
                  }
                ]
              }
            },
            "required": [
              "type",
              "periodCount",
              "periodType",
              "activityParameters"
            ]
          }
        ]
      },
      "tierEarnRate": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "product": {
            "type": "object",
            "nullable": true,
            "properties": {
              "productName": {
                "type": "string"
              },
              "overrideName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "unitSafeName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
              },
              "product": {
                "$ref": "#/components/schemas/productEntity"
              }
            },
            "required": [
              "productName",
              "overrideName",
              "unitSafeName"
            ]
          },
          "rates": {
            "type": "array",
            "minItems": 1,
            "items": {
              "type": "object",
              "properties": {
                "amount": {
                  "type": "integer"
                },
                "bonus": {
                  "type": "integer",
                  "nullable": true
                },
                "ceiling": {
                  "type": "integer",
                  "nullable": true
                },
                "floor": {
                  "type": "integer",
                  "nullable": true
                },
                "offset": {
                  "type": "integer",
                  "nullable": true
                },
                "step": {
                  "type": "integer",
                  "nullable": true
                }
              },
              "required": [
                "amount"
              ]
            }
          },
          "reference": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "roundPoints": {
            "type": "object",
            "properties": {
              "active": {
                "type": "boolean"
              },
              "toMultipleOf": {
                "type": "integer",
                "minimum": 0
              }
            },
            "required": [
              "active",
              "toMultipleOf"
            ]
          },
          "complementaryRates": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "decider": {
            "type": "string",
            "enum": [
              "SPEND",
              "UNITS",
              "TOTAL",
              "QUALIFICATION"
            ]
          },
          "maximumQuantityPerProduct": {
            "type": "integer"
          }
        }
      },
      "tierPostRequestEntity": {
        "type": "object",
        "required": [
          "type",
          "details",
          "status"
        ],
        "properties": {
          "type": {
            "$ref": "#/components/schemas/tierEntity/properties/type"
          },
          "status": {
            "$ref": "#/components/schemas/tierEntity/properties/status"
          },
          "reference": {
            "$ref": "#/components/schemas/tierEntity/properties/reference"
          },
          "details": {
            "$ref": "#/components/schemas/tierEntity/properties/details"
          },
          "settings": {
            "$ref": "#/components/schemas/tierSettings"
          }
        }
      },
      "tierResponseEntity": {
        "type": "object",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/tierEntity/properties/id"
          },
          "type": {
            "$ref": "#/components/schemas/tierEntity/properties/type"
          },
          "status": {
            "$ref": "#/components/schemas/tierEntity/properties/status"
          },
          "reference": {
            "$ref": "#/components/schemas/tierEntity/properties/reference"
          },
          "details": {
            "$ref": "#/components/schemas/tierEntity/properties/details"
          },
          "settings": {
            "$ref": "#/components/schemas/tierSettings"
          },
          "dateCreated": {
            "$ref": "#/components/schemas/tierEntity/properties/dateCreated"
          },
          "lastUpdated": {
            "$ref": "#/components/schemas/tierEntity/properties/lastUpdated"
          }
        },
        "example": {
          "id": "1001",
          "type": "STANDARD",
          "status": "ACTIVE",
          "details": {
            "name": "Tier 1",
            "schemeId": "1234",
            "isDefault": false
          },
          "settings": {
            "schemeOverrides": {
              "earnRates": {
                "TestUnitSafeName": {
                  "default": {
                    "description": null,
                    "name": null,
                    "product": null,
                    "rates": [
                      {
                        "amount": 2,
                        "bonus": null,
                        "ceiling": null,
                        "floor": null,
                        "offset": 0,
                        "step": 1
                      }
                    ],
                    "reference": null,
                    "roundPoints": {
                      "active": false,
                      "toMultipleOf": 1
                    },
                    "type": "STANDARD"
                  }
                }
              },
              "redemptionRates": {
                "TestUnitSafeName": [
                  {
                    "bonus": 0,
                    "ceiling": 5000,
                    "floor": 1,
                    "pointsBack": 0,
                    "rate": 10,
                    "step": 2
                  }
                ]
              },
              "expiryPoints": {
                "enabled": true,
                "rule": {
                  "periodCount": 31,
                  "periodType": "DAY",
                  "rounding": "ABSOLUTE",
                  "type": "CUTOFFDATE"
                }
              }
            },
            "promotion": {
              "promotionTierId": "110",
              "ruleSets": [
                {
                  "rules": [
                    {
                      "amount": 100,
                      "balanceType": "POINTS"
                    }
                  ]
                }
              ]
            },
            "demotion": {
              "demotionTierId": "101",
              "balanceResetPeriod": {
                "periodOffset": {
                  "periodType": "MONTH",
                  "periods": 3
                },
                "roundingRule": "endOfMonth"
              },
              "membershipExpiryPeriod": {
                "periodOffset": {
                  "periodType": "MONTH",
                  "periods": 6
                },
                "roundingRule": "endOfQuarter"
              },
              "reevaluateTierOnBalanceDebit": {
                "enabled": true
              },
              "maxTierDemotionPerReview": {
                "enabled": true,
                "value": 1
              }
            }
          }
        }
      },
      "productEntity": {
        "type": "object",
        "nullable": true,
        "pattern": "^[\\S]*$",
        "description": "Base earn product restrictions that apply to base earn rates so that points can only be rewarded when product rules are met.",
        "properties": {
          "logicalOperator": {
            "type": "string",
            "enum": [
              "AND",
              "OR"
            ],
            "description": "The \"OR\" or \"AND\" operator defining how to compare the Product lists."
          },
          "collections": {
            "type": "array",
            "description": "It contains the product lists for a particular rule.",
            "items": {
              "type": "object",
              "pattern": "^[\\\\S]+$",
              "properties": {
                "products": {
                  "type": "object",
                  "properties": {
                    "allRequired": {
                      "type": "boolean",
                      "description": "A flag to determine if all the products defined must be present or not."
                    },
                    "included": {
                      "type": "object",
                      "nullable": true,
                      "properties": {
                        "items": {
                          "type": "array",
                          "nullable": true,
                          "description": "List of all the valid product `UPC`s for the collection.",
                          "items": {
                            "type": "string"
                          }
                        },
                        "groups": {
                          "type": "object",
                          "nullable": true,
                          "description": "List of all the valid product groups for the collection."
                        },
                        "skus": {
                          "type": "array",
                          "nullable": true,
                          "description": "List of all the valid product `SKU`s for the collection.",
                          "items": {
                            "type": "string"
                          }
                        },
                        "tags": {
                          "type": "array",
                          "nullable": true,
                          "description": "List of all the valid product tags for the collection.",
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "excluded": {
                      "type": "object",
                      "nullable": true,
                      "properties": {
                        "items": {
                          "type": "array",
                          "nullable": true,
                          "description": "List of all the excluded product `UPC`s for the collection.",
                          "items": {
                            "type": "string"
                          }
                        },
                        "groups": {
                          "type": "object",
                          "nullable": true,
                          "description": "List of all the excluded product groups for the collection."
                        },
                        "skus": {
                          "type": "array",
                          "nullable": true,
                          "description": "List of all the excluded product SKUs for the collection.",
                          "items": {
                            "type": "string"
                          }
                        },
                        "tags": {
                          "type": "array",
                          "nullable": true,
                          "description": "List of all the excluded product tags for the collection.",
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "responses": {
      "badRequest": {
        "description": "Bad Request.",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/error400Entity"
                }
              ],
              "example": {
                "errorCode": "IR",
                "errorMessage": "Invalid Request Data"
              }
            }
          }
        }
      },
      "unauthorized": {
        "description": "Unauthorized.",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/error401Entity"
                }
              ],
              "example": {
                "errorCode": "UN",
                "errorMessage": "Unauthenticated - Check the AUTH headers and the hash is formed correctly"
              }
            }
          }
        }
      },
      "forbidden": {
        "description": "Forbidden.",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/error403Entity"
                }
              ],
              "example": {
                "errorCode": "P",
                "errorMessage": "Caller unit hasn't privileges to access this unit"
              }
            }
          }
        }
      },
      "methodNotAllowed": {
        "description": "Method Not Allowed.",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/error405Entity"
                }
              ],
              "example": {
                "errorCode": "MNA",
                "errorMessage": "Method not allowed"
              }
            }
          }
        }
      },
      "tooManyRequests": {
        "description": "Too Many Requests",
        "headers": {
          "Retry-after": {
            "description": "The number of seconds after which to retry the request",
            "schema": {
              "type": "integer"
            }
          }
        },
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errorCode": {
                  "type": "string",
                  "description": "The error code",
                  "enum": [
                    "CE"
                  ]
                },
                "errorMessage": {
                  "type": "string",
                  "description": "The error message for this error",
                  "enum": [
                    "This request has been throttled. Please try again later."
                  ]
                }
              }
            }
          }
        }
      },
      "serverError": {
        "description": "Server Error",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/defaultErrorEntity"
                }
              ],
              "example": {
                "errorMessage": "Internal Server Error"
              }
            }
          }
        }
      },
      "notImplemented": {
        "description": "Not Implemented",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/defaultErrorEntity"
                }
              ],
              "example": {
                "errorMessage": "Not Implemented"
              }
            }
          }
        }
      },
      "badGateway": {
        "description": "Bad Gateway",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/defaultErrorEntity"
                }
              ],
              "example": {
                "errorMessage": "Bad Gateway"
              }
            }
          }
        }
      },
      "serviceUnavailable": {
        "description": "Service Unavailable",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/defaultErrorEntity"
                }
              ],
              "example": {
                "errorMessage": "Service Unavailable"
              }
            }
          }
        }
      },
      "gatewayTimeout": {
        "description": "Gateway Timeout",
        "content": {
          "application/json": {
            "schema": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/defaultErrorEntity"
                }
              ],
              "example": {
                "errorMessage": "Gateway Timeout"
              }
            }
          }
        }
      },
      "responseTierPayload": {
        "description": "OK.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/tierResponseEntity"
            }
          }
        }
      }
    }
  }
}
```