---
title: Get Promotions
slug: get-promotions
docTags: 
createdAt: 2025-09-12T20:51:27.708Z
---

{
  "id": "MD1_89iZWV5lCtbbaNsbN",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.b.preview.loyaltyservices.io/api/v3/promotions",
    "servers": [
      {
        "url": "https://api.b.preview.loyaltyservices.io/api/v3/promotions"
      }
    ],
    "name": "Get Promotions",
    "description": "Retrieve promotions",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        }
      ],
      "queryParameters": [
        {
          "kind": "optional",
          "name": "memberIdentifier",
          "type": "string",
          "example": "A234567890",
          "description": "Member identifier. If this is provided it will retrieve the available promotions specific to member.",
          "minLength": 1,
          "maxLength": 200
        },
        {
          "kind": "optional",
          "name": "code",
          "type": "string",
          "example": "ABCXYZ",
          "description": "The promotion code"
        },
        {
          "kind": "optional",
          "name": "typeCode",
          "type": "string",
          "example": "B",
          "description": "The promotion type code"
        },
        {
          "kind": "optional",
          "name": "includeUnavailable",
          "type": "boolean",
          "description": "<p>If true, return promotions regardless of whether or not the promotion is displayed online. Otherwise, only available promotions are returned.</p>",
          "default": false
        },
        {
          "kind": "optional",
          "name": "includeInactive",
          "type": "boolean",
          "description": "<p>If true, return promotions regardless of active status. Otherwise, only active promotions are returned.</p>",
          "default": false
        }
      ],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "OAuth2",
          "name": "OAuth2",
          "kind": "optional",
          "type": "oauth2",
          "description": "<p>See <a href=\"https://docs.wearephaedon.com/docs/platform-api-authentication\" target=\"_blank\">https://docs.wearephaedon.com/docs/platform-api-authentication</a></p>",
          "oauth2Flows": {
            "clientCredentials": {
              "tokenUrl": "https://phaedon.oktapreview.com/oauth2/auscfbbmieFBGGOzR1d7/v1/token",
              "scopes": {
                "api:custom-data:read": "Grants read access to custom data information",
                "api:custom-data:modify": "Grants modify access to custom data information",
                "api:data-codes:read": "Grants read access to data codes",
                "api:data-codes:modify": "Grants modify access to data codes",
                "api:coupon-compensation:read": "Grants read access to compensations for coupon code",
                "api:coupon-compensation:create": "Grants access to create compensations for coupon code",
                "api:coupon-compensation:modify": "Grants access to edit compensation nights for coupon code",
                "api:coupon-request:modify": "Grants modify access to create coupons",
                "api:member:search": "Grants search access to member information",
                "api:member:verify": "Grants verify access to member information",
                "api:member:merge": "Grants access to merge members",
                "api:member:enroll": "Grants access to enroll members",
                "api:member:modify": "Grants modify access to member information",
                "api:member:read": "Grants read access to member information",
                "api:member:close": "Grants access to close member account",
                "api:member:migrate": "Grants access to migrate member accounts",
                "api:member-address:read": "Grants read access to member address information",
                "api:member-address:modify": "Grants modify access to member address information",
                "api:member-alias:read": "Grants read access to member alias information",
                "api:member-alias:modify": "Grants modify access to member alias information",
                "api:member-badge:read": "Grants read access to member badge information",
                "api:member-badge:modify": "Grants modify access to member badge information",
                "api:member-bonus:add": "Grants access to add a bonus to a member",
                "api:member-bonus:read": "Grants read access to member bonus information",
                "api:member-comments:read": "Grants read access to member comments information",
                "api:member-comments:modify": "Grants modify access to member comments information",
                "api:member-communication:read": "Grants read access to member communication information",
                "api:member-communication:modify": "Grants modify access to member communication information",
                "api:member-coupon:read": "Grants read access to member coupon information",
                "api:member-coupon-use:cancel": "Grants access to cancel member coupon uses",
                "api:member-coupon:transfer": "Grants access to transfer a member coupon",
                "api:member-coupon-use:update": "Grants access to update member coupon uses",
                "api:member-currency:read": "Grants read access to member currency information",
                "api:member-currency:adjust": "Grants access to adjust member currency",
                "api:member-currency:migrate": "Grants access to migrate member currency",
                "api:member-currency-conversion:convert": "Grants access to convert member currency",
                "api:member-email:read": "Grants read access to member email information",
                "api:member-email:modify": "Grants modify access to member email information",
                "api:member-event:read": "Grants read access to member events",
                "api:member-event:modify": "Grants modify access to member events",
                "api:event-rule:read": "Grants read access to event rules",
                "api:event-rule:modify": "Grants access to modify event rule",
                "api:event-rule:admin": "Grants full admin access to event rules",
                "api:member-list:read": "Grants read access to member list information",
                "api:member-list:modify": "Grants modify access to member list information",
                "api:member-partner-link:read": "Grants read access to member partner link information",
                "api:member-partner-link:modify": "Grants modify access to member partner link information",
                "api:member-payment-card:read": "Grants read access to member payment card information",
                "api:member-payment-card:modify": "Grants modify access to member payment card information",
                "api:member-phone:read": "Grants read access to member phone information",
                "api:member-phone:modify": "Grants modify access to member phone information",
                "api:member-preference:read": "Grants read access to member preference information",
                "api:member-preference:modify": "Grants modify access to member preference information",
                "api:member-promotion:read": "Grants read access to member promotion information",
                "api:member-promotion:register": "Grants access to register a member into a promotion",
                "api:member-redemption:create": "Grants redeem access to member redemption information",
                "api:member-redemption:over-redeem": "Grants access to over redeem",
                "api:member-redemption:read": "Grants read access to member redemption information",
                "api:member-redemption:cancel": "Grants access to cancel member redemptions",
                "api:member-redemption:migrate": "Allows migration of member redemption information",
                "api:member-redemption:patch": "Grants patching access to member redemption",
                "api:member-tier:read": "Grants read access to member tier information",
                "api:member-tier:adjust": "Grants access to adjust member tiers",
                "api:member-tier:migrate": "Grants access to migrate member tiers",
                "api:member-transaction:read": "Grants read access to transaction information",
                "api:member-transaction:cancel": "Grants access to cancel transactions",
                "api:member-transaction:clone": "Grants access to clone transactions",
                "api:member-transfer:transfer": "Grants access to do member to member transfers",
                "api:preference:read": "Grants read access to preference information",
                "api:promotion:read": "Grants read access to promotion information",
                "api:tier:read": "Grant read access to tier information",
                "api:promotion:register": "Grants access to register a member into a promotion using token",
                "api:promotion-token:manage": "Grants access to generate promotion token",
                "api:redemption:read": "Grants read access to redemption information",
                "api:redemption:modify": "Grants access to modify redemption information",
                "api:bonus-rule:read": "Grants read access to bonus rule configuration",
                "api:bonus-rule:modify": "Grants access to modify bonus rule configuration",
                "api:bonus-rule:manage": "Grants limited admin access to bonus rule configuration",
                "api:bonus-rule:admin": "Grants full admin access to bonus rules",
                "api:promotion-rule:read": "Grants read access to promotion rule configuration",
                "api:promotion-rule:modify": "Grants access to modify promotion rule configuration",
                "api:promotion-rule:manage": "Grants limited admin access to promotion rule configuration",
                "api:promotion-rule:admin": "Grants full admin access to promotion rules",
                "api:reports:under-investigation": "Grants access to under investigation report",
                "api:transaction:submit": "Grants access to submit transactions",
                "api:transaction:migrate": "Grants access to migrate transactions",
                "api:user:read": "Grants access to read user information",
                "api:user:modify": "Grants access to create user",
                "api:user-task:read": "Grants read access to user tasks",
                "api:user-task:modify": "Grants modify access to user tasks",
                "api:user-role:read": "Grants read access to user roles",
                "api:user-role:modify": "Grants modify access to user roles",
                "api:compensation:read": "Grants read access to hotel summary information",
                "api:compensation:modify": "Grants modify access to hotel summary information",
                "api:member-referral:read": "Grants read access to member referral information",
                "api:member-referral:modify": "Grants modify access to member referral information",
                "api:member-referral-codes:read": "Grants read access to member referral codes",
                "api:member-referral-codes:create": "Grants access to create member referral codes",
                "api:outbound-notification:modify": "Grants access to send outbound notification",
                "api:outbound-notification:read": "Grants access to read outbound notification types",
                "api:background-task:read": "Grants read access to background task information",
                "api:async-task:create": "Grants access to submit operations for background processing",
                "api:async-task:read": "Grants read access to background processing results",
                "api:audit-configuration:read": "Grants read access to audit configuration information",
                "api:audit-configuration:modify": "Grants modify access to audit configuration information",
                "api:badge:read": "Grant read access to badge information",
                "api:broadcast-messages:read": "Grant Read access to broadcast messages",
                "api:expression-config:read": "Grant read access to expression builder configuration",
                "api:managed-entity:read": "Grant read access to managed entity data",
                "api:customer-satisfaction:modify": "Grants modify access to customer satisfaction metrics",
                "api:member-linked-account:modify": "Grant modify access to member linked account",
                "api:member-linked-account:read": "Grants access to read linked member accounts",
                "api:enroll-codes:read": "Grants access to read enroll codes",
                "api:contact-us:modify": "Grants access to submit Contact Us inquiry",
                "api:data-release:read": "Grants read access to data releases",
                "api:points-pool:read": "Grants read access to points pools",
                "api:points-pool:modify": "Grants modify access to points pools",
                "api:segment:read": "Grants read access to segments",
                "api:segment:modify": "Grants modify access to segments",
                "api:communication-type:read": "Grants read access to communication types",
                "api:communication-type:modify": "Grants modify access to communication types",
                "api:member-status-match:read": "Grants read access to status match eligibility and submitted images/applications",
                "api:member-status-match:create": "Grants access to upload status match images and submit applications"
              }
            }
          },
          "requiredScopes": [
            "api:promotion:read"
          ]
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "Success",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "array",
            "description": "",
            "customType": "PromotionReward[]",
            "schema": [
              {
                "name": "promotionId",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "Internal Tally identifier for promotion",
                "format": "int64"
              },
              {
                "name": "promotionCode",
                "kind": "optional",
                "type": "string",
                "description": "Promotion code"
              },
              {
                "name": "promotionName",
                "kind": "optional",
                "type": "string",
                "description": "Name of promotion"
              },
              {
                "name": "promotionDescription",
                "kind": "optional",
                "type": "string",
                "description": "Description of promotion"
              },
              {
                "name": "promotionTypeCode",
                "kind": "optional",
                "type": "string",
                "description": "<p>Indicates a  type for grouping promotions. DataCode Type: PromotionType</p>"
              },
              {
                "name": "promotionSubTypeCode",
                "kind": "optional",
                "type": "string",
                "description": "<p>Indicates a secondary type for grouping promotions. DataCode Type: PromotionSubType</p>"
              },
              {
                "name": "registerStartDateTime",
                "kind": "optional",
                "type": "string<date-time>",
                "description": "First date a member can register in promotion",
                "format": "date-time"
              },
              {
                "name": "registerEndDateTime",
                "kind": "optional",
                "type": "string<date-time>",
                "description": "Last date a member can register in promotion",
                "format": "date-time"
              },
              {
                "name": "registrationChannelCodes",
                "kind": "optional",
                "type": "array",
                "description": "<p>If present, specifies which channels are allowed to register members for this promotion. DataCode Type: RegistrationChannel</p>",
                "example": "",
                "itemType": "string",
                "customType": "string[]",
                "itemExample": "",
                "itemDefault": ""
              },
              {
                "name": "autoRegister",
                "kind": "optional",
                "type": "boolean",
                "description": "<p>When true, a Member's first qualifying activity for the promotion will automatically register them for the promo. However, if false, the Member will have to register for the promotion. Defaults to false.</p>"
              },
              {
                "name": "startDate",
                "kind": "optional",
                "type": "string<date>",
                "description": "First date of the promotion",
                "format": "date"
              },
              {
                "name": "endDate",
                "kind": "optional",
                "type": "string<date>",
                "description": "Date and time the Promotion is no longer valid",
                "format": "date"
              },
              {
                "name": "accrualTypeCode",
                "kind": "optional",
                "type": "string",
                "description": "<p>Accrual Type to count. DataCode Type: AccrualType Example: Base, Partner, Bonus, Promotion</p>"
              },
              {
                "name": "callCenterOnly",
                "kind": "optional",
                "type": "boolean",
                "description": "<p>Only awardable via call center. This is set to true if the promotion is segment restricted, the current member is NOT in that segment, and the allowCsrOverride flag on the PromotionRule is set to true.</p>"
              },
              {
                "name": "displayOnline",
                "kind": "optional",
                "type": "boolean",
                "description": "Flag to indicate if the promotion should be displayed in call center"
              },
              {
                "name": "displayOnlineUntilDateTime",
                "kind": "optional",
                "type": "string<date-time>",
                "description": "Used by frontend in conjunction with displayOnline flag",
                "format": "date-time"
              },
              {
                "name": "customData",
                "kind": "optional",
                "type": "object",
                "description": "",
                "modelRef": "#/components/schemas/SmartGroupCustomData",
                "customType": "SmartGroupCustomData",
                "schema": [
                  {
                    "name": "ace01",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace01Description field.</p>"
                  },
                  {
                    "name": "ace01Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace01 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace02",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace02Description field.</p>"
                  },
                  {
                    "name": "ace02Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace02 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace03",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace03Description field.</p>"
                  },
                  {
                    "name": "ace03Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace03 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace04",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace04Description field.</p>"
                  },
                  {
                    "name": "ace04Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace04 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace05",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace05Description field.</p>"
                  },
                  {
                    "name": "ace05Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace05 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace06",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace06Description field.</p>"
                  },
                  {
                    "name": "ace06Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace06 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace07",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace07Description field.</p>"
                  },
                  {
                    "name": "ace07Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace07 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace08",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace08Description field.</p>"
                  },
                  {
                    "name": "ace08Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace08 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace09",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace09Description field.</p>"
                  },
                  {
                    "name": "ace09Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the ace09 code value. Use this field to interpret the meaning of ace09 within the context of the client program.</p>"
                  },
                  {
                    "name": "ace10",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace10Description field.</p>"
                  },
                  {
                    "name": "ace10Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the ace10 code value. Use this field to interpret the meaning of ace10 within the context of the client program.</p>"
                  },
                  {
                    "name": "ace11",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace11Description field.</p>"
                  },
                  {
                    "name": "ace11Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace11 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace12",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace12Description field.</p>"
                  },
                  {
                    "name": "ace12Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace12 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace13",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace13Description field.</p>"
                  },
                  {
                    "name": "ace13Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace13 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace14",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace14Description field.</p>"
                  },
                  {
                    "name": "ace14Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace14 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace15",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Client-defined custom attribute. Value is program-specific; valid values are defined in the client program's custom data configuration. To get the human-readable label, refer to the paired ace15Description field.</p>"
                  },
                  {
                    "name": "ace15Description",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Human-readable label for the corresponding ace15 code value. Use this field to interpret the meaning of the paired ACE code within the context of the client program.</p>"
                  },
                  {
                    "name": "ace01SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE01 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace02SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE02 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace03SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE03 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace04SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE04 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace05SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE05 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace06SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE06 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace07SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE07 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace08SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE08 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace09SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE09 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace10SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE10 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace11SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE11 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace12SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE12 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace13SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE13 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace14SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE14 Smart Group Id",
                    "format": "int64"
                  },
                  {
                    "name": "ace15SmartGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ACE15 Smart Group Id",
                    "format": "int64"
                  }
                ]
              },
              {
                "name": "genericItem",
                "kind": "optional",
                "type": "object",
                "description": "",
                "modelRef": "#/components/schemas/GenericItem",
                "customType": "GenericItem",
                "schema": [
                  {
                    "name": "contentCode",
                    "kind": "required",
                    "type": "string",
                    "description": "Identifier that can be used to look up the desired content",
                    "example": "Bonus100"
                  },
                  {
                    "name": "contentTypeCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>DataCode Type: ContentType Example: HEADER, FOOTER</p>",
                    "example": "HEADER"
                  },
                  {
                    "name": "name",
                    "kind": "optional",
                    "type": "string",
                    "description": "Name",
                    "example": "Bonus 100 points",
                    "maxLength": 50
                  },
                  {
                    "name": "shortDescription",
                    "kind": "optional",
                    "type": "string",
                    "description": "Short description",
                    "example": "Award 100 points",
                    "maxLength": 500
                  },
                  {
                    "name": "description",
                    "kind": "optional",
                    "type": "string",
                    "description": "Large description",
                    "example": "Award 100 points on 100th stay"
                  },
                  {
                    "name": "alternateDescription",
                    "kind": "optional",
                    "type": "string",
                    "description": "Alternate large description",
                    "example": "Award 100 points on 100th stay"
                  },
                  {
                    "name": "termsAndConditions",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Terms and conditions, typically used as part of a coupon or redemption item</p>",
                    "example": "Terms and conditions for this promotion"
                  },
                  {
                    "name": "title",
                    "kind": "optional",
                    "type": "string",
                    "description": "Title content",
                    "example": "Award 100 points",
                    "maxLength": 200
                  },
                  {
                    "name": "label",
                    "kind": "optional",
                    "type": "string",
                    "description": "Label content",
                    "example": "100 points awarded",
                    "maxLength": 255
                  },
                  {
                    "name": "logoKey",
                    "kind": "optional",
                    "type": "string",
                    "description": "Image name or hosted image location'",
                    "example": "100-points.png"
                  },
                  {
                    "name": "displayTypeKey",
                    "kind": "optional",
                    "type": "string",
                    "description": "Interpreted by content display",
                    "example": "100 points"
                  },
                  {
                    "name": "startDate",
                    "kind": "optional",
                    "type": "string<date-time>",
                    "description": "The date and time the content becomes valid",
                    "format": "date-time"
                  },
                  {
                    "name": "endDate",
                    "kind": "optional",
                    "type": "string<date-time>",
                    "description": "The date and time the content is no longer valid",
                    "format": "date-time"
                  },
                  {
                    "name": "url",
                    "kind": "optional",
                    "type": "string",
                    "description": "A url for use in content",
                    "example": "/loyaltyprogram/bonus/100-points",
                    "maxLength": 1000
                  },
                  {
                    "name": "tierCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>A tier the content is related to; Value comes from Tier Definition</p>",
                    "example": "B"
                  },
                  {
                    "name": "displayForAll",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "<p>True or False; interpreted by content display</p>",
                    "example": true
                  },
                  {
                    "name": "descriptorCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>DataCode Type: GenericItemDescriptor Example: LIMITED_TIME</p>",
                    "example": "LIMITED_TIME"
                  }
                ]
              },
              {
                "name": "graceLimit",
                "kind": "optional",
                "type": "integer<int32>",
                "description": "Number of days past this promotion's end date to process incoming transactions. Leave empty for no end date.",
                "format": "int32"
              },
              {
                "name": "hasMinUserRoleToRegister",
                "kind": "optional",
                "type": "boolean",
                "description": "Requires a minimal user role to register"
              },
              {
                "name": "minimumAccrualAmount",
                "kind": "optional",
                "type": "number",
                "description": "<p>DEPRECATED - Minimum spend on an accrual record for it to count toward promotion</p>"
              },
              {
                "name": "occurrenceLimit",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "Number of times the promotion can be awarded over the period of the entire promotion",
                "format": "int64"
              },
              {
                "name": "partnerProgramCode",
                "kind": "optional",
                "type": "string",
                "description": "Partner Program identifier the promotion is associated with"
              },
              {
                "name": "currencyCategoryCode",
                "kind": "optional",
                "type": "string",
                "description": "<p>DEPRECATED - Transaction must have utilized this currency category to qualify for this promotion</p>"
              },
              {
                "name": "processRetroAccruals",
                "kind": "optional",
                "type": "boolean",
                "description": "<p>Indicates that the promotion process will find previously processed accruals and potentially award progress/results on registration</p>"
              },
              {
                "name": "restrict",
                "kind": "optional",
                "type": "boolean",
                "description": "Indicates that registration dates should be collected. Otherwise the registerStartDate and registerEndDate will be set by the system as the same as promotion start and end"
              },
              {
                "name": "memberListId",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "The Tally internal identifier of the member list members must be in to qualify. Only if the promotion is targeted to particular member list",
                "format": "int64"
              },
              {
                "name": "slidingQualificationPeriod",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "Period length in days to evaluate the number of transactions specified occurred",
                "format": "int64"
              },
              {
                "name": "tierCode",
                "kind": "optional",
                "type": "string",
                "description": "<p>DEPRECATED - Indicator of the tier member's must be in to earn for this promotion</p>"
              },
              {
                "name": "trackRegistrationSource",
                "kind": "optional",
                "type": "boolean",
                "description": "Indicator to track registration source"
              },
              {
                "name": "preQualificationCounters",
                "kind": "optional",
                "type": "array",
                "description": "<p>A collection of details about the counter type(s) and target(s) needed to pre-qualify for this promotion</p>",
                "modelRef": "#/components/schemas/PromotionCounter",
                "customType": "PromotionCounter[]",
                "schema": [
                  {
                    "name": "counterTypeCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>The counter type indicates what about a transaction is being counted. DataCode Type: CounterType Example: Stays, Trips, Nights, Visits</p>"
                  },
                  {
                    "name": "target",
                    "kind": "optional",
                    "type": "number",
                    "description": "Count at which member will be rewarded."
                  },
                  {
                    "name": "result",
                    "kind": "optional",
                    "type": "array",
                    "description": "Details about what a member gets for meeting the target.",
                    "modelRef": "#/components/schemas/PromotionResult",
                    "customType": "PromotionResult[]",
                    "schema": [
                      {
                        "name": "type",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Type of result (ie. Points, Counter, Tier, FutureTier, Promotion, Communication, Coupon, Redemption, External)</p>"
                      },
                      {
                        "name": "value",
                        "kind": "optional",
                        "type": "string",
                        "description": "Value of award"
                      },
                      {
                        "name": "valueType",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Dependent on type of result, currency type code if type is points</p>"
                      },
                      {
                        "name": "description",
                        "kind": "optional",
                        "type": "string",
                        "description": "Description of awarded object"
                      },
                      {
                        "name": "resultAwardId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "Identifier of of awarded object e.g. a CommunicationId or PromotionId",
                        "format": "int64"
                      },
                      {
                        "name": "resultAwardCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "Code of awarded object e.g. a CommunicationCode"
                      },
                      {
                        "name": "bonusByActivity",
                        "kind": "optional",
                        "type": "boolean",
                        "description": "Flag to indicate if the bonus has the currency awarded by activity."
                      },
                      {
                        "name": "displayName",
                        "kind": "optional",
                        "type": "string",
                        "description": "Display text of award result code with description and value type."
                      }
                    ]
                  }
                ]
              },
              {
                "name": "counters",
                "kind": "optional",
                "type": "array",
                "description": "<p>A collection of details about the counter type(s) and target(s) needed to earn complete this promotion.</p>",
                "modelRef": "#/components/schemas/PromotionCounter",
                "customType": "PromotionCounter[]",
                "schema": [
                  {
                    "name": "counterTypeCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>The counter type indicates what about a transaction is being counted. DataCode Type: CounterType Example: Stays, Trips, Nights, Visits</p>"
                  },
                  {
                    "name": "target",
                    "kind": "optional",
                    "type": "number",
                    "description": "Count at which member will be rewarded."
                  },
                  {
                    "name": "result",
                    "kind": "optional",
                    "type": "array",
                    "description": "Details about what a member gets for meeting the target.",
                    "modelRef": "#/components/schemas/PromotionResult",
                    "customType": "PromotionResult[]",
                    "schema": [
                      {
                        "name": "type",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Type of result (ie. Points, Counter, Tier, FutureTier, Promotion, Communication, Coupon, Redemption, External)</p>"
                      },
                      {
                        "name": "value",
                        "kind": "optional",
                        "type": "string",
                        "description": "Value of award"
                      },
                      {
                        "name": "valueType",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Dependent on type of result, currency type code if type is points</p>"
                      },
                      {
                        "name": "description",
                        "kind": "optional",
                        "type": "string",
                        "description": "Description of awarded object"
                      },
                      {
                        "name": "resultAwardId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "description": "Identifier of of awarded object e.g. a CommunicationId or PromotionId",
                        "format": "int64"
                      },
                      {
                        "name": "resultAwardCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "Code of awarded object e.g. a CommunicationCode"
                      },
                      {
                        "name": "bonusByActivity",
                        "kind": "optional",
                        "type": "boolean",
                        "description": "Flag to indicate if the bonus has the currency awarded by activity."
                      },
                      {
                        "name": "displayName",
                        "kind": "optional",
                        "type": "string",
                        "description": "Display text of award result code with description and value type."
                      }
                    ]
                  }
                ]
              },
              {
                "name": "resultCommunication",
                "kind": "optional",
                "type": "boolean",
                "description": "True indicates the result sends a communication on promotion award"
              },
              {
                "name": "resultCommunicationId",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "The communication that should be triggered by qualifying when resultCommunication is true",
                "format": "int64"
              },
              {
                "name": "resultCurrency",
                "kind": "optional",
                "type": "boolean",
                "description": "True indicates that currency shall be awarded when promotion target is met"
              },
              {
                "name": "resultCurrencyAmount",
                "kind": "optional",
                "type": "number",
                "description": "<p>If currency are being awarded, this is the qty. Must be ued in conjunction with ResultCurrency=true; ResultCurrencyCategoryCode and ResultType</p>"
              },
              {
                "name": "resultCurrencyCategoryCode",
                "kind": "optional",
                "type": "string",
                "description": "<p>If currency is being awarded, this is the currency category for the member currency record to deposit in to</p>"
              },
              {
                "name": "resultCurrencyTierQualifier",
                "kind": "optional",
                "type": "boolean",
                "description": "<p>If resultCurrencyTierQualifier is true, then currency awarded will count toward tier.</p>"
              },
              {
                "name": "resultExternal",
                "kind": "optional",
                "type": "boolean",
                "description": "<p>True indicates that the result is an external type that is fulfilled outside of the Tally system (ie. a T-shirt given in-restaurant after meeting promotion rule)</p>"
              },
              {
                "name": "resultExternalCode",
                "kind": "optional",
                "type": "string",
                "description": "The external type code the promotion awards"
              },
              {
                "name": "resultPromotion",
                "kind": "optional",
                "type": "boolean",
                "description": "True indicates that registration in another promotion shall be awarded when promotion target is met"
              },
              {
                "name": "resultPromotionId",
                "kind": "optional",
                "type": "integer<int64>",
                "description": "The Tally internal identifier for the Promotion member shall be registered in if resultPromotion is True",
                "format": "int64"
              },
              {
                "name": "resultTier",
                "kind": "optional",
                "type": "boolean",
                "description": "True indicates that member shall be awarded a tier that is higher than current existing tier when promotion target is met"
              },
              {
                "name": "resultTierCode",
                "kind": "optional",
                "type": "string",
                "description": "Tier identifier the member shall be awarded if resultTier is True"
              },
              {
                "name": "resultTierExpireDateTime",
                "kind": "optional",
                "type": "string<date-time>",
                "description": "<p>If resultTier is true, then this will be the date the member is a part of the awarded tier until. After which normal step down rules for the program will apply</p>",
                "format": "date-time"
              },
              {
                "name": "rewardThresholds",
                "kind": "optional",
                "type": "boolean",
                "description": "Indicates that the promotion has one or more thresholds"
              },
              {
                "name": "results",
                "kind": "optional",
                "type": "array",
                "description": "Details about the result of completing the promotion.",
                "modelRef": "#/components/schemas/PromotionResult",
                "customType": "PromotionResult[]",
                "schema": [
                  {
                    "name": "type",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Type of result (ie. Points, Counter, Tier, FutureTier, Promotion, Communication, Coupon, Redemption, External)</p>"
                  },
                  {
                    "name": "value",
                    "kind": "optional",
                    "type": "string",
                    "description": "Value of award"
                  },
                  {
                    "name": "valueType",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Dependent on type of result, currency type code if type is points</p>"
                  },
                  {
                    "name": "description",
                    "kind": "optional",
                    "type": "string",
                    "description": "Description of awarded object"
                  },
                  {
                    "name": "resultAwardId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Identifier of of awarded object e.g. a CommunicationId or PromotionId",
                    "format": "int64"
                  },
                  {
                    "name": "resultAwardCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "Code of awarded object e.g. a CommunicationCode"
                  },
                  {
                    "name": "bonusByActivity",
                    "kind": "optional",
                    "type": "boolean",
                    "description": "Flag to indicate if the bonus has the currency awarded by activity."
                  },
                  {
                    "name": "displayName",
                    "kind": "optional",
                    "type": "string",
                    "description": "Display text of award result code with description and value type."
                  }
                ]
              },
              {
                "name": "statusCode",
                "kind": "optional",
                "type": "string",
                "description": "Indicates whether the promotion is currently active."
              },
              {
                "name": "renewableCounters",
                "kind": "optional",
                "type": "boolean",
                "description": "Indicates whether promotion counters are reset to zero after each accrual is processed against the rule."
              },
              {
                "name": "promotionGroup",
                "kind": "optional",
                "type": "object",
                "description": "<p>Note: PromotionGroup has no separate code field. The name field (max 50 chars, unique) serves as the stable natural key for cross-environment reference.</p>",
                "modelRef": "#/components/schemas/PromotionGroup",
                "customType": "PromotionGroup",
                "schema": [
                  {
                    "name": "promotionGroupId",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "readOnly": true,
                    "description": "Internal Tally identifier for the promotion group",
                    "example": 100,
                    "format": "int64"
                  },
                  {
                    "name": "name",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Stable natural key and display name of the promotion group (max 50 chars)</p>",
                    "example": "Summer Bonus Group",
                    "maxLength": 50
                  },
                  {
                    "name": "description",
                    "kind": "optional",
                    "type": "string",
                    "description": "Description of the promotion group",
                    "example": "Groups summer bonus promotions with a shared registration limit",
                    "maxLength": 300
                  },
                  {
                    "name": "statusCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Values for this field need to match datacodes setup with a CodeType of: PromotionGroupStatus</p>",
                    "example": "ACTIVE"
                  },
                  {
                    "name": "typeCode",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Values for this field need to match datacodes setup with a CodeType of: PromotionGroupType</p>",
                    "example": "LimitRegistration"
                  },
                  {
                    "name": "limit",
                    "kind": "optional",
                    "type": "integer<int32>",
                    "description": "Maximum number of awards or registrations allowed across the group. Only applicable when typeCode is LimitAwards or LimitRegistration",
                    "example": 10,
                    "format": "int32",
                    "minimum": 0
                  },
                  {
                    "name": "promotions",
                    "kind": "optional",
                    "type": "array",
                    "description": "<p>All promotions belonging to this group, in display order</p>",
                    "modelRef": "#/components/schemas/PromotionGroupEntry",
                    "customType": "PromotionGroupEntry[]",
                    "schema": [
                      {
                        "name": "promotionId",
                        "kind": "optional",
                        "type": "integer<int64>",
                        "readOnly": true,
                        "description": "Internal Tally identifier for the promotion in this group",
                        "example": 101,
                        "format": "int64"
                      },
                      {
                        "name": "promotionCode",
                        "kind": "optional",
                        "type": "string",
                        "description": "<p>Stable natural key for client-side matching to external promotion identifiers</p>",
                        "example": "SUMMER-BONUS-101",
                        "maxLength": 50
                      },
                      {
                        "name": "primaryRule",
                        "kind": "optional",
                        "type": "boolean",
                        "description": "<p>True if this is the primary (container) promotion for the group</p>"
                      },
                      {
                        "name": "autoRegister",
                        "kind": "optional",
                        "type": "boolean",
                        "description": "<p>If true, registering for the primary promotion auto-registers the member for this promotion as well</p>"
                      },
                      {
                        "name": "displaySequenceNum",
                        "kind": "optional",
                        "type": "integer<int32>",
                        "description": "Display order of this promotion within the group",
                        "example": 1,
                        "format": "int32",
                        "minimum": 0
                      }
                    ]
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/PromotionReward",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "Bad request",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "",
            "customType": "ErrorResponse",
            "schema": [
              {
                "name": "errors",
                "kind": "optional",
                "type": "array",
                "description": "List of errors",
                "modelRef": "#/components/schemas/ValidationError",
                "customType": "ValidationError[]",
                "schema": [
                  {
                    "name": "code",
                    "kind": "optional",
                    "type": "string",
                    "description": "Error code assigned to this violation"
                  },
                  {
                    "name": "fieldName",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>Name of field that violated validation constraint (optional)</p>"
                  },
                  {
                    "name": "message",
                    "kind": "optional",
                    "type": "string",
                    "description": "Internal message describing the error"
                  },
                  {
                    "name": "messageParameters",
                    "kind": "optional",
                    "type": "array",
                    "description": "Error message parameters",
                    "example": "",
                    "itemType": "object",
                    "customType": "object[]",
                    "schema": []
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/ErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "Unauthorized",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "403",
        "description": "Forbidden",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "500",
        "description": "Internal error",
        "jsonExample": "",
        "isExpanded": true
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "JDc3op_Zt8-mMQFs5jHFT",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request GET \\\n     --url 'https://api.b.preview.loyaltyservices.io/api/v3/promotions?includeUnavailable=boolean&includeInactive=boolean' \\\n     --header 'accept: application/json'"
        },
        {
          "id": "SnG8NkEhnNlfBrwVJTZBF",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.b.preview.loyaltyservices.io/api/v3/promotions?includeUnavailable=boolean&includeInactive=boolean\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "_5cBxnUrekzFA5CbGrWv_",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.b.preview.loyaltyservices.io/api/v3/promotions?includeUnavailable=boolean&includeInactive=boolean\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        },
        {
          "id": "qVhtD4Zm-2kP0LRS7h9OG",
          "language": "java",
          "label": "Java",
          "code": "OkHttpClient client = new OkHttpClient().newBuilder()\n   .build();\nMediaType mediaType = MediaType.parse(\"application/json\");\nRequestBody body = RequestBody.create(mediaType, \"\");\nRequest request = new Request.Builder()\n   .url(\"https://api.b.preview.loyaltyservices.io/api/v3/promotions?includeUnavailable=boolean&includeInactive=boolean\")\n   .method(\"GET\", body)\n   .addHeader(\"accept\", \"application/json\")\n   .addHeader(\"content-type\", \"application/json\")\n   .build();\nResponse response = client.newCall(request).execute();"
        }
      ],
      "selectedLanguageId": "JDc3op_Zt8-mMQFs5jHFT"
    },
    "results": {
      "languages": [
        {
          "id": "wjwzVN8hV_y7S-gxPw-2r",
          "language": "200",
          "code": "// Success\n[\n  {\n    \"promotionId\": \"\",\n    \"promotionCode\": \"\",\n    \"promotionName\": \"\",\n    \"promotionDescription\": \"\",\n    \"promotionTypeCode\": \"\",\n    \"promotionSubTypeCode\": \"\",\n    \"registerStartDateTime\": \"\",\n    \"registerEndDateTime\": \"\",\n    \"registrationChannelCodes\": [\n      \"\"\n    ],\n    \"autoRegister\": false,\n    \"startDate\": \"\",\n    \"endDate\": \"\",\n    \"accrualTypeCode\": \"\",\n    \"callCenterOnly\": false,\n    \"displayOnline\": false,\n    \"displayOnlineUntilDateTime\": \"\",\n    \"customData\": {\n      \"ace01\": \"\",\n      \"ace01Description\": \"\",\n      \"ace02\": \"\",\n      \"ace02Description\": \"\",\n      \"ace03\": \"\",\n      \"ace03Description\": \"\",\n      \"ace04\": \"\",\n      \"ace04Description\": \"\",\n      \"ace05\": \"\",\n      \"ace05Description\": \"\",\n      \"ace06\": \"\",\n      \"ace06Description\": \"\",\n      \"ace07\": \"\",\n      \"ace07Description\": \"\",\n      \"ace08\": \"\",\n      \"ace08Description\": \"\",\n      \"ace09\": \"\",\n      \"ace09Description\": \"\",\n      \"ace10\": \"\",\n      \"ace10Description\": \"\",\n      \"ace11\": \"\",\n      \"ace11Description\": \"\",\n      \"ace12\": \"\",\n      \"ace12Description\": \"\",\n      \"ace13\": \"\",\n      \"ace13Description\": \"\",\n      \"ace14\": \"\",\n      \"ace14Description\": \"\",\n      \"ace15\": \"\",\n      \"ace15Description\": \"\",\n      \"ace01SmartGroupId\": \"\",\n      \"ace02SmartGroupId\": \"\",\n      \"ace03SmartGroupId\": \"\",\n      \"ace04SmartGroupId\": \"\",\n      \"ace05SmartGroupId\": \"\",\n      \"ace06SmartGroupId\": \"\",\n      \"ace07SmartGroupId\": \"\",\n      \"ace08SmartGroupId\": \"\",\n      \"ace09SmartGroupId\": \"\",\n      \"ace10SmartGroupId\": \"\",\n      \"ace11SmartGroupId\": \"\",\n      \"ace12SmartGroupId\": \"\",\n      \"ace13SmartGroupId\": \"\",\n      \"ace14SmartGroupId\": \"\",\n      \"ace15SmartGroupId\": \"\"\n    },\n    \"genericItem\": {\n      \"contentCode\": \"Bonus100\",\n      \"contentTypeCode\": \"HEADER\",\n      \"name\": \"Bonus 100 points\",\n      \"shortDescription\": \"Award 100 points\",\n      \"description\": \"Award 100 points on 100th stay\",\n      \"alternateDescription\": \"Award 100 points on 100th stay\",\n      \"termsAndConditions\": \"Terms and conditions for this promotion\",\n      \"title\": \"Award 100 points\",\n      \"label\": \"100 points awarded\",\n      \"logoKey\": \"100-points.png\",\n      \"displayTypeKey\": \"100 points\",\n      \"startDate\": \"\",\n      \"endDate\": \"\",\n      \"url\": \"/loyaltyprogram/bonus/100-points\",\n      \"tierCode\": \"B\",\n      \"displayForAll\": true,\n      \"descriptorCode\": \"LIMITED_TIME\"\n    },\n    \"graceLimit\": \"\",\n    \"hasMinUserRoleToRegister\": false,\n    \"minimumAccrualAmount\": 0,\n    \"occurrenceLimit\": \"\",\n    \"partnerProgramCode\": \"\",\n    \"currencyCategoryCode\": \"\",\n    \"processRetroAccruals\": false,\n    \"restrict\": false,\n    \"memberListId\": \"\",\n    \"slidingQualificationPeriod\": \"\",\n    \"tierCode\": \"\",\n    \"trackRegistrationSource\": false,\n    \"preQualificationCounters\": [\n      {\n        \"counterTypeCode\": \"\",\n        \"target\": 0,\n        \"result\": [\n          {\n            \"type\": \"\",\n            \"value\": \"\",\n            \"valueType\": \"\",\n            \"description\": \"\",\n            \"resultAwardId\": \"\",\n            \"resultAwardCode\": \"\",\n            \"bonusByActivity\": false,\n            \"displayName\": \"\"\n          }\n        ]\n      }\n    ],\n    \"counters\": [\n      {\n        \"counterTypeCode\": \"\",\n        \"target\": 0,\n        \"result\": [\n          {\n            \"type\": \"\",\n            \"value\": \"\",\n            \"valueType\": \"\",\n            \"description\": \"\",\n            \"resultAwardId\": \"\",\n            \"resultAwardCode\": \"\",\n            \"bonusByActivity\": false,\n            \"displayName\": \"\"\n          }\n        ]\n      }\n    ],\n    \"resultCommunication\": false,\n    \"resultCommunicationId\": \"\",\n    \"resultCurrency\": false,\n    \"resultCurrencyAmount\": 0,\n    \"resultCurrencyCategoryCode\": \"\",\n    \"resultCurrencyTierQualifier\": false,\n    \"resultExternal\": false,\n    \"resultExternalCode\": \"\",\n    \"resultPromotion\": false,\n    \"resultPromotionId\": \"\",\n    \"resultTier\": false,\n    \"resultTierCode\": \"\",\n    \"resultTierExpireDateTime\": \"\",\n    \"rewardThresholds\": false,\n    \"results\": [\n      {\n        \"type\": \"\",\n        \"value\": \"\",\n        \"valueType\": \"\",\n        \"description\": \"\",\n        \"resultAwardId\": \"\",\n        \"resultAwardCode\": \"\",\n        \"bonusByActivity\": false,\n        \"displayName\": \"\"\n      }\n    ],\n    \"statusCode\": \"\",\n    \"renewableCounters\": false,\n    \"promotionGroup\": {\n      \"promotionGroupId\": 100,\n      \"name\": \"Summer Bonus Group\",\n      \"description\": \"Groups summer bonus promotions with a shared registration limit\",\n      \"statusCode\": \"ACTIVE\",\n      \"typeCode\": \"LimitRegistration\",\n      \"limit\": 10,\n      \"promotions\": [\n        {\n          \"promotionId\": 101,\n          \"promotionCode\": \"SUMMER-BONUS-101\",\n          \"primaryRule\": false,\n          \"autoRegister\": false,\n          \"displaySequenceNum\": 1\n        }\n      ]\n    }\n  }\n]"
        },
        {
          "id": "nimKsOnapJAz-KZDmJA2y",
          "language": "400",
          "code": "// Bad request\n{\n  \"errors\": [\n    {\n      \"code\": \"\",\n      \"fieldName\": \"\",\n      \"message\": \"\",\n      \"messageParameters\": [\n        {}\n      ]\n    }\n  ]\n}"
        },
        {
          "id": "5v5QD14Q4mUaLFieU5OSm",
          "language": "401",
          "code": "// Unauthorized\n"
        },
        {
          "id": "3gkEo4rz3YpAL331oPWJN",
          "language": "403",
          "code": "// Forbidden\n"
        },
        {
          "id": "SxwhZHLZ9LMviuVit_iPR",
          "language": "500",
          "code": "// Internal error\n"
        }
      ],
      "selectedLanguageId": "wjwzVN8hV_y7S-gxPw-2r"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}