{
  "components": {
    "examples": {
      "200-admin-daily-chain": {
        "summary": "Exemplo de recompensa diária",
        "value": {
          "date_end": "2025-04-25T18:16:00+05:00",
          "date_start": "2023-04-15T18:16:00+05:00",
          "description": {
            "en": "Daily reward short description"
          },
          "id": 3,
          "is_enabled": true,
          "is_recurrent": false,
          "name": {
            "en": "Daily reward",
            "ru": "Ежедневная награда"
          },
          "number_of_steps": 3,
          "order": 1,
          "steps": [
            {
              "items": [
                {
                  "description": {
                    "en": "Allows to see the stars",
                    "ru": "Позволяет увидеть звезды"
                  },
                  "image_url": "https://picture.bundle-picture.png",
                  "item_id": 9010,
                  "name": {
                    "en": "Telescope",
                    "ru": "Телескоп"
                  },
                  "quantity": 1,
                  "sku": "telescope",
                  "type": "virtual_good"
                },
                {
                  "description": {
                    "en": "Heal 10% of your health",
                    "ru": "Лечит 10% здоровья"
                  },
                  "image_url": "https://picture.bundle-picture.png",
                  "item_id": 9012,
                  "name": {
                    "en": "Healing potion",
                    "ru": "Зелье лечения"
                  },
                  "quantity": 2,
                  "sku": "health_potion",
                  "type": "virtual_good"
                }
              ],
              "step_id": 7,
              "step_number": 1
            },
            {
              "items": [
                {
                  "description": {
                    "en": "Allows to see the stars",
                    "ru": "Позволяет увидеть звезды"
                  },
                  "image_url": "https://picture.bundle-picture.png",
                  "item_id": 9010,
                  "name": {
                    "en": "Telescope",
                    "ru": "Телескоп"
                  },
                  "quantity": 5,
                  "sku": "telescope",
                  "type": "virtual_good"
                }
              ],
              "step_id": 6,
              "step_number": 2
            },
            {
              "items": [
                {
                  "description": {
                    "en": "Allows to see the stars",
                    "ru": "Позволяет увидеть звезды"
                  },
                  "image_url": "https://picture.bundle-picture.png",
                  "item_id": 9010,
                  "name": {
                    "en": "Telescope",
                    "ru": "Телескоп"
                  },
                  "quantity": 2,
                  "sku": "telescope",
                  "type": "virtual_good"
                }
              ],
              "step_id": 5,
              "step_number": 3
            }
          ],
          "type": "calendar_hard"
        }
      },
      "200-admin-daily-chain-list": {
        "summary": "Exemplo de lista de recompensa diária",
        "value": {
          "has_more": false,
          "items": [
            {
              "date_end": "2025-04-25T18:16:00+05:00",
              "date_start": "2023-04-15T18:16:00+05:00",
              "description": {
                "en": "Daily reward short description"
              },
              "id": 1,
              "is_enabled": false,
              "is_recurrent": true,
              "name": {
                "en": "Daily reward",
                "ru": "Ежедневная награда"
              },
              "number_of_steps": 10,
              "order": 1,
              "type": "calendar_hard"
            },
            {
              "date_end": "2025-04-28T15:00:00+08:00",
              "date_start": "2025-04-15T00:00:00+08:00",
              "description": {
                "en": "Monthly daily reward short description"
              },
              "id": 2,
              "is_enabled": false,
              "is_recurrent": true,
              "name": {
                "en": "Monthly daily reward",
                "ru": "Ежедневные награды в цепочке на месяц"
              },
              "number_of_steps": 13,
              "order": 2,
              "type": "calendar_hard"
            },
            {
              "date_end": "2025-05-31T18:16:00+05:00",
              "date_start": "2023-05-01T18:16:00+05:00",
              "description": {
                "en": "Login reward short description"
              },
              "id": 3,
              "is_enabled": true,
              "is_recurrent": true,
              "name": {
                "en": "Login reward"
              },
              "number_of_steps": 7,
              "order": 3,
              "type": "rolling_skippable"
            },
            {
              "date_end": "2025-04-25T18:16:00+05:00",
              "date_start": "2023-04-15T18:16:00+05:00",
              "description": {
                "en": "Daily reward short description"
              },
              "id": 4,
              "is_enabled": true,
              "is_recurrent": true,
              "name": {
                "en": "Daily reward",
                "ru": "Ежедневная награда"
              },
              "number_of_steps": 10,
              "order": 4,
              "type": "calendar_hard"
            },
            {
              "date_end": "2025-11-30T10:00:00+05:00",
              "date_start": "2025-11-01T10:00:00+05:00",
              "description": {
                "en": "Unskippable login reward short description"
              },
              "id": 5,
              "is_enabled": true,
              "is_recurrent": true,
              "name": {
                "en": "Unskippable login reward"
              },
              "number_of_steps": 7,
              "order": 3,
              "type": "rolling_unskippable"
            }
          ],
          "total_items_count": 3
        }
      },
      "200-admin-offer-chain": {
        "summary": "Exemplo de cadeia de ofertas",
        "value": {
          "attribute_conditions": [
            {
              "attribute": "race",
              "can_be_missing": false,
              "operator": "eq",
              "type": "string",
              "value": "elf"
            },
            {
              "attribute": "level",
              "can_be_missing": false,
              "operator": "ge",
              "type": "number",
              "value": "10"
            },
            {
              "attribute": "10_level_up_date",
              "can_be_missing": false,
              "operator": "le",
              "type": "date",
              "value": "2026-01-01T00:00:00"
            }
          ],
          "date_end": "2025-04-25T18:16:00+05:00",
          "date_start": "2023-04-15T18:16:00+05:00",
          "description": {
            "de": "Personalisierte Angebotskette mit Benutzerattributbedingungen - für Elfen der Stufe 10 und höher, die Stufe 10 spätestens am 2026-01-01 00:00:00 erreicht haben, einschließlich",
            "en": "Personalized offer chain with user attribute conditions - for level 10 and above elves who reached level 10 no later than 2026-01-01 00:00:00, inclusive",
            "fr": "Chaîne d'offres personnalisée avec des conditions d'attribut utilisateur - pour les elfes de niveau 10 et plus qui ont atteint le niveau 10 au plus tard le 2026-01-01 00:00:00, inclus",
            "it": "Catena di offerte personalizzata con condizioni di attributo utente - per elfi di livello 10 e superiore che hanno raggiunto il livello 10 non più tardi del 2026-01-01 00:00:00, inclusi",
            "ru": "Персонализированная цепочка предложений - для эльфов 10 уровня и выше, достигших 10 уровня не позднее 2026-01-01 00:00:00 включительно"
          },
          "id": 3,
          "is_always_visible": false,
          "is_enabled": true,
          "name": {
            "de": "Angebotskette",
            "en": "Offer chain",
            "fr": "Chaîne d'offres",
            "it": "Catena di offerte",
            "ru": "Цепочка"
          },
          "order": 1,
          "recurrent_schedule": null,
          "steps": [
            {
              "is_free": false,
              "items": [
                {
                  "description": {
                    "de": "Ermöglicht das Betrachten der Sterne",
                    "en": "Allows to see the stars",
                    "fr": "Permet de voir les étoiles",
                    "it": "Permette di vedere le stelle",
                    "ru": "Позволяет увидеть звезды"
                  },
                  "image_url": "https://cdn.picture.vg.sku-telescope.png",
                  "item_id": 9010,
                  "name": {
                    "de": "Teleskop",
                    "en": "Telescope",
                    "fr": "Télescope",
                    "it": "Telescopio",
                    "ru": "Телескоп"
                  },
                  "order": 1,
                  "quantity": 1,
                  "sku": "telescope",
                  "type": "virtual_good"
                },
                {
                  "description": {
                    "de": "Heilt 10% deiner Gesundheit",
                    "en": "Heal 10% of your health",
                    "fr": "Soigne 10% de votre santé",
                    "it": "Cura il 10% della tua salute",
                    "ru": "Лечит 10% здоровья"
                  },
                  "image_url": "https://cdn.picture/vg-sku-health_potion.png",
                  "item_id": 9012,
                  "name": {
                    "de": "Heiltrank",
                    "en": "Healing potion",
                    "fr": "Potion de soin",
                    "it": "Pozione curativa",
                    "ru": "Зелье лечения"
                  },
                  "order": 0,
                  "quantity": 2,
                  "sku": "health_potion",
                  "type": "virtual_good"
                }
              ],
              "step_id": 7,
              "step_number": 1
            },
            {
              "is_free": false,
              "items": [
                {
                  "description": {
                    "de": "Ermöglicht das Betrachten der Sterne",
                    "en": "Allows to see the stars",
                    "fr": "Permet de voir les étoiles",
                    "it": "Permette di vedere le stelle",
                    "ru": "Позволяет увидеть звезды"
                  },
                  "image_url": "https://cdn.picture/vg-sku-telescope.png",
                  "item_id": 9010,
                  "name": {
                    "de": "Teleskop",
                    "en": "Telescope",
                    "fr": "Télescope",
                    "it": "Telescopio",
                    "ru": "Телескоп"
                  },
                  "order": 0,
                  "quantity": 5,
                  "sku": "telescope",
                  "type": "virtual_good"
                }
              ],
              "step_id": 6,
              "step_number": 2
            },
            {
              "is_free": true,
              "items": [
                {
                  "description": {
                    "de": "Ermöglicht das Betrachten der Sterne",
                    "en": "Allows to see the stars",
                    "fr": "Permet de voir les étoiles",
                    "it": "Permette di vedere le stelle",
                    "ru": "Позволяет увидеть звезды"
                  },
                  "image_url": "https://cdn.picture/vg-sku-telescope.png",
                  "item_id": 9010,
                  "name": {
                    "de": "Teleskop",
                    "en": "Telescope",
                    "fr": "Télescope",
                    "it": "Telescopio",
                    "ru": "Телескоп"
                  },
                  "order": 0,
                  "quantity": 2,
                  "sku": "telescope",
                  "type": "virtual_good"
                }
              ],
              "step_id": 5,
              "step_number": 3
            }
          ]
        }
      },
      "200-admin-offer-chain-list": {
        "summary": "Exemplo de lista de cadeia de ofertas",
        "value": {
          "has_more": false,
          "items": [
            {
              "date_end": "2025-04-25T18:16:00+05:00",
              "date_start": "2023-04-15T18:16:00+05:00",
              "description": {
                "de": "Standard-personalisierte Angebotskette für Benutzer, die die Bedingungen anderer personalisierter Ketten nicht erfüllen",
                "en": "Default personalized offer chain for users that do not meet the conditions of other personalized chains",
                "fr": "Chaîne d'offres personnalisée par défaut pour les utilisateurs qui ne répondent pas aux conditions des autres chaînes personnalisées",
                "it": "Catena di offerte personalizzata predefinita per gli utenti che non soddisfano le condizioni di altre catene personalizzate",
                "ru": "Персонализированная цепочка по умолчанию для пользователей, не подходящих под условия других персонализированных цепочек"
              },
              "id": 1,
              "is_always_visible": false,
              "is_enabled": true,
              "name": {
                "de": "Neue personalisierte Standard-Angebotskette",
                "en": "New personalized default offer chain",
                "fr": "Nouvelle chaîne d'offres personnalisée par défaut",
                "it": "Nuova catena di offerte personalizzata predefinita",
                "ru": "Новая персонализированная цепочка предложений по умолчанию"
              },
              "order": 1,
              "recurrent_schedule": null
            },
            {
              "attribute_conditions": [
                {
                  "attribute": "race",
                  "can_be_missing": false,
                  "operator": "eq",
                  "type": "string",
                  "value": "elf"
                },
                {
                  "attribute": "level",
                  "can_be_missing": false,
                  "operator": "ge",
                  "type": "number",
                  "value": "10"
                },
                {
                  "attribute": "10_level_up_date",
                  "can_be_missing": false,
                  "operator": "le",
                  "type": "date",
                  "value": "2026-01-01T00:00:00"
                }
              ],
              "date_end": "2025-04-25T18:16:00+05:00",
              "date_start": "2023-04-15T18:16:00+05:00",
              "description": {
                "de": "Personalisierte Angebotskette mit Benutzerattributbedingungen - für Elfen der Stufe 10 und höher, die Stufe 10 spätestens am 2026-01-01 00:00:00 erreicht haben, einschließlich",
                "en": "Personalized offer chain with user attribute conditions - for level 10 and above elves who reached level 10 no later than 2026-01-01 00:00:00, inclusive",
                "fr": "Chaîne d'offres personnalisée avec des conditions d'attribut utilisateur - pour les elfes de niveau 10 et plus qui ont atteint le niveau 10 au plus tard le 2026-01-01 00:00:00, inclus",
                "it": "Catena di offerte personalizzata con condizioni di attributo utente - per elfi di livello 10 e superiore che hanno raggiunto il livello 10 non più tardi del 2026-01-01 00:00:00, inclusi",
                "ru": "Персонализированная цепочка предложений с условиями по атрибутам пользователя - для эльфов уровня 10 и выше, достигших 10 уровня не позднее 2026-01-01 00:00:00 включительно"
              },
              "id": 2,
              "is_always_visible": false,
              "is_enabled": true,
              "name": {
                "de": "Neue personalisierte Angebotskette",
                "en": "New personalized offer chain",
                "fr": "Nouvelle chaîne d'offres personnalisée",
                "it": "Nuova catena di offerte personalizzata",
                "ru": "Новая персонализированная цепочка предложений"
              },
              "order": 2,
              "recurrent_schedule": null
            },
            {
              "date_end": "2025-04-25T18:16:00+05:00",
              "date_start": "2023-04-15T18:16:00+05:00",
              "description": {
                "de": "Angebotskette, die sich wöchentlich mittwochs um 07:00 Uhr GMT+3 zurücksetzt",
                "en": "Offer chain that resets weekly on Wednesdays at 07:00 GMT+3",
                "fr": "Chaîne d'offres qui se réinitialise chaque semaine le mercredi à 07h00 GMT+3",
                "it": "Catena di offerte che si resetta settimanalmente il mercoledì alle 07:00 GMT+3",
                "ru": "Цепочка предложений, которая сбрасывается еженедельно по средам в 07:00 GMT+3"
              },
              "id": 4,
              "is_always_visible": true,
              "is_enabled": false,
              "name": {
                "de": "Wöchentliche Angebotskette",
                "en": "Weekly offer chain",
                "fr": "Chaîne d'offres hebdomadaire",
                "it": "Catena di offerte settimanale",
                "ru": "Еженедельная цепочка предложений"
              },
              "order": 3,
              "recurrent_schedule": {
                "day_of_week": 3,
                "displayable_reset_next_date": "2018-12-05T07:00:00+03:00",
                "displayable_reset_start_date": "2018-12-05T07:00:00+03:00",
                "interval_type": "weekly",
                "reset_next_date": 1543982400,
                "time": "07:00:00+03:00"
              }
            },
            {
              "date_end": "2025-08-28T15:00:00+08:00",
              "date_start": "2025-04-15T00:00:00+08:00",
              "description": {
                "de": "Angebotskette, die sich monatlich am 28. um 15:00 Uhr GMT+8 zurücksetzt",
                "en": "Offer chain that resets monthly on the 28th at 15:00 GMT+8",
                "fr": "Chaîne d'offres qui se réinitialise mensuellement le 28 à 15h00 GMT+8",
                "it": "Catena di offerte che si resetta mensilmente il 28 alle 15:00 GMT+8",
                "ru": "Цепочка предложений, которая сбрасывается ежемесячно 28-го числа в 15:00 GMT+8"
              },
              "id": 5,
              "is_always_visible": true,
              "is_enabled": true,
              "name": {
                "de": "Monatliche Angebotskette",
                "en": "Monthly offer chain",
                "fr": "Chaîne d'offres mensuelle",
                "it": "Catena di offerte mensile",
                "ru": "Ежемесячная цепочка предложений"
              },
              "order": 4,
              "recurrent_schedule": {
                "day_of_month": 28,
                "displayable_reset_next_date": "2025-05-28T15:00:00+08:00",
                "displayable_reset_start_date": "2025-05-28T15:00:00+08:00",
                "interval_type": "monthly",
                "reset_next_date": 1748415600,
                "time": "15:00:00+08:00"
              }
            }
          ]
        }
      },
      "200-clan-reward-chain": {
        "summary": "Exemplo de cadeia de recompensas de clã",
        "value": {
          "clan_type": "guild",
          "description": {
            "en": "Clan reward chain description."
          },
          "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
          "is_enabled": true,
          "long_description": {
            "en": "Clan reward chain long description."
          },
          "name": {
            "en": "Clan reward chain"
          },
          "order": 1,
          "periods": [
            {
              "date_from": "2020-04-15T18:16:00+05:00",
              "date_until": "2021-04-15T18:16:00+05:00"
            }
          ],
          "popup_header": {
            "en": "How to unlock rewards"
          },
          "popup_image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
          "popup_instruction": {
            "en": "You must be a clan member in order to get clan rewards. You join a clan when a clan member invites you to the clan, and you accept the invite. You can also create your own clan."
          },
          "recurrent_schedule": {
            "day_of_week": 2,
            "displayable_reset_next_date": "2023-03-07T11:00:00+08:00",
            "displayable_reset_start_date": "2023-02-28T11:00:00+08:00",
            "interval_type": "weekly",
            "reset_next_date": 1677553200,
            "time": "11:00:00+08:00"
          },
          "reward_chain_id": 1,
          "steps": [
            {
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "name": {
                "en": "First step of the reward chain"
              },
              "price": {
                "amount": 10
              },
              "reward": [
                {
                  "quantity": 5,
                  "sku": "com.xsolla.item_1"
                },
                {
                  "quantity": 1,
                  "sku": "com.xsolla.item_2"
                }
              ],
              "step_id": 1
            },
            {
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "name": {
                "en": "Second step of the reward chain"
              },
              "price": {
                "amount": 15
              },
              "reward": [
                {
                  "quantity": 5,
                  "sku": "com.xsolla.item_3"
                },
                {
                  "quantity": 1,
                  "sku": "com.xsolla.item_4"
                }
              ],
              "step_id": 2
            }
          ],
          "value_point": {
            "description": {
              "en": "Value points for clan reward system."
            },
            "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
            "is_clan": true,
            "is_enabled": true,
            "long_description": {
              "en": "Value points given to clans to get new rewards in a certain reward chain."
            },
            "media_list": [],
            "name": {
              "en": "Clan Reward VP 1"
            },
            "order": 1,
            "sku": "com.xsolla.clan_value_point_1"
          }
        }
      },
      "200-client-daily-chain": {
        "summary": "Exemplo de recompensa diária do usuário",
        "value": {
          "date_end": "2025-04-03T18:16:00+05:00",
          "date_start": "2025-04-01T18:16:00+05:00",
          "description": "Active daily reward description",
          "id": 101,
          "name": "Active daily reward",
          "order": 1,
          "steps": [
            {
              "items": [
                {
                  "bundle_type": "standard",
                  "content": [
                    {
                      "description": "Virtual good one",
                      "image_url": "https://picture.virtual-good-picture.png",
                      "is_free": false,
                      "item_id": 1,
                      "name": "virtual_good_one",
                      "quantity": 1,
                      "sku": "d0df11c5-f7c4-4907-9ae1-7dd40cecab05",
                      "type": "virtual_good"
                    },
                    {
                      "description": "Gold Coins",
                      "image_url": "https://picture.gold_coins.png",
                      "is_free": false,
                      "item_id": 2,
                      "name": "Gold Coins",
                      "quantity": 100,
                      "sku": "coins",
                      "type": "virtual_currency"
                    }
                  ],
                  "description": "Many stuff",
                  "image_url": "https://picture.bundle-with-many-stuff.png",
                  "is_free": false,
                  "item_id": 10001,
                  "name": "Bundle with awesome stuff!",
                  "quantity": 1,
                  "sku": "bundle_with_items",
                  "type": "bundle"
                }
              ],
              "status": "blocked",
              "step_number": 1,
              "unlocked_date": 1711978560
            },
            {
              "items": [
                {
                  "description": "Heal 10% of your health",
                  "image_url": "https://picture.bundle-picture.png",
                  "is_free": false,
                  "item_id": 9012,
                  "name": "Healing potion",
                  "quantity": 1,
                  "sku": "health_potion",
                  "type": "virtual_good"
                }
              ],
              "status": "claimed",
              "step_number": 2,
              "unlocked_date": 1712064960
            },
            {
              "items": [
                {
                  "description": "Heal 10% of your health",
                  "image_url": "https://picture.bundle-picture.png",
                  "is_free": false,
                  "item_id": 9012,
                  "name": "Healing potion",
                  "quantity": 2,
                  "sku": "health_potion",
                  "type": "virtual_good"
                }
              ],
              "status": "claimable",
              "step_number": 3,
              "unlocked_date": 1712151360
            },
            {
              "items": [
                {
                  "description": "store_item_0_lost_telescope_2_short_description",
                  "image_url": "https://picture.bundle-picture.png",
                  "is_free": false,
                  "item_id": 9011,
                  "name": "Free item",
                  "quantity": 1,
                  "sku": "free_item",
                  "type": "virtual_good"
                }
              ],
              "status": "claim_in_future",
              "step_number": 4,
              "unlocked_date": 1712237760
            }
          ],
          "type": "calendar_hard"
        }
      },
      "200-client-daily-chain-list": {
        "summary": "Exemplo de lista de recompensa diária do usuário",
        "value": {
          "has_more": false,
          "items": [
            {
              "date_end": "2025-04-03T18:16:00+05:00",
              "date_start": "2025-04-01T18:16:00+05:00",
              "description": null,
              "id": 101,
              "name": "Active daily reward",
              "order": 1,
              "steps": [
                {
                  "items": [
                    {
                      "description": "Heal 10% of your health",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": false,
                      "item_id": 9012,
                      "name": "Healing potion",
                      "quantity": 1,
                      "sku": "health_potion",
                      "type": "virtual_good"
                    }
                  ],
                  "status": "claimed",
                  "step_number": 1,
                  "unlocked_date": 1711978560
                },
                {
                  "items": [
                    {
                      "description": "Heal 10% of your health",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": false,
                      "item_id": 9012,
                      "name": "Healing potion",
                      "quantity": 2,
                      "sku": "health_potion",
                      "type": "virtual_good"
                    }
                  ],
                  "status": "claimable",
                  "step_number": 2,
                  "unlocked_date": 1712064960
                },
                {
                  "items": [
                    {
                      "description": "store_item_0_lost_telescope_2_short_description",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": true,
                      "item_id": 9011,
                      "name": "Free item",
                      "quantity": 1,
                      "sku": "free_item",
                      "type": "virtual_good"
                    }
                  ],
                  "status": "claim_in_future",
                  "step_number": 3,
                  "unlocked_date": 1712151360
                }
              ],
              "type": "calendar_hard"
            },
            {
              "date_end": "2025-05-03T18:16:00+05:00",
              "date_start": "2025-05-01T18:16:00+05:00",
              "description": null,
              "id": 102,
              "name": "Active daily reward 2",
              "order": 1,
              "steps": [
                {
                  "items": [
                    {
                      "description": "store_item_0_lost_telescope_2_short_description",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": true,
                      "item_id": 9011,
                      "name": "Free item",
                      "quantity": 3,
                      "sku": "free_item",
                      "type": "virtual_good"
                    }
                  ],
                  "status": "claimable",
                  "step_number": 1,
                  "unlocked_date": 1714560960
                },
                {
                  "items": [
                    {
                      "description": "Heal 10% of your health",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": false,
                      "item_id": 9012,
                      "name": "Healing potion",
                      "quantity": 3,
                      "sku": "health_potion",
                      "type": "virtual_good"
                    }
                  ],
                  "status": "claim_in_future",
                  "step_number": 2,
                  "unlocked_date": 1714647360
                }
              ],
              "type": "calendar_hard"
            },
            {
              "date_end": "2025-04-03T18:16:00+05:00",
              "date_start": "2025-04-01T18:16:00+05:00",
              "description": null,
              "id": 103,
              "name": "Active daily reward 3",
              "order": 1,
              "steps": [
                {
                  "items": [
                    {
                      "description": "store_item_0_lost_telescope_2_short_description",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": true,
                      "item_id": 9011,
                      "name": "Free item",
                      "quantity": 3,
                      "sku": "free_item",
                      "type": "virtual_good"
                    }
                  ],
                  "status": "claimable",
                  "step_number": 1,
                  "unlocked_date": 1711978560
                },
                {
                  "items": [
                    {
                      "description": "Heal 10% of your health",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": false,
                      "item_id": 9012,
                      "name": "Healing potion",
                      "quantity": 3,
                      "sku": "health_potion",
                      "type": "virtual_good"
                    }
                  ],
                  "status": "blocked",
                  "step_number": 2,
                  "unlocked_date": 1712064960
                },
                {
                  "items": [
                    {
                      "description": "Heal 10% of your health",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": false,
                      "item_id": 9012,
                      "name": "Healing potion",
                      "quantity": 3,
                      "sku": "health_potion",
                      "type": "virtual_good"
                    }
                  ],
                  "status": "blocked",
                  "step_number": 3,
                  "unlocked_date": 1712151360
                }
              ],
              "type": "calendar_hard"
            },
            {
              "date_end": "2025-04-28T10:00:00+05:00",
              "date_start": "2025-04-01T10:00:00+05:00",
              "description": null,
              "id": 104,
              "name": "Active daily rolling reward",
              "order": 1,
              "steps": [
                {
                  "items": [
                    {
                      "description": "Item one description",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": true,
                      "item_id": 1001,
                      "name": "Item One",
                      "quantity": 1,
                      "sku": "item_one",
                      "type": "virtual_good"
                    }
                  ],
                  "status": "claimed",
                  "step_number": 1,
                  "unlocked_date": -1
                },
                {
                  "items": [
                    {
                      "description": "Item two description",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": false,
                      "item_id": 1002,
                      "name": "Item Two",
                      "quantity": 1,
                      "sku": "item_two",
                      "type": "virtual_good"
                    }
                  ],
                  "status": "claimable",
                  "step_number": 2,
                  "unlocked_date": 1712064960
                },
                {
                  "items": [
                    {
                      "description": "Item three description",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": false,
                      "item_id": 1003,
                      "name": "Item Three",
                      "quantity": 1,
                      "sku": "item_three",
                      "type": "virtual_good"
                    }
                  ],
                  "status": "claim_in_future",
                  "step_number": 3,
                  "unlocked_date": 1712151360
                }
              ],
              "type": "rolling_skippable"
            }
          ],
          "total_items_count": 3
        }
      },
      "200-client-get-reward-chains-list": {
        "value": {
          "has_more": false,
          "items": [
            {
              "clan_type": null,
              "date_end": "2023-04-25T18:16:00+05:00",
              "date_start": "2023-04-15T18:16:00+05:00",
              "description": "Big weekly quest",
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "long_description": "You can get a lot of additional items just by shopping during the week",
              "name": "Weekly quest",
              "order": 1,
              "popup_header": null,
              "popup_image_url": null,
              "popup_instruction": null,
              "recurrent_schedule": {
                "interval_type": "weekly",
                "reset_next_date": 1746057600
              },
              "reward_chain_id": 10,
              "steps": [
                {
                  "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                  "is_claimed": true,
                  "name": "Level 1",
                  "price": {
                    "amount": 100
                  },
                  "reward": [
                    {
                      "description": "Super box with items",
                      "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                      "name": "Super box",
                      "quantity": 1,
                      "sku": "com.xsolla.box_1",
                      "type": "bundle"
                    },
                    {
                      "description": "Mega box with items",
                      "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                      "name": "Mega box",
                      "quantity": 1,
                      "sku": "com.xsolla.box_2",
                      "type": "bundle"
                    }
                  ],
                  "step_id": 1
                },
                {
                  "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                  "is_claimed": false,
                  "name": "Level 2",
                  "price": {
                    "amount": 200
                  },
                  "reward": [
                    {
                      "description": "Super box with items",
                      "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                      "name": "Super box",
                      "quantity": 2,
                      "sku": "com.xsolla.box_1",
                      "type": "bundle"
                    },
                    {
                      "description": "Mega box with items",
                      "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                      "name": "Mega box",
                      "quantity": 2,
                      "sku": "com.xsolla.box_2",
                      "type": "bundle"
                    }
                  ],
                  "step_id": 2
                }
              ],
              "top_contributors": [],
              "value_point": {
                "amount": 130,
                "description": null,
                "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                "long_description": null,
                "name": "Value point",
                "sku": "com.xsolla.value_point_1"
              }
            },
            {
              "clan_type": "guild",
              "date_end": "2023-10-15T18:16:00+05:00",
              "date_start": "2023-04-15T18:16:00+05:00",
              "description": "Major weekly clan quest.",
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "long_description": "You and your clan members can get additional items for shopping during a certain month.",
              "name": "Weekly clan quest",
              "order": 2,
              "popup_header": {
                "en": "How to unlock rewards"
              },
              "popup_image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "popup_instruction": {
                "en": "You should be a clan member to get clan rewards. You join a clan when a clan member invited you to the clan, and you accepted the invite. You can create your own clan."
              },
              "recurrent_schedule": {
                "interval_type": "monthly",
                "reset_next_date": 1746057600
              },
              "reward_chain_id": 12,
              "steps": [
                {
                  "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                  "is_claimed": true,
                  "name": "Level 1",
                  "price": {
                    "amount": 100
                  },
                  "reward": [
                    {
                      "description": "Super box with items",
                      "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                      "name": "Super box",
                      "quantity": 1,
                      "sku": "com.xsolla.box_1",
                      "type": "bundle"
                    },
                    {
                      "description": "Mega box with items",
                      "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                      "name": "Mega box",
                      "quantity": 1,
                      "sku": "com.xsolla.box_2",
                      "type": "bundle"
                    }
                  ],
                  "step_id": 1
                },
                {
                  "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                  "is_claimed": false,
                  "name": "Level 2",
                  "price": {
                    "amount": 200
                  },
                  "reward": [
                    {
                      "description": "Super box with items",
                      "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                      "name": "Super box",
                      "quantity": 2,
                      "sku": "com.xsolla.box_1",
                      "type": "bundle"
                    },
                    {
                      "description": "Mega box with items",
                      "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                      "name": "Mega box",
                      "quantity": 2,
                      "sku": "com.xsolla.box_2",
                      "type": "bundle"
                    }
                  ],
                  "step_id": 2
                }
              ],
              "top_contributors": [
                {
                  "contributed_amount": 100,
                  "name": "Rabbit"
                },
                {
                  "contributed_amount": 80,
                  "name": "Rocket"
                },
                {
                  "contributed_amount": 40,
                  "name": "Rain"
                }
              ],
              "value_point": {
                "amount": 80,
                "description": "Value points for clan reward system.",
                "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                "long_description": "Value points given to clans to get new rewards in a reward chain.",
                "name": "Clan Reward VP 1",
                "sku": "com.xsolla.clan_value_point_1"
              }
            }
          ],
          "total_items_count": 1
        }
      },
      "200-client-get-user-clan-reward-chain-balance": {
        "summary": "Exemplo de cadeia de recompensas de clã",
        "value": {
          "amount": 80,
          "description": "Value points for clan reward system.",
          "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
          "is_clan": true,
          "long_description": "Value points given to clans to get new rewards in a reward chain.",
          "name": "Clan Reward VP 1",
          "sku": "com.xsolla.clan_value_point_1"
        }
      },
      "200-client-get-user-reward-chain-balance": {
        "summary": "Exemplo de cadeia de recompensas",
        "value": {
          "amount": 130,
          "description": null,
          "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
          "is_clan": false,
          "long_description": null,
          "name": "Value point",
          "sku": "com.xsolla.value_point_1"
        }
      },
      "200-client-offer-chain": {
        "summary": "Exemplo de cadeia de ofertas do usuário",
        "value": {
          "date_end": "2025-04-25T18:16:00+05:00",
          "date_start": "2010-04-15T18:16:00+05:00",
          "description": null,
          "id": 4,
          "name": "Offer chain with bundles",
          "next_step_number": 1,
          "order": 1,
          "recurrent_schedule": null,
          "steps": [
            {
              "is_claimed": false,
              "is_free": false,
              "items": [
                {
                  "bundle_type": "standard",
                  "content": [
                    {
                      "description": "virtual_good_short_description_d0df11c5-f7c4-4907-9ae1-7dd40cecab05",
                      "image_url": "https://popmedia.blob.core.windows.net/popyourself/female/accessory/female_crossnecklace_2_silver-01.png",
                      "is_free": false,
                      "item_id": 1,
                      "name": "Virtual Good Bundle",
                      "quantity": 1,
                      "sku": "d0df11c5-f7c4-4907-9ae1-7dd40cecab05",
                      "type": "virtual_good"
                    },
                    {
                      "description": "Big Rocket - short description",
                      "image_url": "https://picture.bigrocket.png",
                      "is_free": false,
                      "item_id": 7009,
                      "name": "Big Rocket",
                      "quantity": 1,
                      "sku": "vg-in-bundle-big-rocket",
                      "type": "virtual_good"
                    },
                    {
                      "description": "Gold Coins - short description",
                      "image_url": "https://picture.gold_coins.png",
                      "is_free": true,
                      "item_id": 7010,
                      "name": "Gold Coins",
                      "quantity": 100,
                      "sku": "vc-in-bundle-gold-coins",
                      "type": "virtual_currency"
                    },
                    {
                      "description": "Some Game - short description",
                      "image_url": "https://picture.some_game.png",
                      "is_free": true,
                      "item_id": 7011,
                      "name": "Some Game",
                      "quantity": 1,
                      "sku": "digital-content-drm-in-bundle-awesome-game",
                      "type": "virtual_good"
                    },
                    {
                      "bundle_type": "standard",
                      "content": [
                        {
                          "description": "Gold Coins - short description",
                          "image_url": "https://picture.gold_coins.png",
                          "is_free": true,
                          "item_id": 7010,
                          "name": "Gold Coins",
                          "quantity": 1,
                          "sku": "vc-in-bundle-gold-coins",
                          "type": "virtual_currency"
                        }
                      ],
                      "description": "Bundle - short description",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": true,
                      "item_id": 7012,
                      "name": "Some Bundle in Bundle",
                      "quantity": 1,
                      "sku": "bundle-in-bundle-another-bundle",
                      "type": "bundle"
                    },
                    {
                      "description": "Lootbox in bundle - short description",
                      "image_url": "https://picture.lootbox-picture.png",
                      "is_free": true,
                      "item_id": 7013,
                      "name": "Some Lootbox",
                      "quantity": 1,
                      "sku": "lootbox-in-bundle-awesome-game",
                      "type": "lootbox"
                    }
                  ],
                  "description": "Many stuff",
                  "image_url": "https://picture.bundle-with-many-stuff.png",
                  "is_free": false,
                  "item_id": 7008,
                  "name": "Bundle with many awesome stuff!",
                  "order": 0,
                  "quantity": 5,
                  "sku": "bundle_with_many_items",
                  "type": "bundle"
                }
              ],
              "step_number": 1,
              "step_price": {
                "amount": 499.95,
                "currency": "USD"
              },
              "step_vp_rewards": null
            },
            {
              "is_claimed": false,
              "is_free": true,
              "items": [
                {
                  "bundle_type": "standard",
                  "content": [],
                  "description": "No",
                  "image_url": "https://picture.bundle-no-items.png",
                  "is_free": true,
                  "item_id": 7007,
                  "name": "Empty bundle",
                  "order": 0,
                  "quantity": 10,
                  "sku": "bundle-empty",
                  "type": "bundle"
                }
              ],
              "step_number": 2,
              "step_price": null,
              "step_vp_rewards": null
            }
          ]
        }
      },
      "200-client-offer-chain-list": {
        "summary": "Exemplo de lista de cadeia de ofertas do usuário",
        "value": {
          "has_more": false,
          "items": [
            {
              "date_end": "2025-04-25T18:16:00+05:00",
              "date_start": "2018-04-15T18:16:00+05:00",
              "description": null,
              "id": 101,
              "name": "Active offer chain",
              "next_step_number": 1,
              "order": 1,
              "recurrent_schedule": null,
              "steps": [
                {
                  "is_claimed": false,
                  "is_free": false,
                  "items": [
                    {
                      "description": "Heal 10% of your health",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": false,
                      "item_id": 9012,
                      "name": "Healing potion",
                      "order": 0,
                      "quantity": 1,
                      "sku": "health_potion",
                      "type": "virtual_good"
                    }
                  ],
                  "step_number": 1,
                  "step_price": {
                    "amount": 99.99,
                    "currency": "USD"
                  },
                  "step_vp_rewards": [
                    {
                      "amount": 15,
                      "image_url": "https://popmedia.blob.core.windows.net/popyourself/female/accessory/female_crossnecklace_2_silver-01.png",
                      "is_clan": true,
                      "item_id": 6039,
                      "name": "store_item_0_test_value_point_name",
                      "sku": "test_value_point_39"
                    }
                  ]
                },
                {
                  "is_claimed": false,
                  "is_free": false,
                  "items": [
                    {
                      "description": "Heal 10% of your health",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": false,
                      "item_id": 9012,
                      "name": "Healing potion",
                      "order": 0,
                      "quantity": 2,
                      "sku": "health_potion",
                      "type": "virtual_good"
                    }
                  ],
                  "step_number": 2,
                  "step_price": {
                    "amount": 199.98,
                    "currency": "USD"
                  },
                  "step_vp_rewards": [
                    {
                      "amount": 30,
                      "image_url": "https://popmedia.blob.core.windows.net/popyourself/female/accessory/female_crossnecklace_2_silver-01.png",
                      "is_clan": true,
                      "item_id": 6039,
                      "name": "store_item_0_test_value_point_name",
                      "sku": "test_value_point_39"
                    }
                  ]
                },
                {
                  "is_claimed": false,
                  "is_free": true,
                  "items": [
                    {
                      "description": "store_item_0_lost_telescope_2_short_description",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": true,
                      "item_id": 9011,
                      "name": "Free item",
                      "order": 0,
                      "quantity": 1,
                      "sku": "free_item",
                      "type": "virtual_good"
                    }
                  ],
                  "step_number": 3,
                  "step_price": null,
                  "step_vp_rewards": null
                }
              ]
            },
            {
              "date_end": "2025-04-25T18:16:00+05:00",
              "date_start": "2018-04-15T18:16:00+05:00",
              "description": null,
              "id": 102,
              "name": "Active offer chain 2",
              "next_step_number": 1,
              "order": 1,
              "recurrent_schedule": null,
              "steps": [
                {
                  "is_claimed": false,
                  "is_free": true,
                  "items": [
                    {
                      "description": "store_item_0_lost_telescope_2_short_description",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": true,
                      "item_id": 9011,
                      "name": "Free item",
                      "order": 0,
                      "quantity": 3,
                      "sku": "free_item",
                      "type": "virtual_good"
                    }
                  ],
                  "step_number": 1,
                  "step_price": null,
                  "step_vp_rewards": null
                },
                {
                  "is_claimed": false,
                  "is_free": true,
                  "items": [
                    {
                      "description": "Heal 10% of your health",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": false,
                      "item_id": 9012,
                      "name": "Healing potion",
                      "order": 0,
                      "quantity": 3,
                      "sku": "health_potion",
                      "type": "virtual_good"
                    }
                  ],
                  "step_number": 2,
                  "step_price": null,
                  "step_vp_rewards": [
                    {
                      "amount": 45,
                      "image_url": "https://popmedia.blob.core.windows.net/popyourself/female/accessory/female_crossnecklace_2_silver-01.png",
                      "is_clan": true,
                      "item_id": 6039,
                      "name": "store_item_0_test_value_point_name",
                      "sku": "test_value_point_39"
                    }
                  ]
                },
                {
                  "is_claimed": false,
                  "is_free": true,
                  "items": [],
                  "step_number": 3,
                  "step_price": null,
                  "step_vp_rewards": null
                }
              ]
            },
            {
              "date_end": "2025-04-25T18:16:00+05:00",
              "date_start": "2018-04-15T18:16:00+05:00",
              "description": null,
              "id": 103,
              "name": "Active offer chain 3",
              "next_step_number": 1,
              "order": 1,
              "recurrent_schedule": null,
              "steps": [
                {
                  "is_claimed": false,
                  "is_free": true,
                  "items": [
                    {
                      "description": "store_item_0_lost_telescope_2_short_description",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": true,
                      "item_id": 9011,
                      "name": "Free item",
                      "order": 0,
                      "quantity": 3,
                      "sku": "free_item",
                      "type": "virtual_good"
                    }
                  ],
                  "step_number": 1,
                  "step_price": null,
                  "step_vp_rewards": null
                },
                {
                  "is_claimed": false,
                  "is_free": false,
                  "items": [
                    {
                      "description": "Heal 10% of your health",
                      "image_url": "https://picture.bundle-picture.png",
                      "is_free": false,
                      "item_id": 9012,
                      "name": "Healing potion",
                      "order": 0,
                      "quantity": 3,
                      "sku": "health_potion",
                      "type": "virtual_good"
                    }
                  ],
                  "step_number": 2,
                  "step_price": {
                    "amount": 299.97,
                    "currency": "USD"
                  },
                  "step_vp_rewards": [
                    {
                      "amount": 45,
                      "image_url": "https://popmedia.blob.core.windows.net/popyourself/female/accessory/female_crossnecklace_2_silver-01.png",
                      "is_clan": true,
                      "item_id": 6039,
                      "name": "store_item_0_test_value_point_name",
                      "sku": "test_value_point_39"
                    }
                  ]
                },
                {
                  "is_claimed": false,
                  "is_free": true,
                  "items": [],
                  "step_number": 3,
                  "step_price": null,
                  "step_vp_rewards": null
                }
              ]
            }
          ],
          "total_items_count": 3
        }
      },
      "200-client-update-user-clan": {
        "value": {
          "reward": [
            {
              "bundle_type": "standard",
              "description": "Super box with items",
              "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
              "name": "Super box",
              "quantity": 1,
              "sku": "com.xsolla.box_1",
              "type": "bundle"
            },
            {
              "description": "Mega potion",
              "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
              "name": "Mega potion",
              "quantity": 1,
              "sku": "com.xsolla.potion_1",
              "type": "virtual_good"
            }
          ]
        }
      },
      "200-reward-chain": {
        "summary": "Exemplo de cadeia de recompensas",
        "value": {
          "attribute_conditions": [
            {
              "attribute": "race",
              "can_be_missing": false,
              "operator": "eq",
              "type": "string",
              "value": "ork"
            }
          ],
          "description": {
            "en": "Reward chain description"
          },
          "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
          "is_always_visible": true,
          "is_enabled": true,
          "is_reset_after_end": true,
          "long_description": {
            "en": "Reward chain long description"
          },
          "name": {
            "en": "Reward chain"
          },
          "order": 1,
          "periods": [
            {
              "date_from": "2026-01-01T01:00:00+05:00",
              "date_until": "2026-01-31T23:59:59+05:00"
            },
            {
              "date_from": "2026-02-01T01:00:00+05:00",
              "date_until": "2026-02-28T23:59:59+05:00"
            }
          ],
          "recurrent_schedule": {
            "day_of_week": 2,
            "displayable_reset_next_date": "2026-01-06T01:00:00+05:00",
            "displayable_reset_start_date": "2026-01-01T01:00:00+05:00",
            "interval_type": "weekly",
            "reset_next_date": 1767643200,
            "time": "01:00:00+05:00"
          },
          "reward_chain_id": 1,
          "steps": [
            {
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "name": {
                "en": "First step of the reward chain"
              },
              "price": {
                "amount": 10
              },
              "reward": [
                {
                  "quantity": 5,
                  "sku": "com.xsolla.item_1"
                },
                {
                  "quantity": 1,
                  "sku": "com.xsolla.item_2"
                }
              ],
              "step_id": 1
            },
            {
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "name": {
                "en": "Second step of the reward chain"
              },
              "price": {
                "amount": 15
              },
              "reward": [
                {
                  "quantity": 5,
                  "sku": "com.xsolla.item_3"
                },
                {
                  "quantity": 1,
                  "sku": "com.xsolla.item_4"
                }
              ],
              "step_id": 2
            }
          ],
          "value_point": {
            "description": {
              "en": "Value points for reward system."
            },
            "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
            "is_clan": false,
            "is_enabled": true,
            "long_description": {
              "en": "Value points given to users to get new rewards in a reward chain."
            },
            "media_list": [],
            "name": {
              "en": "Reward VP 1"
            },
            "order": 1,
            "sku": "com.xsolla.reward_vp_1",
            "type": "value_point"
          }
        }
      },
      "200-reward-chain-list": {
        "value": {
          "has_more": true,
          "items": [
            {
              "attribute_conditions": [
                {
                  "attribute": "race",
                  "can_be_missing": false,
                  "operator": "eq",
                  "type": "string",
                  "value": "ork"
                }
              ],
              "description": {
                "en": "Reward chain description"
              },
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "is_always_visible": true,
              "is_enabled": true,
              "is_reset_after_end": true,
              "long_description": {
                "en": "Reward chain long description"
              },
              "name": {
                "en": "Reward chain"
              },
              "order": 1,
              "periods": [
                {
                  "date_from": "2026-01-01T01:00:00+05:00",
                  "date_until": "2026-01-31T23:59:59+05:00"
                },
                {
                  "date_from": "2026-02-01T01:00:00+05:00",
                  "date_until": "2026-02-28T23:59:59+05:00"
                }
              ],
              "recurrent_schedule": null,
              "reward_chain_id": 1,
              "value_point": {
                "description": "Value points for standard reward system.",
                "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                "is_clan": false,
                "is_enabled": true,
                "long_description": "Value points given to users to get new rewards in a reward chain.",
                "media_list": [],
                "name": {
                  "en": "Reward VP 1"
                },
                "order": 1,
                "sku": "com.xsolla.reward_vp_1",
                "type": "value_point"
              }
            },
            {
              "clan_type": "guild",
              "description": {
                "en": "Clan reward chain description."
              },
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "is_enabled": true,
              "long_description": {
                "en": "Clan reward chain long description."
              },
              "name": {
                "en": "Clan reward chain"
              },
              "order": 1,
              "periods": [
                {
                  "date_from": "2026-01-01T01:00:00+05:00",
                  "date_until": "2026-01-31T23:59:59+05:00"
                },
                {
                  "date_from": "2026-02-01T01:00:00+05:00",
                  "date_until": "2026-02-28T23:59:59+05:00"
                }
              ],
              "popup_header": {
                "en": "How to unlock rewards"
              },
              "popup_image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "popup_instruction": {
                "en": "You must be a clan member in order to get clan rewards. You join a clan when a clan member invites you to the clan, and you accept the invite. You can also create your own clan."
              },
              "recurrent_schedule": {
                "day_of_month": null,
                "day_of_week": 2,
                "displayable_reset_next_date": "2026-01-06T01:00:00+05:00",
                "displayable_reset_start_date": "2026-01-01T01:00:00+05:00",
                "interval_type": "weekly",
                "reset_next_date": 1767643200,
                "time": "01:00:00+05:00"
              },
              "reward_chain_id": 2,
              "value_point": {
                "description": "Value points for clan reward system.",
                "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                "is_clan": true,
                "is_enabled": true,
                "long_description": "Value points given to clans to get new rewards in a reward chain.",
                "media_list": [],
                "name": {
                  "en": "Clan Reward VP 1"
                },
                "order": 1,
                "sku": "com.xsolla.clan_value_point_1"
              }
            }
          ]
        }
      },
      "200-value-points-reward-chain_admin_get-value-point": {
        "value": {
          "can_delete": false,
          "description": {
            "en": "Points for reward system"
          },
          "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
          "is_clan": false,
          "is_enabled": true,
          "long_description": {
            "en": "Points given to users to get new rewards in a reward chain."
          },
          "media_list": [],
          "name": {
            "en": "Reward VP 1"
          },
          "order": 1,
          "sku": "com.xsolla.reward_vp_1",
          "type": "value_point"
        }
      },
      "200-value-points-reward-chain_admin_get-value-point-list": {
        "value": {
          "items": [
            {
              "description": {
                "en": "Points for reward system"
              },
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "is_clan": false,
              "is_enabled": true,
              "long_description": {
                "en": "Points given to users to get new rewards in a reward chain."
              },
              "media_list": [],
              "name": {
                "en": "Reward VP 1"
              },
              "order": 1,
              "sku": "com.xsolla.reward_vp_1",
              "type": "value_point"
            },
            {
              "description": {
                "en": "Value points for reward system."
              },
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "is_clan": false,
              "is_enabled": false,
              "long_description": {
                "en": "Value points given to users to get new rewards in a reward chain."
              },
              "media_list": [],
              "name": {
                "en": "Reward VP 2"
              },
              "order": 2,
              "sku": "com.xsolla.reward_vp_2",
              "type": "value_point"
            },
            {
              "description": {
                "en": "Value points for clan reward system."
              },
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "is_clan": true,
              "is_enabled": true,
              "long_description": {
                "en": "Value points given to clans to get new rewards in a reward chain."
              },
              "media_list": [],
              "name": {
                "en": "Clan Reward VP 1"
              },
              "order": 3,
              "sku": "com.xsolla.clan_value_point_1"
            }
          ]
        }
      },
      "200-value-points-rewards-list": {
        "value": {
          "items": [
            {
              "amount": 100,
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "item_id": 14232,
              "name": {
                "en": "Booster"
              },
              "sku": "com.xsolla.booster_1"
            },
            {
              "amount": 200,
              "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
              "item_id": 14232,
              "name": {
                "en": "Mega Booster"
              },
              "sku": "com.xsolla.booster_mega"
            }
          ]
        }
      },
      "401-complex-auth-header-not-found": {
        "value": {
          "errorCode": 1501,
          "errorMessage": "[0401-1501]: Authorization failed: Authorization header not sent",
          "statusCode": 401,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "401-complex-auth-incorrect-credentials": {
        "value": {
          "errorCode": 1013,
          "errorMessage": "[0401-1013]: Token not found.",
          "statusCode": 401,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "404-coupon-not-found": {
        "value": {
          "errorCode": 9802,
          "errorMessage": "[0401-9802]: Coupon not found",
          "statusCode": 404,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "404-daily-chain-not-found": {
        "description": "Daily reward was not found.",
        "summary": "A recompensa diária não foi encontrada",
        "value": {
          "errorCode": 6201,
          "errorMessage": "[0401-6201]: Chain not found",
          "errorMessageExtended": {
            "chain_id": 4,
            "project_id": 0
          },
          "statusCode": 404,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "404-daily-chain-step-not-found": {
        "description": "Daily reward step was not found.",
        "summary": "Etapa de recompensa diária não encontrada",
        "value": {
          "errorCode": 6304,
          "errorMessage": "[0401-6304]: Daily Chain Step not found",
          "errorMessageExtended": {
            "chain_id": 100,
            "step_number": 1
          },
          "statusCode": 404,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "404-offer-chain-not-found": {
        "description": "Offer chain step was not found.",
        "summary": "Cadeia não encontrada",
        "value": {
          "errorCode": 6201,
          "errorMessage": "[0401-6201]: Chain not found",
          "errorMessageExtended": {
            "chain_id": 4,
            "project_id": 0
          },
          "statusCode": 404,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "404-offer-chain-step-not-found": {
        "description": "Offer chain step was not found.",
        "summary": "Etapa de cadeia não encontrado",
        "value": {
          "errorCode": 6304,
          "errorMessage": "[0401-6304]: Offer Chain Step not found",
          "errorMessageExtended": {
            "chain_id": 100,
            "step_number": 1
          },
          "statusCode": 404,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "404-promotion-by-id-not-found": {
        "value": {
          "errorCode": 1101,
          "errorMessage": "[0401-1101]: Promotion not found",
          "statusCode": 404,
          "transactionId": "transaction id"
        }
      },
      "404-user-not-found": {
        "value": {
          "errorCode": 5008,
          "errorMessage": "[0401-5008]: Could not find User",
          "statusCode": 404,
          "transactionId": "transaction id"
        }
      },
      "422-activate-deactivate-promotion": {
        "value": {
          "errorCode": 9505,
          "errorMessage": "[0401-9505]: Error was occurred while promotion was being updated",
          "statusCode": 422,
          "transactionId": "da145238620011eb8e24fe6913ff226a"
        }
      },
      "422-admin-daily-chain-error-activated": {
        "description": "Active daily reward have to be deactivated before being updated.",
        "summary": "A recompensa diária ativa não pode ser atualizada",
        "value": {
          "errorCode": 6209,
          "errorMessage": "[0401-6209]: Active chain cannot be updated. Please deactivate it first",
          "errorMessageExtended": {
            "chain_id": 2,
            "project_id": 0
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-daily-chain-error-chain-id-mismatch": {
        "description": "Daily reward ID specified in the body does not match the URL.",
        "summary": "Incompatibilidade de ID de recompensa diária",
        "value": {
          "errorCode": 6205,
          "errorMessage": "[0401-6205]: Chain ID mismatch. Please, check the chain ID in your request body and URL",
          "errorMessageExtended": {
            "body_chain_id": 2,
            "project_id": 0,
            "url_chain_id": 1
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-daily-chain-error-duplicate-step-ids": {
        "description": "Please, ensure that daily reward step IDs are unique in the request body.",
        "summary": "IDs de etapa de recompensa diária duplicados",
        "value": {
          "errorCode": 6207,
          "errorMessage": "[0401-6207]: Duplicate chain step IDs detected in the request body",
          "errorMessageExtended": {
            "chain_id": 3,
            "chain_step_id_list": [
              8,
              9,
              10
            ],
            "project_id": 0
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-daily-chain-error-incorrect-items": {
        "description": "Specified items are not allowed, disabled or not found. Only enabled items of following types are allowed: virtual item, bundle, virtual currency package.",
        "summary": "Itens de etapa incorretos",
        "value": {
          "errorCode": 6211,
          "errorMessage": "[0401-6211]: Chain steps items are not allowed or not found",
          "errorMessageExtended": {
            "invalid_items": {
              "disabled": [
                "vg_disabled_item_1",
                "vg_disabled_item_2",
                "vc_disabled_1"
              ],
              "invalid_item_type": {
                "allowed_item_type_list": [
                  "virtual_good",
                  "bundle"
                ],
                "sku_map": {
                  "gk_steam_enabled_shown_in_store_1": "game_key",
                  "unit_enabled_shown_in_store_1": "unit",
                  "vc_disabled_1": "virtual_currency",
                  "vc_enabled_shown_in_store_1": "virtual_currency"
                }
              },
              "not_found": [
                "vg_deleted_item_1",
                "vg_deleted_item_2",
                "not_existing_sku_404_1",
                "not_existing_sku_404_2"
              ]
            },
            "project_id": 0
          },
          "statusCode": 422,
          "transactionId": "x-x-xX-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-daily-chain-error-incorrect-period": {
        "description": "Please ensure start date is earlier than end date.",
        "summary": "Período incorreto de uma recompensa diária",
        "value": {
          "errorCode": 6204,
          "errorMessage": "[0401-6204]: Period of a chain is invalid. Please, check the dates in your request",
          "errorMessageExtended": {
            "chain_id": 1,
            "invalid_periods": [
              {
                "end": "2023-04-15T18:16:00+05:00",
                "start": "2025-04-25T18:16:00+05:00"
              }
            ],
            "project_id": 0
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-daily-chain-error-incorrect-steps-order": {
        "description": "Daily reward steps numbers sequence is incorrect. Correct step numbers should be sequential without any gaps or duplicates.",
        "summary": "Ordem de etapas incorretas",
        "value": {
          "errorCode": 6210,
          "errorMessage": "[0401-6210]: Chain step numbers are invalid",
          "errorMessageExtended": {
            "incorrect_step_numbers": {
              "duplicates": [
                2,
                7
              ],
              "missing": [
                3,
                4,
                5,
                6
              ],
              "out_of_range": [
                7,
                8
              ]
            },
            "project_id": 0
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-daily-chain-error-invalid-chain-step-ids": {
        "description": "Some of step IDs was not found. Please, double check if specified daily reward step IDs actually exist.",
        "summary": "IDs de etapa de recompensa diária não encontrados",
        "value": {
          "errorCode": 6206,
          "errorMessage": "[0401-6206]: Chain step IDs not found",
          "errorMessageExtended": {
            "chain_id": 1,
            "chain_step_id_list": [
              404000
            ],
            "project_id": 0
          },
          "statusCode": 404,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-daily-chain-error-invalid-dates": {
        "description": "Please, ensure dates format is valid.",
        "summary": "Formato de data inválido",
        "value": {
          "errorCode": 6204,
          "errorMessage": "[0401-6204]: Period of a chain is invalid. Please, check the dates in your request",
          "errorMessageExtended": {
            "chain_id": 1,
            "invalid_format_dates": {
              "date_end": "2025-04-25 19:16:00Z",
              "date_start": "2023-04-15 17:16:00Z"
            },
            "project_id": 0
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-daily-chain-error-item-limit-exceeded": {
        "description": "Daily reward step item count exceeds the allowed limit for some steps. Currently only 1 item per step is allowed.",
        "summary": "Limite de itens excedido",
        "value": {
          "errorCode": 6208,
          "errorMessage": "[0401-6208]: Chain step item count exceeds the allowed limit for some steps",
          "errorMessageExtended": {
            "max_items": 1,
            "project_id": 0,
            "steps_exceeded_limits": [
              {
                "items_count": 2,
                "step_number": 1
              },
              {
                "items_count": 3,
                "step_number": 4
              }
            ]
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-daily-chain-error-too-many-steps": {
        "description": "Daily reward steps max amount limit of 30 items is exceeded. Try specifying less steps.",
        "summary": "Etapas demais",
        "value": {
          "errorCode": 6203,
          "errorMessage": "[0401-6203]: Chain step count exceeds the allowed limit",
          "errorMessageExtended": {
            "max_steps": 30,
            "project_id": 0,
            "step_count": 31
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-offer-chain-error-activated": {
        "description": "Active offer chain has to be deactivated before being updated. To do this, use the <a href=\"/pt/api/shop-builder/operation/admin-toggle-offer-chain\">Toggle offer chain</a> call.",
        "summary": "A cadeia de ofertas ativa não pode ser atualizada",
        "value": {
          "errorCode": 6209,
          "errorMessage": "[0401-6209]: Active chain cannot be updated. Please deactivate it first",
          "errorMessageExtended": {
            "chain_id": 2,
            "project_id": 0
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-offer-chain-error-chain-id-mismatch": {
        "description": "Offer chain ID in the request body does not match the ID in the URL.",
        "summary": "Incompatibilidade de ID de Cadeia",
        "value": {
          "errorCode": 6205,
          "errorMessage": "[0401-6205]: Chain ID mismatch. Please, check the chain ID in your request body and URL",
          "errorMessageExtended": {
            "body_chain_id": 2,
            "project_id": 0,
            "url_chain_id": 1
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-offer-chain-error-duplicate-step-ids": {
        "description": "Chain step IDs must be unique in the request body.",
        "summary": "IDs de etapa de cadeia duplicadas",
        "value": {
          "errorCode": 6207,
          "errorMessage": "[0401-6207]: Duplicate chain step IDs detected in the request body",
          "errorMessageExtended": {
            "chain_id": 3,
            "chain_step_id_list": [
              8,
              9,
              10
            ],
            "project_id": 0
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-offer-chain-error-incorrect-items": {
        "description": "Specified items are either unavailable, or not found. Only enabled items of the following types are supported: virtual items, bundles, and virtual currency packages.",
        "summary": "Itens de etapa inválidos",
        "value": {
          "errorCode": 6211,
          "errorMessage": "[0401-6211]: Chain steps items are not allowed or not found",
          "errorMessageExtended": {
            "invalid_items": {
              "disabled": [
                "vg_disabled_item_1",
                "vg_disabled_item_2",
                "vc_disabled_1"
              ],
              "invalid_item_type": {
                "allowed_item_type_list": [
                  "virtual_good",
                  "bundle"
                ],
                "sku_map": {
                  "gk_steam_enabled_shown_in_store_1": "game_key",
                  "unit_enabled_shown_in_store_1": "unit",
                  "vc_disabled_1": "virtual_currency",
                  "vc_enabled_shown_in_store_1": "virtual_currency"
                }
              },
              "not_found": [
                "vg_deleted_item_1",
                "vg_deleted_item_2",
                "not_existing_sku_404_1",
                "not_existing_sku_404_2"
              ]
            },
            "project_id": 0
          },
          "statusCode": 422,
          "transactionId": "x-x-xX-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-offer-chain-error-incorrect-period": {
        "description": "The start date must be earlier than the end date.",
        "summary": "Período de cadeia inválido",
        "value": {
          "errorCode": 6204,
          "errorMessage": "[0401-6204]: Period of a chain is invalid. Please, check the dates in your request",
          "errorMessageExtended": {
            "chain_id": 1,
            "invalid_periods": [
              {
                "end": "2023-04-15T18:16:00+05:00",
                "start": "2025-04-25T18:16:00+05:00"
              }
            ],
            "project_id": 0
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-offer-chain-error-incorrect-steps-order": {
        "description": "The sequence of offer chain step numbers is incorrect. Step numbers must be sequential, without gaps or duplicates.",
        "summary": "Ordem de etapas inválidas",
        "value": {
          "errorCode": 6210,
          "errorMessage": "[0401-6210]: Chain step numbers are invalid",
          "errorMessageExtended": {
            "incorrect_step_numbers": {
              "duplicates": [
                2,
                7
              ],
              "missing": [
                3,
                4,
                5,
                6
              ],
              "out_of_range": [
                7,
                8
              ]
            },
            "project_id": 0
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-offer-chain-error-invalid-chain-step-ids": {
        "description": "Some of the step IDs were not found. Double-check that the specified chain step IDs exist. To do this, use the <a href=\"/api/shop-builder/operation/order-user-offer-chain-step-reward#tag/offer-chain-admin/operation/admin-get-offer-chain\">Get offer chain</a> call.",
        "summary": "IDs de etapas de cadeia não encontradas",
        "value": {
          "errorCode": 6206,
          "errorMessage": "[0401-6206]: Chain step IDs not found",
          "errorMessageExtended": {
            "chain_id": 1,
            "chain_step_id_list": [
              404000
            ],
            "project_id": 0
          },
          "statusCode": 404,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-offer-chain-error-invalid-dates": {
        "description": "The date format must be valid. Use <a href=\"https://en.wikipedia.org/wiki/ISO_8601\" target=\"_blank\">ISO 8601</a> format.",
        "summary": "Formato de data inválido",
        "value": {
          "errorCode": 6204,
          "errorMessage": "[0401-6204]: Period of a chain is invalid. Please, check the dates in your request",
          "errorMessageExtended": {
            "chain_id": 1,
            "invalid_format_dates": {
              "date_end": "2025-04-25 19:16:00Z",
              "date_start": "2023-04-15 17:16:00Z"
            },
            "project_id": 0
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-offer-chain-error-item-limit-exceeded": {
        "description": "The number of items in one or more offer chain steps exceeds the allowed limit. Currently, only one item per step is allowed.",
        "summary": "Limite de itens excedido",
        "value": {
          "errorCode": 6208,
          "errorMessage": "[0401-6208]: Chain step item count exceeds the allowed limit for some steps",
          "errorMessageExtended": {
            "max_items": 1,
            "project_id": 0,
            "steps_exceeded_limits": [
              {
                "items_count": 2,
                "step_number": 1
              },
              {
                "items_count": 3,
                "step_number": 4
              }
            ]
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-admin-offer-chain-error-too-many-steps": {
        "description": "The number of offer chain steps exceeds the allowed limit of 30. Try specifying fewer steps.",
        "summary": "Etapas demais",
        "value": {
          "errorCode": 6203,
          "errorMessage": "[0401-6203]: Chain step count exceeds the allowed limit",
          "errorMessageExtended": {
            "max_steps": 30,
            "project_id": 0,
            "step_count": 31
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-daily-chain-claim-error-invalid-step": {
        "description": "Ensure the user has not previously claimed the reward and that the correct step in the daily reward is selected for claiming.",
        "summary": "Não é possível resgatar a recompensa da etapa",
        "value": {
          "errorCode": 6405,
          "errorMessage": "[0401-6405]: This step is not available to be claimed by the user.",
          "errorMessageExtended": {
            "chain_id": 1,
            "step_number": 1
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-offer-chain-claim-error-invalid-step": {
        "description": "The user must claim all previous steps, and the request must use a valid call – <a href=\"/api/shop-builder/operation/order-user-offer-chain-step-reward\">Create order for paid offer chain step</a>, <a href=\"/api/shop-builder/operation/claim-user-offer-chain-step-reward\">Claim free offer chain step</a> for free ones.\n\nThis error is returned if one or more of the following conditions are not met:<ul><li>The offer chain exists, is enabled, and not deleted.</li><li>The target step exists, is enabled, and marked as free.</li><li>The step has not already been claimed by the user. In case of a recurring chain, this check is based on the user progress of the current iteration.</li><li>All previous steps in the chain (by step number) have been claimed or purchased. In case of a recurring chain, this check also considers the user progress of the current iteration.</li></ul>",
        "summary": "Não é possível resgatar a recompensa de etapa",
        "value": {
          "errorCode": 6306,
          "errorMessage": "[0401-6306]: This step is not valid to claim by user.",
          "errorMessageExtended": {
            "chain_id": 1,
            "step_number": 1
          },
          "statusCode": 422,
          "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
        }
      },
      "422-promotion-out-of-range-available-user-limit": {
        "value": {
          "errorCode": 4511,
          "errorMessage": "[0401-4511]: Available promotion limit is out of range.",
          "statusCode": 422,
          "transactionId": "transaction id"
        }
      },
      "422-promotion-without-user-limit": {
        "value": {
          "errorCode": 4509,
          "errorMessage": "[0401-4509]: Promotion does not have configured user limits.",
          "statusCode": 422,
          "transactionId": "transaction id"
        }
      },
      "422-property-sku-is-required": {
        "value": {
          "errorCode": 1102,
          "errorMessage": "[0401-1102]: Unprocessable Entity. The property `sku` is required",
          "statusCode": 422,
          "transactionId": "da145238620011eb8e24fe6913ff226a"
        }
      },
      "422-user_external_id_invalid": {
        "value": {
          "errorCode": 1102,
          "errorMessage": "[0401-1102]: Unprocessable Entity",
          "errorMessageExtended": [
            {
              "message": "Must be at least 1 characters long",
              "property": "user_external_id"
            },
            {
              "message": "Does not match the regex pattern ^\\S+$",
              "property": "user_external_id"
            }
          ],
          "statusCode": 404,
          "transactionId": "transaction id"
        }
      },
      "Promotions_200-admin-coupons": {
        "value": {
          "active_promotions_count": 2,
          "inactive_promotions_count": 0,
          "items": [
            {
              "bonus": [
                {
                  "quantity": 1,
                  "sku": "com.xsolla.elven_sword_1"
                },
                {
                  "quantity": 2,
                  "sku": "com.xsolla.elven_shield_1"
                },
                {
                  "quantity": 2,
                  "sku": "com.xsolla.elven_gloves_1"
                }
              ],
              "external_id": "coupon_44056_1",
              "is_enabled": true,
              "name": {
                "de-DE": "Neujahrsbonus",
                "en-US": "New Year Bonus"
              },
              "promotion_periods": [
                {
                  "date_from": "2020-04-15T18:16:00+05:00",
                  "date_until": "2020-04-25T18:16:00+05:00"
                },
                {
                  "date_from": "2020-05-15T18:16:00+05:00",
                  "date_until": "2020-05-25T18:16:00+05:00"
                }
              ],
              "redeem_code_limit": 1,
              "redeem_total_limit": null,
              "redeem_user_limit": null,
              "total_limit_state": null
            },
            {
              "bonus": [
                {
                  "quantity": 100,
                  "sku": "com.xsolla.diamonds_1"
                }
              ],
              "external_id": "summer2021",
              "is_enabled": true,
              "name": {
                "de-DE": "Gutscheintitel",
                "en-US": "Coupon name"
              },
              "promotion_periods": [
                {
                  "date_from": "2020-04-15T18:16:00+05:00",
                  "date_until": "2020-04-25T18:16:00+05:00"
                }
              ],
              "redeem_code_limit": 1,
              "redeem_total_limit": 100,
              "redeem_user_limit": null,
              "total_limit_state": {
                "available": 50,
                "reserved": 10,
                "used": 40
              }
            }
          ],
          "total_promotions_count": 2
        }
      },
      "Promotions_200-admin-promocodes": {
        "value": {
          "active_promotions_count": 2,
          "inactive_promotions_count": 0,
          "items": [
            {
              "bonus": [
                {
                  "quantity": 1,
                  "sku": "com.xsolla.elven_sword_1"
                },
                {
                  "quantity": 2,
                  "sku": "com.xsolla.elven_shield_1"
                },
                {
                  "quantity": 2,
                  "sku": "com.xsolla.elven_gloves_1"
                }
              ],
              "discount": null,
              "discounted_items": null,
              "external_id": "promocode_100_crystals",
              "is_enabled": true,
              "name": {
                "de-DE": "Neujahrsbonus",
                "en-US": "New Year Bonus"
              },
              "promotion_periods": [
                {
                  "date_from": "2020-04-15T18:16:00+05:00",
                  "date_until": "2020-04-25T18:16:00+05:00"
                }
              ],
              "redeem_code_limit": 1,
              "redeem_total_limit": null,
              "redeem_user_limit": null,
              "total_limit_state": null
            },
            {
              "bonus": [
                {
                  "quantity": 100,
                  "sku": "com.xsolla.diamonds_1"
                }
              ],
              "discount": {
                "percent": "10.99"
              },
              "discounted_items": [
                {
                  "discount": {
                    "percent": "10.00"
                  },
                  "sku": "com.xsolla.elven_sword_1"
                }
              ],
              "excluded_promotions": [
                23,
                45
              ],
              "external_id": "summer2021",
              "is_enabled": true,
              "name": {
                "de-DE": "Gutscheintitel",
                "en-US": "Coupon name"
              },
              "price_conditions": [
                {
                  "operator": "ge",
                  "value": "10.0000"
                },
                {
                  "operator": "le",
                  "value": "50.0000"
                }
              ],
              "promotion_periods": [
                {
                  "date_from": "2020-04-15T18:16:00+05:00",
                  "date_until": "2020-04-25T18:16:00+05:00"
                }
              ],
              "redeem_code_limit": null,
              "redeem_total_limit": 100,
              "redeem_user_limit": null,
              "total_limit_state": {
                "available": 50,
                "reserved": 10,
                "used": 40
              }
            }
          ],
          "total_promotions_count": 2
        }
      },
      "Promotions_200-admin-promotions": {
        "value": {
          "active_promotions_count": 3,
          "inactive_promotions_count": 2,
          "promotions": [
            {
              "bonus": [
                {
                  "item": {
                    "bundle_type": "virtual_currency_package",
                    "content": [],
                    "description": null,
                    "image_url": null,
                    "name": {
                      "en": "Diamonds pack",
                      "ru": "Пак кристаллов"
                    },
                    "sku": "com.xsolla.diamonds_pack_1",
                    "type": "bundle"
                  },
                  "quantity": 1
                }
              ],
              "condition": [
                {
                  "item": {
                    "description": null,
                    "image_url": null,
                    "name": {
                      "en": "VG name",
                      "ru": "Название VG"
                    },
                    "sku": "com.xsolla.virtual_good_bonus_2",
                    "type": "virtual_good"
                  }
                }
              ],
              "discount": null,
              "id": 1,
              "is_enabled": true,
              "name": {
                "en": "promotion_1"
              },
              "promotion_periods": [
                {
                  "date_from": "2020-01-01T00:00:00+03:00",
                  "date_until": null
                }
              ],
              "type": "item_bonus"
            },
            {
              "bonus": [],
              "condition": [
                {
                  "item": {
                    "description": null,
                    "image_url": null,
                    "name": {
                      "en": "VG name",
                      "ru": "Название VG"
                    },
                    "sku": "com.xsolla.virtual_good_bonus_2",
                    "type": "virtual_good"
                  }
                }
              ],
              "discount": {
                "percent": "10.99"
              },
              "id": 2,
              "is_enabled": false,
              "name": {
                "en": "promotion_2"
              },
              "promotion_periods": [
                {
                  "date_from": "2020-01-01T00:00:00+03:00",
                  "date_until": "2030-01-01T00:00:00+03:00"
                }
              ],
              "type": "item_discount"
            },
            {
              "bonus": [
                {
                  "item": {
                    "description": null,
                    "image_url": null,
                    "name": {
                      "en": "VG name",
                      "ru": "Название VG"
                    },
                    "sku": "com.xsolla.virtual_good_bonus_2",
                    "type": "virtual_good"
                  },
                  "quantity": 2
                }
              ],
              "condition": [
                {
                  "item": {
                    "external_id": "coupon_2",
                    "is_enabled": true,
                    "name": {
                      "en": "Coupon name",
                      "ru": "Название купона"
                    },
                    "redeem_code_limit": 1,
                    "redeem_total_limit": null,
                    "redeem_user_limit": null
                  }
                }
              ],
              "discount": null,
              "id": 3,
              "is_enabled": true,
              "name": {
                "en": "promotion_3"
              },
              "promotion_periods": [
                {
                  "date_from": "2020-01-01T00:00:00+03:00",
                  "date_until": "2030-01-01T00:00:00+03:00"
                }
              ],
              "type": "coupon_bonus"
            },
            {
              "bonus": [
                {
                  "item": {
                    "description": null,
                    "image_url": null,
                    "name": {
                      "en": "VG name",
                      "ru": "Название VG"
                    },
                    "sku": "com.xsolla.virtual_good_bonus_2",
                    "type": "virtual_good"
                  },
                  "quantity": 2
                }
              ],
              "condition": [
                {
                  "item": {
                    "external_id": "coupon_3",
                    "is_enabled": true,
                    "name": {
                      "en": "Coupon name",
                      "ru": "Название купона"
                    },
                    "redeem_code_limit": 1,
                    "redeem_total_limit": null,
                    "redeem_user_limit": null
                  }
                }
              ],
              "discount": {
                "percent": "12.99"
              },
              "id": 4,
              "is_enabled": false,
              "name": {
                "en": "promotion_4"
              },
              "promotion_periods": [
                {
                  "date_from": "2018-01-01T00:00:00+03:00",
                  "date_until": "2031-01-01T00:00:00+03:00"
                }
              ],
              "type": "promocode_bonus_discount"
            },
            {
              "bonus": [
                {
                  "item": {
                    "description": null,
                    "image_url": null,
                    "name": {
                      "en": "VG name",
                      "ru": "Название VG"
                    },
                    "sku": "com.xsolla.virtual_good_bonus_4",
                    "type": "virtual_good"
                  },
                  "quantity": 1
                }
              ],
              "condition": null,
              "discount": null,
              "id": 5,
              "is_enabled": true,
              "name": {
                "en": "promotion_5"
              },
              "promotion_periods": [
                {
                  "date_from": "2020-01-01T00:00:00+03:00",
                  "date_until": null
                }
              ],
              "type": "cart_bonus"
            }
          ],
          "total_promotions_count": 5
        }
      },
      "Promotions_200-admin-unique-catalog-offers": {
        "value": {
          "active_promotions_count": 2,
          "inactive_promotions_count": 0,
          "items": [
            {
              "external_id": "new_year_bonus",
              "is_enabled": true,
              "items": [
                "booster",
                "booster_mega"
              ],
              "name": {
                "de-DE": "Neujahrsbonus",
                "en-US": "New Year Bonus"
              },
              "promotion_periods": [
                {
                  "date_from": "2020-04-15T18:16:00+05:00",
                  "date_until": "2020-04-25T18:16:00+05:00"
                },
                {
                  "date_from": "2020-05-15T18:16:00+05:00",
                  "date_until": "2020-05-25T18:16:00+05:00"
                }
              ],
              "redeem_code_limit": 1,
              "redeem_total_limit": null,
              "redeem_user_limit": 1,
              "total_limit_state": null
            },
            {
              "external_id": "secret_store",
              "is_enabled": true,
              "items": [
                "helmet",
                "armor",
                "sword"
              ],
              "name": {
                "en-US": "Secret store",
                "ru-RU": "Тайный магазин"
              },
              "promotion_periods": [
                {
                  "date_from": "2020-04-15T18:16:00+05:00",
                  "date_until": null
                }
              ],
              "redeem_code_limit": 1,
              "redeem_total_limit": 100,
              "redeem_user_limit": 1,
              "total_limit_state": {
                "available": 50,
                "reserved": 10,
                "used": 40
              }
            }
          ],
          "total_promotions_count": 2
        }
      },
      "Promotions_200-coupon-code-list": {
        "value": {
          "codes": [
            {
              "code": "CODE001"
            },
            {
              "code": "CODE002"
            },
            {
              "code": "CODE003"
            },
            {
              "code": "CODE004"
            },
            {
              "code": "CODE005"
            }
          ],
          "total_count": 5
        }
      },
      "Promotions_200-get-coupon-rewards": {
        "value": {
          "bonus": [
            {
              "item": {
                "description": "Game description",
                "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
                "name": {
                  "en": "Game name"
                },
                "sku": "com.xsolla.game_1",
                "type": "unit",
                "unit_items": [
                  {
                    "drm_name": "Steam",
                    "drm_sku": "steam_key_01",
                    "is_free": false,
                    "name": "Game name",
                    "sku": "com.xsolla.game_key_01",
                    "type": "game_key"
                  },
                  {
                    "drm_name": "Origin",
                    "drm_sku": "origin_key_02",
                    "name": "Game name",
                    "sku": "game_key_02",
                    "type": "game_key"
                  }
                ]
              },
              "quantity": 1
            },
            {
              "item": {
                "description": "Game description",
                "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
                "name": {
                  "en": "Game name"
                },
                "sku": "com.xsolla.game_2",
                "type": "unit",
                "unit_items": [
                  {
                    "drm_name": "Steam",
                    "drm_sku": "steam_key_01",
                    "name": "Game name",
                    "sku": "com.xsolla.game_key_01",
                    "type": "game_key"
                  }
                ]
              },
              "quantity": 2
            }
          ],
          "discount": {
            "percent": "10.00"
          },
          "is_selectable": true
        }
      },
      "Promotions_200-get-promocode-rewards": {
        "value": {
          "bonus": [
            {
              "item": {
                "description": "Game description",
                "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
                "name": "Game name",
                "sku": "com.xsolla.game_1",
                "type": "unit",
                "unit_items": [
                  {
                    "drm_name": "Steam",
                    "drm_sku": "steam_key_01",
                    "is_free": false,
                    "name": "Game name",
                    "sku": "com.xsolla.game_key_01",
                    "type": "game_key"
                  },
                  {
                    "drm_name": "Origin",
                    "drm_sku": "origin_key_02",
                    "name": "Game name",
                    "sku": "com.xsolla.game_key_02",
                    "type": "game_key"
                  }
                ]
              },
              "quantity": 1
            },
            {
              "item": {
                "description": "Game description",
                "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
                "name": "Game name",
                "sku": "com.xsolla.game_2",
                "type": "unit",
                "unit_items": [
                  {
                    "drm_name": "Steam",
                    "drm_sku": "steam_key_01",
                    "name": "Game name",
                    "sku": "com.xsolla.game_key_01",
                    "type": "game_key"
                  }
                ]
              },
              "quantity": 2
            }
          ],
          "discount": {
            "percent": "10.00"
          },
          "discounted_items": [
            {
              "discount": {
                "percent": "10.00"
              },
              "sku": "com.xsolla.elven_sword_1"
            }
          ],
          "is_selectable": true
        }
      },
      "Promotions_422-invalid-coupon": {
        "value": {
          "errorCode": 1102,
          "errorMessage": "[0401-1102]: Unprocessable Entity. The property `external_id` is required",
          "statusCode": 422
        }
      },
      "code-limit": {
        "value": {
          "has_more": false,
          "items": [
            {
              "code": "WINTER2023",
              "per_code": {
                "available": 7,
                "reserved": 1,
                "total": 10,
                "used": 2
              }
            },
            {
              "code": "SUMMER2023",
              "per_code": {
                "available": 0,
                "reserved": 2,
                "total": 5,
                "used": 3
              }
            }
          ],
          "promotion_id": 1,
          "total_items_count": 2
        }
      }
    },
    "parameters": {
      "code-path-param": {
        "description": "Código exclusivo que diferencia maiúsculas de minúsculas. Contém letras e números.",
        "in": "path",
        "name": "code",
        "required": true,
        "schema": {
          "example": "WINTER2021",
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        }
      },
      "codes-query-param": {
        "description": "Códigos exclusivos que diferenciam maiúsculas de minúsculas. Contém apenas letras e números.",
        "in": "query",
        "name": "codes[]",
        "schema": {
          "items": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "type": "array"
        }
      },
      "coupon_code-path-param": {
        "description": "Código exclusivo que diferencia maiúsculas de minúsculas. Contém letras e números.",
        "in": "path",
        "name": "coupon_code",
        "required": true,
        "schema": {
          "example": "WINTER2021",
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        }
      },
      "daily_chain_id-path-param": {
        "description": "ID de recompensa diária.",
        "in": "path",
        "name": "daily_chain_id",
        "required": true,
        "schema": {
          "example": 101,
          "type": "integer"
        }
      },
      "daily_chain_step_number-path-param": {
        "description": "Número da etapa de recompensa diária.",
        "in": "path",
        "name": "step_number",
        "required": true,
        "schema": {
          "example": 1,
          "type": "integer"
        }
      },
      "enabled-query-param": {
        "description": "Filtrar elementos pela flag `is_enabled`.",
        "in": "query",
        "name": "enabled",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "external_id-promotion-path-param": {
        "description": "ID externo de promoção. Identificador exclusivo da promoção dentro do projeto.",
        "in": "path",
        "name": "external_id",
        "required": true,
        "schema": {
          "example": "coupon_44056_1",
          "type": "integer"
        }
      },
      "is_enabled-query-param": {
        "description": "Filtrar elementos pela flag `is_enabled`.",
        "in": "query",
        "name": "is_enabled",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "is_expired-daily-chain-query-param": {
        "description": "Filtre as recompensas diárias para mostrar apenas as expiradas.",
        "in": "query",
        "name": "is_expired",
        "required": false,
        "schema": {
          "type": "integer"
        }
      },
      "item_sku-path-param": {
        "description": "SKU do item.",
        "in": "path",
        "name": "item_sku",
        "required": true,
        "schema": {
          "example": "booster_mega_1",
          "type": "string"
        }
      },
      "limit-query-param": {
        "description": "Limite da quantidade de elementos na página.",
        "example": 50,
        "in": "query",
        "name": "limit",
        "required": false,
        "schema": {
          "example": 50,
          "minimum": 1,
          "type": "integer"
        }
      },
      "offer_chain_id-path-param": {
        "description": "ID de cadeia de ofertas.",
        "in": "path",
        "name": "offer_chain_id",
        "required": true,
        "schema": {
          "example": 101,
          "type": "integer"
        }
      },
      "offer_chain_step_number-path-param": {
        "description": "Ofereça o número da etapa da cadeia.",
        "in": "path",
        "name": "step_number",
        "required": true,
        "schema": {
          "example": 1,
          "type": "integer"
        }
      },
      "offset-query-param": {
        "description": "Número do elemento a partir do qual a lista é gerada (a quantidade começa a partir de 0).",
        "example": 0,
        "in": "query",
        "name": "offset",
        "required": false,
        "schema": {
          "example": 0,
          "minimum": 0,
          "type": "integer"
        }
      },
      "personalized-catalog-rule_id-path-param": {
        "description": "ID da regra.",
        "in": "path",
        "name": "rule_id",
        "required": true,
        "schema": {
          "example": 1,
          "type": "number"
        }
      },
      "project_id-path-param": {
        "description": "Project ID. You can find this parameter in your [Publisher Account](https://publisher.xsolla.com/0/projects/0/) next to the project name and in the browser address bar when working with a project. The URL has the following format: `https://publisher.xsolla.com/<merchant_id>/projects/<project_id>`.",
        "in": "path",
        "name": "project_id",
        "required": true,
        "schema": {
          "example": 44056,
          "type": "integer"
        }
      },
      "promocode_code-path-param": {
        "description": "Código exclusivo que diferencia maiúsculas de minúsculas. Contém letras e números.",
        "in": "path",
        "name": "promocode_code",
        "required": true,
        "schema": {
          "example": "SO6rew99j9",
          "maxLength": 128,
          "minLength": 1,
          "type": "string"
        }
      },
      "promotion_id-path-param": {
        "description": "ID de promoção. Identificador exclusivo da promoção dentro do projeto.",
        "in": "path",
        "name": "promotion_id",
        "required": true,
        "schema": {
          "example": 111425,
          "type": "integer"
        }
      },
      "reward_chain_id-path-param": {
        "description": "ID da cadeia de recompensas.",
        "in": "path",
        "name": "reward_chain_id",
        "required": true,
        "schema": {
          "example": 101,
          "type": "integer"
        }
      },
      "reward_chain_step_id-path-param": {
        "description": "ID de etapa de cadeia de recompensa.",
        "in": "path",
        "name": "step_id",
        "required": true,
        "schema": {
          "example": 120,
          "type": "integer"
        }
      },
      "type-daily-chain-query-param": {
        "description": "Filtra recompensas diárias para retornar apenas o tipo especificado.",
        "in": "query",
        "name": "type",
        "required": false,
        "schema": {
          "enum": [
            "calendar_hard",
            "rolling_skippable",
            "rolling_unskippable"
          ],
          "type": "string"
        }
      },
      "user_external_id-query-param": {
        "description": "ID externo de usuário",
        "in": "query",
        "name": "user_external_id",
        "required": true,
        "schema": {
          "example": "d342dad2-9d59-11e9-a384-42010aa8003f",
          "type": "string"
        }
      },
      "value_point_sku-path-param": {
        "description": "SKU de pontos de valor.",
        "in": "path",
        "name": "value_point_sku",
        "required": true,
        "schema": {
          "example": "value_point_3",
          "type": "string"
        }
      }
    },
    "requestBodies": {
      "Promotions_cancel-promo-code-model": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "cart": {
                  "properties": {
                    "id": {
                      "default": "current",
                      "description": "ID do carrinho.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "id"
                  ],
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "type": "object"
            }
          }
        }
      },
      "Promotions_coupon-create": {
        "content": {
          "application/json": {
            "examples": {
              "personalized": {
                "value": {
                  "attribute_conditions": [
                    {
                      "attribute": "account_status",
                      "can_be_missing": false,
                      "operator": "eq",
                      "type": "string",
                      "value": "golden"
                    }
                  ],
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_2"
                    }
                  ],
                  "external_id": "coupon_external_id",
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "simple": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_1"
                    }
                  ],
                  "external_id": "coupon_external_id",
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    },
                    {
                      "date_from": "2020-05-15T18:16:00+05:00",
                      "date_until": "2020-05-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              }
            },
            "schema": {
              "properties": {
                "attribute_conditions": {
                  "$ref": "#/components/schemas/promotion_user-attribute_conditions_model-post"
                },
                "bonus": {
                  "$ref": "#/components/schemas/Promotions_coupon_bonus"
                },
                "external_id": {
                  "$ref": "#/components/schemas/Promotions_coupon-external_id"
                },
                "name": {
                  "$ref": "#/components/schemas/Promotions_coupon_name"
                },
                "promotion_periods": {
                  "$ref": "#/components/schemas/promotion_periods"
                },
                "redeem_code_limit": {
                  "$ref": "#/components/schemas/Promotions_redeem_code_limit"
                },
                "redeem_total_limit": {
                  "$ref": "#/components/schemas/Promotions_coupon-redeem_total_limit"
                },
                "redeem_user_limit": {
                  "$ref": "#/components/schemas/Promotions_coupon-redeem_user_limit"
                }
              },
              "required": [
                "external_id",
                "name"
              ],
              "type": "object"
            }
          }
        }
      },
      "Promotions_coupon-update": {
        "content": {
          "application/json": {
            "examples": {
              "personalized": {
                "value": {
                  "attribute_conditions": [
                    {
                      "attribute": "account_status",
                      "can_be_missing": false,
                      "operator": "eq",
                      "type": "string",
                      "value": "golden"
                    }
                  ],
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_2"
                    }
                  ],
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "simple": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_1"
                    }
                  ],
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    },
                    {
                      "date_from": "2020-05-15T18:16:00+05:00",
                      "date_until": "2020-05-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              }
            },
            "schema": {
              "properties": {
                "attribute_conditions": {
                  "$ref": "#/components/schemas/promotion_user-attribute_conditions_model-post"
                },
                "bonus": {
                  "$ref": "#/components/schemas/Promotions_coupon_bonus"
                },
                "name": {
                  "$ref": "#/components/schemas/Promotions_coupon_name"
                },
                "promotion_periods": {
                  "$ref": "#/components/schemas/promotion_periods"
                },
                "redeem_code_limit": {
                  "$ref": "#/components/schemas/Promotions_redeem_code_limit"
                },
                "redeem_total_limit": {
                  "$ref": "#/components/schemas/Promotions_coupon-redeem_total_limit"
                },
                "redeem_user_limit": {
                  "$ref": "#/components/schemas/Promotions_coupon-redeem_user_limit"
                }
              },
              "required": [
                "name"
              ],
              "type": "object"
            }
          }
        }
      },
      "Promotions_create-coupon-promocode-code": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "coupon_code": {
                  "$ref": "#/components/schemas/Promotions_coupon_code"
                }
              },
              "type": "object"
            }
          }
        }
      },
      "Promotions_create-update-bonus-promotion": {
        "content": {
          "application/json": {
            "examples": {
              "personalized": {
                "value": {
                  "attribute_conditions": [
                    {
                      "attribute": "account_status",
                      "can_be_missing": false,
                      "operator": "eq",
                      "type": "string",
                      "value": "golden"
                    }
                  ],
                  "bonus": [
                    {
                      "quantity": 50000,
                      "sku": "com.xsolla.mp_credits"
                    }
                  ],
                  "condition": [
                    {
                      "sku": "com.xsolla.year_1_season_pass"
                    }
                  ],
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ]
                }
              },
              "simple": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_1"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_shield_1"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_gloves_1"
                    }
                  ],
                  "condition": [
                    {
                      "sku": "com.xsolla.elven_boots_1"
                    },
                    {
                      "sku": "com.xsolla.elven_knife_1"
                    }
                  ],
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    },
                    {
                      "date_from": "2020-05-15T18:16:00+05:00",
                      "date_until": "2020-05-25T18:16:00+05:00"
                    }
                  ]
                }
              },
              "with excluded promotions": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 50000,
                      "sku": "com.xsolla.mp_credits"
                    }
                  ],
                  "condition": [
                    {
                      "sku": "com.xsolla.year_1_season_pass"
                    }
                  ],
                  "excluded_promotions": [
                    12,
                    789
                  ],
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ]
                }
              },
              "with price conditions": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_2"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_shield_2"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_gloves_2"
                    }
                  ],
                  "condition": [
                    {
                      "sku": "com.xsolla.elven_boots_2"
                    },
                    {
                      "sku": "com.xsolla.elven_knife_2"
                    }
                  ],
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "price_conditions": [
                    {
                      "operator": "gt",
                      "value": "10.0000"
                    },
                    {
                      "operator": "lt",
                      "value": "20.0000"
                    }
                  ],
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ]
                }
              }
            },
            "schema": {
              "properties": {
                "attribute_conditions": {
                  "$ref": "#/components/schemas/promotion_user-attribute_conditions_model-post"
                },
                "bonus": {
                  "items": {
                    "description": "A lista de itens que serão adicionados na compra do usuário como um bônus.",
                    "properties": {
                      "quantity": {
                        "default": 1,
                        "description": "Quantidade do item.",
                        "type": "number"
                      },
                      "sku": {
                        "default": "elven_shield",
                        "description": "SKU do item.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": [
                    "array",
                    "null"
                  ]
                },
                "condition": {
                  "description": "Conjunto de itens que devem ser incluídos na compra para aplicar uma promoção. Se esse parâmetro for `null`, uma promoção será aplicada a todas as compras dentro de um projeto.",
                  "items": {
                    "properties": {
                      "sku": {
                        "default": "elven_sword",
                        "description": "SKU do item.",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": [
                    "array",
                    "null"
                  ]
                },
                "excluded_promotions": {
                  "$ref": "#/components/schemas/excluded_promotions"
                },
                "id": {
                  "description": "ID de promoção. Identificador exclusivo da promoção dentro do projeto.",
                  "type": "integer"
                },
                "is_enabled": {
                  "$ref": "#/components/schemas/Promotions_is_enabled"
                },
                "limits": {
                  "$ref": "#/components/schemas/Promotions_promotion_limits"
                },
                "name": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Nome da promoção. Deve conter pares chave/valor onde chave é uma localidade com formato \"^[a-z]{2}-[A-Z]{2}$\", e o valor é uma cadeia de caracteres.",
                  "example": {
                    "de-DE": "Sommersaison Bonus",
                    "en-US": "Summer season bonus"
                  },
                  "type": "object"
                },
                "price_conditions": {
                  "$ref": "#/components/schemas/price_conditions_bonus"
                },
                "promotion_periods": {
                  "$ref": "#/components/schemas/promotion_periods"
                }
              },
              "required": [
                "condition",
                "bonus",
                "name"
              ],
              "type": "object"
            }
          }
        }
      },
      "Promotions_create-update-item-promotion": {
        "content": {
          "application/json": {
            "examples": {
              "personalized": {
                "value": {
                  "attribute_conditions": [
                    {
                      "attribute": "race",
                      "operator": "eq",
                      "type": "string",
                      "value": "ork"
                    },
                    {
                      "attribute": "level",
                      "can_be_missing": true,
                      "operator": "eq",
                      "type": "number",
                      "value": "10"
                    }
                  ],
                  "discount": {
                    "percent": "24.00"
                  },
                  "is_enabled": true,
                  "items": [],
                  "name": {
                    "en-US": "Ork set discount",
                    "ru-RU": "Скидка на набор для орка"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ]
                }
              },
              "simple": {
                "value": {
                  "discount": {
                    "percent": "10.00"
                  },
                  "is_enabled": true,
                  "items": [
                    {
                      "sku": "com.xsolla.elven_sword_1"
                    },
                    {
                      "sku": "com.xsolla.elven_helmet_1"
                    },
                    {
                      "sku": "com.xsolla.elven_armor_1"
                    }
                  ],
                  "name": {
                    "en-US": "Promotion",
                    "ru-RU": "Акция"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    },
                    {
                      "date_from": "2020-05-16T18:16:00+05:00",
                      "date_until": "2020-05-25T18:16:00+05:00"
                    }
                  ]
                }
              },
              "with excluded promotions": {
                "value": {
                  "discount": {
                    "percent": "24.00"
                  },
                  "excluded_promotions": [
                    12,
                    789
                  ],
                  "is_enabled": true,
                  "items": [],
                  "name": {
                    "en-US": "Ork set discount",
                    "ru-RU": "Скидка на набор для орка"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ]
                }
              },
              "with price condition": {
                "value": {
                  "discount": {
                    "percent": "24.00"
                  },
                  "items": [],
                  "name": {
                    "en-US": "Ork set discount",
                    "ru-RU": "Скидка на набор для орка"
                  },
                  "price_conditions": [
                    {
                      "operator": "ge",
                      "value": "10.5000"
                    },
                    {
                      "operator": "lt",
                      "value": "20.5000"
                    }
                  ],
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ]
                }
              }
            },
            "schema": {
              "properties": {
                "attribute_conditions": {
                  "$ref": "#/components/schemas/promotion_user-attribute_conditions_model-post"
                },
                "discount": {
                  "properties": {
                    "percent": {
                      "description": "Percentual de desconto.\nO preço do item será diminuído usando um valor calculado usando essa porcentagem e, em seguida, arredondado para 2 casas decimais.",
                      "example": 10,
                      "type": "string"
                    }
                  },
                  "required": [
                    "percent"
                  ],
                  "type": "object"
                },
                "excluded_promotions": {
                  "$ref": "#/components/schemas/excluded_promotions"
                },
                "is_enabled": {
                  "$ref": "#/components/schemas/Promotions_is_enabled"
                },
                "items": {
                  "items": {
                    "description": "A lista de itens que serão afetados pelo desconto.",
                    "properties": {
                      "sku": {
                        "default": "elven_sword",
                        "description": "SKU do item.",
                        "type": "string"
                      }
                    },
                    "required": [
                      "sku"
                    ],
                    "type": "object"
                  },
                  "type": "array"
                },
                "limits": {
                  "$ref": "#/components/schemas/Promotions_promotion_limits"
                },
                "name": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "description": "Nome da promoção. Deve conter pares chave/valor,\nonde chave é a localidade com o formato \"^[a-z]{2}-[A-Z]{2}$\", e o valor é uma cadeia de caracteres.",
                  "example": {
                    "en-US": "Promotion",
                    "ru-RU": "Акция"
                  },
                  "type": "object"
                },
                "price_conditions": {
                  "$ref": "#/components/schemas/price_conditions_discount"
                },
                "promotion_periods": {
                  "$ref": "#/components/schemas/promotion_periods"
                }
              },
              "required": [
                "items",
                "discount",
                "name"
              ],
              "type": "object"
            }
          }
        },
        "description": "Objeto com dados de promoção.",
        "required": true
      },
      "Promotions_promocode-create": {
        "content": {
          "application/json": {
            "examples": {
              "personalized": {
                "value": {
                  "attribute_conditions": [
                    {
                      "attribute": "account_status",
                      "can_be_missing": false,
                      "operator": "eq",
                      "type": "string",
                      "value": "golden"
                    }
                  ],
                  "discount": {
                    "percent": "10.10"
                  },
                  "external_id": "coupon_external_id",
                  "name": {
                    "de-DE": "Neujahrsrabatt",
                    "en-US": "New Year Discount"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "simple bonus": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_1"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_shield_1"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_gloves_1"
                    }
                  ],
                  "external_id": "promo_code_external_id",
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    },
                    {
                      "date_from": "2020-05-15T18:16:00+05:00",
                      "date_until": "2020-05-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "simple discount": {
                "value": {
                  "discount": {
                    "percent": "10.10"
                  },
                  "external_id": "promo_code_external_id",
                  "name": {
                    "de-DE": "Neujahrsrabatt",
                    "en-US": "New Year Discount"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "with excluded promotions": {
                "value": {
                  "discount": {
                    "percent": "10.10"
                  },
                  "excluded_promotions": [
                    12,
                    789
                  ],
                  "external_id": "coupon_external_id",
                  "name": {
                    "de-DE": "Neujahrsrabatt",
                    "en-US": "New Year Discount"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "with item price conditions": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_3"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_shield_3"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_gloves_3"
                    }
                  ],
                  "discount": {
                    "percent": "10.10"
                  },
                  "external_id": "promo_code_external_id",
                  "item_price_conditions": [
                    {
                      "operator": "ge",
                      "value": "10.5000"
                    },
                    {
                      "operator": "lt",
                      "value": "50.0000"
                    }
                  ],
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "with price conditions": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_2"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_shield_2"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_gloves_2"
                    }
                  ],
                  "external_id": "promo_code_external_id",
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "price_conditions": [
                    {
                      "operator": "ge",
                      "value": "10.5000"
                    },
                    {
                      "operator": "lt",
                      "value": "50.0000"
                    }
                  ],
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              }
            },
            "schema": {
              "properties": {
                "attribute_conditions": {
                  "$ref": "#/components/schemas/promotion_user-attribute_conditions_model-post"
                },
                "bonus": {
                  "$ref": "#/components/schemas/Promotions_coupon_bonus"
                },
                "discount": {
                  "example": {
                    "percent": "10.10"
                  },
                  "properties": {
                    "percent": {
                      "$ref": "#/components/schemas/Promotions_promotion_discount_percent"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "discounted_items": {
                  "$ref": "#/components/schemas/Promotions_discounted_items"
                },
                "excluded_promotions": {
                  "$ref": "#/components/schemas/excluded_promotions"
                },
                "external_id": {
                  "$ref": "#/components/schemas/Promotions_coupon-external_id"
                },
                "item_price_conditions": {
                  "$ref": "#/components/schemas/item_price_conditions_promocode"
                },
                "name": {
                  "$ref": "#/components/schemas/Promotions_coupon_name"
                },
                "price_conditions": {
                  "$ref": "#/components/schemas/price_conditions_promocode"
                },
                "promotion_periods": {
                  "$ref": "#/components/schemas/promotion_periods"
                },
                "redeem_code_limit": {
                  "$ref": "#/components/schemas/Promotions_redeem_code_limit"
                },
                "redeem_total_limit": {
                  "$ref": "#/components/schemas/Promotions_coupon-redeem_total_limit"
                },
                "redeem_user_limit": {
                  "$ref": "#/components/schemas/Promotions_coupon-redeem_user_limit"
                }
              },
              "required": [
                "external_id",
                "name"
              ],
              "type": "object"
            }
          }
        }
      },
      "Promotions_promocode-update": {
        "content": {
          "application/json": {
            "examples": {
              "personalized": {
                "value": {
                  "attribute_conditions": [
                    {
                      "attribute": "account_status",
                      "can_be_missing": false,
                      "operator": "eq",
                      "type": "string",
                      "value": "golden"
                    }
                  ],
                  "discount": {
                    "percent": "10.10"
                  },
                  "name": {
                    "de-DE": "Neujahrsrabatt",
                    "en-US": "New Year Discount"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "simple bonus": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_1"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_shield_1"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_gloves_1"
                    }
                  ],
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    },
                    {
                      "date_from": "2020-05-15T18:16:00+05:00",
                      "date_until": "2020-05-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "simple discount": {
                "value": {
                  "discount": {
                    "percent": "10.10"
                  },
                  "name": {
                    "de-DE": "Neujahrsrabatt",
                    "en-US": "New Year Discount"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "with excluded promotions": {
                "value": {
                  "discount": {
                    "percent": "10.10"
                  },
                  "excluded_promotions": [
                    12,
                    789
                  ],
                  "name": {
                    "de-DE": "Neujahrsrabatt",
                    "en-US": "New Year Discount"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "with item price conditions": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_3"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_shield_3"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_gloves_3"
                    }
                  ],
                  "discount": {
                    "percent": "10.10"
                  },
                  "item_price_conditions": [
                    {
                      "operator": "gt",
                      "value": "10.5000"
                    },
                    {
                      "operator": "lt",
                      "value": "50.0000"
                    }
                  ],
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "with price conditions": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_2"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_shield_2"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_gloves_2"
                    }
                  ],
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "price_conditions": [
                    {
                      "operator": "gt",
                      "value": "10.5000"
                    },
                    {
                      "operator": "lt",
                      "value": "50.0000"
                    }
                  ],
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              }
            },
            "schema": {
              "properties": {
                "attribute_conditions": {
                  "$ref": "#/components/schemas/promotion_user-attribute_conditions_model-post"
                },
                "bonus": {
                  "$ref": "#/components/schemas/Promotions_coupon_bonus"
                },
                "discount": {
                  "example": {
                    "percent": "10.10"
                  },
                  "properties": {
                    "percent": {
                      "$ref": "#/components/schemas/Promotions_promotion_discount_percent"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "discounted_items": {
                  "$ref": "#/components/schemas/Promotions_discounted_items"
                },
                "excluded_promotions": {
                  "$ref": "#/components/schemas/excluded_promotions"
                },
                "item_price_conditions": {
                  "$ref": "#/components/schemas/item_price_conditions_promocode"
                },
                "name": {
                  "$ref": "#/components/schemas/Promotions_coupon_name"
                },
                "price_conditions": {
                  "$ref": "#/components/schemas/price_conditions_promocode"
                },
                "promotion_periods": {
                  "$ref": "#/components/schemas/promotion_periods"
                },
                "redeem_code_limit": {
                  "$ref": "#/components/schemas/Promotions_redeem_code_limit"
                },
                "redeem_total_limit": {
                  "$ref": "#/components/schemas/Promotions_coupon-redeem_total_limit"
                },
                "redeem_user_limit": {
                  "$ref": "#/components/schemas/Promotions_coupon-redeem_user_limit"
                }
              },
              "required": [
                "name"
              ],
              "type": "object"
            }
          }
        }
      },
      "Promotions_redeem-coupon-model": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "coupon_code": {
                  "default": "WINTER2021",
                  "description": "Código de cupom exclusivo. Contém letras e números.",
                  "example": "WINTER2021",
                  "maxLength": 128,
                  "minLength": 1,
                  "type": "string"
                },
                "selected_unit_items": {
                  "$ref": "#/components/schemas/Promotions_selected_unit_items"
                }
              },
              "type": "object"
            }
          }
        }
      },
      "Promotions_redeem-promo-code-model": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "cart": {
                  "properties": {
                    "id": {
                      "default": "current",
                      "description": "ID do carrinho.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "id"
                  ],
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "coupon_code": {
                  "default": "SUMMER2021",
                  "description": "Código exclusivo do código promocional. Contém letras e números.",
                  "example": "SUMMER2021",
                  "maxLength": 128,
                  "minLength": 1,
                  "type": "string"
                },
                "selected_unit_items": {
                  "$ref": "#/components/schemas/Promotions_selected_unit_items"
                }
              },
              "type": "object"
            }
          }
        }
      },
      "Promotions_unique_catalog_offer-create": {
        "content": {
          "application/json": {
            "examples": {
              "limited": {
                "value": {
                  "date_end": "2020-04-25T18:16:00+05:00",
                  "date_start": "2020-04-15T18:16:00+05:00",
                  "external_id": "offer_external_id",
                  "items": [
                    "elven_sword",
                    "elven_boots"
                  ],
                  "name": {
                    "de-DE": "Neujahrsangebot",
                    "en-US": "New Year Offer"
                  },
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "simple": {
                "value": {
                  "date_end": "2020-04-25T18:16:00+05:00",
                  "date_start": "2020-04-15T18:16:00+05:00",
                  "external_id": "offer_external_id",
                  "items": [
                    "elven_sword",
                    "elven_boots"
                  ],
                  "name": {
                    "de-DE": "Neujahrsangebot",
                    "en-US": "New Year Offer"
                  }
                }
              }
            },
            "schema": {
              "properties": {
                "date_end": {
                  "$ref": "#/components/schemas/Promotions_coupon_date_end"
                },
                "date_start": {
                  "$ref": "#/components/schemas/Promotions_coupon_date_start"
                },
                "external_id": {
                  "$ref": "#/components/schemas/Promotions_coupon-external_id"
                },
                "items": {
                  "$ref": "#/components/schemas/Promotions_unique_catalog_offer_items",
                  "type": "array"
                },
                "name": {
                  "$ref": "#/components/schemas/Promotions_coupon_name"
                },
                "redeem_code_limit": {
                  "$ref": "#/components/schemas/Promotions_redeem_code_limit"
                },
                "redeem_total_limit": {
                  "$ref": "#/components/schemas/Promotions_coupon-redeem_total_limit"
                },
                "redeem_user_limit": {
                  "$ref": "#/components/schemas/Promotions_coupon-redeem_user_limit"
                }
              },
              "required": [
                "external_id",
                "name"
              ],
              "type": "object"
            }
          }
        }
      },
      "Promotions_unique_catalog_offer-update": {
        "content": {
          "application/json": {
            "examples": {
              "limited": {
                "value": {
                  "items": [
                    "elven_sword",
                    "elven_boots"
                  ],
                  "name": {
                    "de-DE": "Neujahrsangebot",
                    "en-US": "New Year Offer"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ],
                  "redeem_code_limit": 1,
                  "redeem_total_limit": 100,
                  "redeem_user_limit": 1
                }
              },
              "simple": {
                "value": {
                  "items": [
                    "elven_sword",
                    "elven_boots"
                  ],
                  "name": {
                    "de-DE": "Neujahrsangebot",
                    "en-US": "New Year Offer"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    },
                    {
                      "date_from": "2020-05-15T18:16:00+05:00",
                      "date_until": "2020-05-25T18:16:00+05:00"
                    }
                  ]
                }
              }
            },
            "schema": {
              "properties": {
                "items": {
                  "$ref": "#/components/schemas/Promotions_unique_catalog_offer_items"
                },
                "name": {
                  "$ref": "#/components/schemas/Promotions_coupon_name"
                },
                "promotion_periods": {
                  "$ref": "#/components/schemas/promotion_periods"
                },
                "redeem_code_limit": {
                  "$ref": "#/components/schemas/Promotions_redeem_code_limit"
                },
                "redeem_total_limit": {
                  "$ref": "#/components/schemas/Promotions_coupon-redeem_total_limit"
                },
                "redeem_user_limit": {
                  "$ref": "#/components/schemas/Promotions_coupon-redeem_user_limit"
                }
              },
              "required": [
                "name"
              ],
              "type": "object"
            }
          }
        }
      },
      "create-daily-chain": {
        "content": {
          "application/json": {
            "examples": {
              "calendar_hard": {
                "summary": "Recompensa diária de tipo `calendar_hard`",
                "value": {
                  "date_start": "2023-04-15T18:16:00+05:00",
                  "description": {
                    "en": "New daily reward short description"
                  },
                  "is_enabled": true,
                  "name": {
                    "en": "New daily reward",
                    "ru": "Новая ежедневная награда"
                  },
                  "order": 4,
                  "steps": [
                    {
                      "items": [
                        {
                          "quantity": 2,
                          "sku": "vg_enabled_shown_in_store_1"
                        }
                      ],
                      "step_number": 1
                    },
                    {
                      "items": [
                        {
                          "quantity": 2,
                          "sku": "bundle_enabled_shown_in_store_with_2_enabled_shown_in_store_vg"
                        }
                      ],
                      "step_number": 2
                    },
                    {
                      "items": [
                        {
                          "quantity": 2,
                          "sku": "vcp_enabled_shown_in_store_1_of_10_vc_enabled_shown_in_store_1"
                        }
                      ],
                      "step_number": 3
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "vg_enabled_shown_in_store_1"
                        }
                      ],
                      "step_number": 4
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "bundle_enabled_shown_in_store_with_2_enabled_shown_in_store_vg"
                        }
                      ],
                      "step_number": 5
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "vcp_enabled_shown_in_store_1_of_10_vc_enabled_shown_in_store_1"
                        }
                      ],
                      "step_number": 6
                    }
                  ],
                  "type": "calendar_hard"
                }
              },
              "rolling_skippable": {
                "summary": "Tipo de recompensa diária com `rolling_skippable`",
                "value": {
                  "date_end": "2023-05-31T10:00:00+05:00",
                  "date_start": "2023-05-01T10:00:00+05:00",
                  "description": {
                    "en": "New skippable login reward short description"
                  },
                  "is_enabled": true,
                  "is_recurrent": true,
                  "name": {
                    "en": "New skippable login reward"
                  },
                  "order": 1,
                  "steps": [
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "monday_reward_item_one"
                        }
                      ],
                      "step_number": 1
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "tuesday_reward_item_two"
                        }
                      ],
                      "step_number": 2
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "wednesday_reward_item_three"
                        }
                      ],
                      "step_number": 3
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "thursday_reward_item_four"
                        }
                      ],
                      "step_number": 4
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "friday_reward_item_five"
                        }
                      ],
                      "step_number": 5
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "saturday_reward_item_six"
                        }
                      ],
                      "step_number": 6
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "sunday_reward_item_seven"
                        }
                      ],
                      "step_number": 7
                    }
                  ],
                  "type": "rolling_skippable"
                }
              },
              "rolling_unskippable": {
                "summary": "Tipo de recompensa diária com `rolling_unskippable`",
                "value": {
                  "date_end": "2023-06-30T10:00:00+05:00",
                  "date_start": "2023-06-01T10:00:00+05:00",
                  "description": {
                    "en": "New unskippable login reward short description"
                  },
                  "is_enabled": true,
                  "is_recurrent": false,
                  "name": {
                    "en": "New unskippable login reward"
                  },
                  "order": 2,
                  "steps": [
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "monday_reward_item_one"
                        }
                      ],
                      "step_number": 1
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "tuesday_reward_item_two"
                        }
                      ],
                      "step_number": 2
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "wednesday_reward_item_three"
                        }
                      ],
                      "step_number": 3
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "thursday_reward_item_four"
                        }
                      ],
                      "step_number": 4
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "friday_reward_item_five"
                        }
                      ],
                      "step_number": 5
                    }
                  ],
                  "type": "rolling_unskippable"
                }
              }
            },
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/create-calendar-hard-daily-chain-model"
                },
                {
                  "$ref": "#/components/schemas/create-rolling-skippable-daily-chain-model"
                },
                {
                  "$ref": "#/components/schemas/create-rolling-unskippable-daily-chain-model"
                }
              ]
            }
          }
        }
      },
      "create-offer-chain": {
        "content": {
          "application/json": {
            "examples": {
              "default": {
                "summary": "Exemplo de cadeia de oferta regular",
                "value": {
                  "date_end": null,
                  "date_start": "2023-04-15T18:16:00+05:00",
                  "description": {
                    "de": "Eine kurze Beschreibung einer regulären Angebotskette",
                    "en": "A short description of a regular offer chain",
                    "fr": "Une brève description d'une chaîne d'offres régulière",
                    "it": "Una breve descrizione di una catena di offerte regolare",
                    "ru": "Краткое описание обычной цепочки предложений"
                  },
                  "is_always_visible": true,
                  "is_enabled": true,
                  "name": {
                    "de": "Neue Angebotskette",
                    "en": "New offer chain",
                    "fr": "Nouvelle chaîne d'offres",
                    "it": "Nuova catena di offerte",
                    "ru": "Новая цепочка предложений"
                  },
                  "order": 4,
                  "recurrent_schedule": null,
                  "steps": [
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 2,
                          "sku": "chain_step_1_paid_bundle_sku"
                        }
                      ],
                      "step_number": 1
                    },
                    {
                      "is_free": true,
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "chain_step_2_free_virtual_good_sku"
                        }
                      ],
                      "step_number": 2
                    },
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 5,
                          "sku": "chain_step_3_paid_virtual_currency_package_sku"
                        }
                      ],
                      "step_number": 3
                    },
                    {
                      "is_free": true,
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "chain_step_4_free_bundle_sku"
                        }
                      ],
                      "step_number": 4
                    }
                  ]
                }
              },
              "personalized-default": {
                "summary": "Exemplo de cadeia de ofertas padrão personalizada",
                "value": {
                  "date_end": null,
                  "date_start": "2023-04-15T18:16:00+05:00",
                  "description": {
                    "de": "Standard-personalisierte Angebotskette für Benutzer, die die Bedingungen anderer personalisierter Ketten nicht erfüllen",
                    "en": "Default personalized offer chain for users that do not meet the conditions of other personalized chains",
                    "fr": "Chaîne d'offres personnalisée par défaut pour les utilisateurs qui ne répondent pas aux conditions des autres chaînes personnalisées",
                    "it": "Catena di offerte personalizzata predefinita per gli utenti che non soddisfano le condizioni di altre catene personalizzate",
                    "ru": "Персонализированная цепочка по умолчанию для пользователей, не подходящих под условия других персонализированных цепочек"
                  },
                  "is_always_visible": false,
                  "is_enabled": true,
                  "name": {
                    "de": "Neue personalisierte Standard-Angebotskette",
                    "en": "New personalized default offer chain",
                    "fr": "Nouvelle chaîne d'offres personnalisée par défaut",
                    "it": "Nuova catena di offerte personalizzata predefinita",
                    "ru": "Новая персонализированная цепочка предложений по умолчанию"
                  },
                  "order": 4,
                  "recurrent_schedule": null,
                  "steps": [
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "chain_x_step_1_item_default"
                        }
                      ],
                      "step_number": 1
                    },
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 2,
                          "sku": "chain_x_step_2_item_default"
                        }
                      ],
                      "step_number": 2
                    },
                    {
                      "is_free": true,
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "chain_x_step_3_free_item_default"
                        }
                      ],
                      "step_number": 3
                    }
                  ]
                }
              },
              "personalized-with-conditions": {
                "summary": "Exemplo de cadeia de ofertas personalizada com de condições de atributo do usuário",
                "value": {
                  "attribute_conditions": [
                    {
                      "attribute": "race",
                      "can_be_missing": false,
                      "operator": "eq",
                      "type": "string",
                      "value": "elf"
                    },
                    {
                      "attribute": "level",
                      "can_be_missing": false,
                      "operator": "ge",
                      "type": "number",
                      "value": "10"
                    },
                    {
                      "attribute": "10_level_up_date",
                      "can_be_missing": false,
                      "operator": "le",
                      "type": "date",
                      "value": "2026-01-01T00:00:00"
                    }
                  ],
                  "date_end": null,
                  "date_start": "2023-04-15T18:16:00+05:00",
                  "description": {
                    "de": "Personalisierte Angebotskette mit Benutzerattributbedingungen - für Elfen der Stufe 10 und höher, die Stufe 10 spätestens am 2026-01-01 00:00:00 erreicht haben, einschließlich",
                    "en": "Personalized offer chain with user attribute conditions - for level 10 and above elves who reached level 10 no later than 2026-01-01 00:00:00, inclusive",
                    "fr": "Chaîne d'offres personnalisée avec des conditions d'attribut utilisateur - pour les elfes de niveau 10 et plus qui ont atteint le niveau 10 au plus tard le 2026-01-01 00:00:00, inclus",
                    "it": "Catena di offerte personalizzata con condizioni di attributo utente - per elfi di livello 10 e superiore che hanno raggiunto il livello 10 non più tardi del 2026-01-01 00:00:00, inclusi",
                    "ru": "Персонализированная цепочка предложений с условиями по атрибутам пользователя - для эльфов уровня 10 и выше, достигших 10 уровня не позднее 2026-01-01 00:00:00 включительно"
                  },
                  "is_always_visible": false,
                  "is_enabled": true,
                  "name": {
                    "de": "Neue personalisierte Angebotskette",
                    "en": "New personalized offer chain",
                    "fr": "Nouvelle chaîne d'offres personnalisée",
                    "it": "Nuova catena di offerte personalizzata",
                    "ru": "Новая персонализированная цепочка предложений"
                  },
                  "order": 4,
                  "recurrent_schedule": null,
                  "steps": [
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "chain_x_step_1_item_for_elves_level_10_and_above"
                        }
                      ],
                      "step_number": 1
                    },
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 2,
                          "sku": "chain_x_step_2_item_for_elves_level_10_and_above"
                        }
                      ],
                      "step_number": 2
                    },
                    {
                      "is_free": true,
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "chain_x_step_3_free_item_for_elves_level_10_and_above"
                        }
                      ],
                      "step_number": 3
                    }
                  ]
                }
              },
              "recurrent": {
                "summary": "Exemplo de cadeia de oferta recorrente",
                "value": {
                  "date_end": "2025-04-25T18:16:00+05:00",
                  "date_start": "2023-04-15T18:16:00+05:00",
                  "description": {
                    "de": "Eine wiederkehrende Angebotskette, die wöchentlich mittwochs um 07:00 Uhr GMT+3 zurückgesetzt wird",
                    "en": "A recurring offer chain that resets weekly on Wednesdays at 07:00 AM GMT+3",
                    "fr": "Une chaîne d'offres récurrente qui se réinitialise chaque semaine le mercredi à 07h00 GMT+3",
                    "it": "Una catena di offerte ricorrente che si resetta settimanalmente il mercoledì alle 07:00 GMT+3",
                    "ru": "Рекуррентная цепочка предложений, которая сбрасывается еженедельно по средам в 07:00 по GMT+3"
                  },
                  "is_always_visible": true,
                  "is_enabled": false,
                  "name": {
                    "de": "Neue wiederkehrende Angebotskette",
                    "en": "New recurrent offer chain",
                    "fr": "Nouvelle chaîne d'offres récurrente",
                    "it": "Nuova catena di offerte ricorrente",
                    "ru": "Новая рекуррентная цепочка предложений"
                  },
                  "order": 1,
                  "recurrent_schedule": {
                    "day_of_week": 3,
                    "interval_type": "weekly",
                    "time": "07:00:00+03:00"
                  },
                  "steps": [
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 2,
                          "sku": "chain_step_1_paid_bundle_sku"
                        }
                      ],
                      "step_number": 1
                    },
                    {
                      "is_free": true,
                      "items": [
                        {
                          "quantity": 3,
                          "sku": "chain_step_2_free_virtual_good_sku"
                        }
                      ],
                      "step_number": 2
                    }
                  ]
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/create-offer-chain-model"
            }
          }
        }
      },
      "create-reward-chain": {
        "content": {
          "application/json": {
            "examples": {
              "clan": {
                "summary": "Exemplo de cadeia de recompensas de clã",
                "value": {
                  "clan_type": "guild",
                  "description": {
                    "en": "Clan reward chain description."
                  },
                  "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                  "is_enabled": true,
                  "long_description": {
                    "en": "Clan reward chain long description."
                  },
                  "name": {
                    "en": "Clan reward chain"
                  },
                  "order": 1,
                  "periods": [
                    {
                      "date_from": "2026-01-01T01:00:00+05:00",
                      "date_until": "2026-01-31T23:59:59+05:00"
                    },
                    {
                      "date_from": "2026-02-01T01:00:00+05:00",
                      "date_until": "2026-02-28T23:59:59+05:00"
                    }
                  ],
                  "popup_header": {
                    "en": "How to unlock rewards"
                  },
                  "popup_image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                  "popup_instruction": {
                    "en": "You must be a clan member to get clan rewards. You join a clan when a clan member invites you to the clan, and you accept the invite. You can also create your own clan."
                  },
                  "recurrent_schedule": {
                    "day_of_week": 1,
                    "interval_type": "weekly",
                    "time": "01:00:00+08:00"
                  },
                  "steps": [
                    {
                      "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                      "name": {
                        "en": "First step of the reward chain"
                      },
                      "price": {
                        "amount": 10
                      },
                      "reward": [
                        {
                          "quantity": 5,
                          "sku": "com.xsolla.item_1"
                        },
                        {
                          "quantity": 1,
                          "sku": "com.xsolla.item_2"
                        }
                      ]
                    },
                    {
                      "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                      "name": {
                        "en": "Second step of the reward chain"
                      },
                      "price": {
                        "amount": 15
                      },
                      "reward": [
                        {
                          "quantity": 5,
                          "sku": "com.xsolla.item_3"
                        },
                        {
                          "quantity": 1,
                          "sku": "com.xsolla.item_4"
                        }
                      ]
                    }
                  ],
                  "value_point": {
                    "sku": "com.xsolla.clan_value_point_1"
                  }
                }
              },
              "default": {
                "summary": "Exemplo de cadeia de recompensas",
                "value": {
                  "attribute_conditions": [
                    {
                      "attribute": "race",
                      "can_be_missing": false,
                      "operator": "eq",
                      "type": "string",
                      "value": "ork"
                    }
                  ],
                  "description": {
                    "en": "Reward chain description."
                  },
                  "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                  "is_always_visible": true,
                  "is_enabled": true,
                  "is_reset_after_end": true,
                  "long_description": {
                    "en": "Reward chain long description."
                  },
                  "name": {
                    "en": "Reward chain"
                  },
                  "order": 1,
                  "periods": [
                    {
                      "date_from": "2026-01-01T01:00:00+05:00",
                      "date_until": "2026-01-31T23:59:59+05:00"
                    },
                    {
                      "date_from": "2026-02-01T01:00:00+05:00",
                      "date_until": "2026-02-28T23:59:59+05:00"
                    }
                  ],
                  "recurrent_schedule": {
                    "day_of_week": 1,
                    "interval_type": "weekly",
                    "time": "01:00:00+08:00"
                  },
                  "steps": [
                    {
                      "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                      "name": {
                        "en": "First step of the reward chain"
                      },
                      "price": {
                        "amount": 10
                      },
                      "reward": [
                        {
                          "quantity": 5,
                          "sku": "com.xsolla.item_1"
                        },
                        {
                          "quantity": 1,
                          "sku": "com.xsolla.item_2"
                        }
                      ]
                    },
                    {
                      "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                      "name": {
                        "en": "Second step of the reward chain"
                      },
                      "price": {
                        "amount": 15
                      },
                      "reward": [
                        {
                          "quantity": 5,
                          "sku": "com.xsolla.item_3"
                        },
                        {
                          "quantity": 1,
                          "sku": "com.xsolla.item_4"
                        }
                      ]
                    }
                  ],
                  "value_point": {
                    "sku": "com.xsolla.value_point_1"
                  }
                }
              }
            },
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/create-reward-chain-model"
                },
                {
                  "$ref": "#/components/schemas/create-clan-reward-chain-model"
                }
              ]
            }
          }
        }
      },
      "create-upsell": {
        "content": {
          "application/json": {
            "examples": {
              "fixed_list": {
                "summary": "Exemplo de venda cruzada com lista fixa de itens",
                "value": {
                  "is_enabled": true,
                  "items": [
                    "game_sku_1",
                    "game_sku_2",
                    "game_sku_3"
                  ],
                  "type": "fixed_list"
                }
              },
              "special_type_most_sellable": {
                "summary": "Exemplo de venda cruzada com a maioria dos itens vendáveis nos últimos 30 dias",
                "value": {
                  "is_enabled": true,
                  "items": [],
                  "type": "most_sellable"
                }
              },
              "special_type_promotions": {
                "summary": "Exemplo de venda cruzada apenas com itens promocionais",
                "value": {
                  "is_enabled": true,
                  "items": [],
                  "type": "only_promotions"
                }
              }
            },
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Upsell-model"
                },
                {
                  "$ref": "#/components/schemas/Upsell-model-not-fixed-list"
                }
              ]
            }
          }
        }
      },
      "create-value-point": {
        "content": {
          "application/json": {
            "examples": {
              "clan": {
                "summary": "Ponto de valor para a cadeia de recompensas de clã",
                "value": {
                  "description": {
                    "en": "Value points for clan reward system."
                  },
                  "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                  "is_clan": true,
                  "is_enabled": true,
                  "long_description": {
                    "en": "Value points given to clans to get new rewards in a reward chain."
                  },
                  "media_list": [],
                  "name": {
                    "en": "Clan Reward VP 1"
                  },
                  "order": 3,
                  "sku": "com.xsolla.clan_value_point_1"
                }
              },
              "default": {
                "summary": "Ponto de valor para a cadeia de recompensa",
                "value": {
                  "description": {
                    "en": "Value points for reward system."
                  },
                  "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                  "is_enabled": true,
                  "long_description": {
                    "en": "Value points given to users to get new rewards in a reward chain."
                  },
                  "media_list": [],
                  "name": {
                    "en": "Reward VP 1"
                  },
                  "order": 1,
                  "sku": "com.xsolla.reward_vp_1"
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/admin_value_points-create"
            }
          }
        }
      },
      "personalized-catalog_create-update-body": {
        "content": {
          "application/json": {
            "example": {
              "attribute_conditions": [
                {
                  "attribute": "race",
                  "can_be_missing": false,
                  "operator": "eq",
                  "type": "string",
                  "value": "ork"
                }
              ],
              "is_enabled": true,
              "is_satisfied_for_unauth": false,
              "items": [
                {
                  "item_id": 1
                }
              ],
              "name": "Ork race armor rule"
            },
            "schema": {
              "$ref": "#/components/schemas/user-attribute_personalized-catalog-body-required"
            }
          }
        }
      },
      "reset-user-limits": {
        "content": {
          "application/json": {
            "example": {
              "user": {
                "user_external_id": "d342dad2-9d59-11e9-a384-42010aa8003f"
              }
            },
            "schema": {
              "properties": {
                "user": {
                  "$ref": "#/components/schemas/User-limit_user"
                }
              },
              "required": [
                "user"
              ],
              "type": "object"
            }
          }
        }
      },
      "reset-user-limits-flexible": {
        "content": {
          "application/json": {
            "example": {
              "user": {
                "user_external_id": "d342dad2-9d59-11e9-a384-42010aa8003f"
              }
            },
            "schema": {
              "properties": {
                "user": {
                  "$ref": "#/components/schemas/User-limit_user_flexible"
                }
              },
              "required": [
                "user"
              ],
              "type": "object"
            }
          }
        }
      },
      "set-item-value-point-reward": {
        "content": {
          "application/json": {
            "example": [
              {
                "amount": 100,
                "sku": "com.xsolla.booster_1"
              },
              {
                "amount": 200,
                "sku": "com.xsolla.booster_mega"
              }
            ],
            "schema": {
              "$ref": "#/components/schemas/item-value-point-reward-set"
            }
          }
        }
      },
      "set-item-value-point-reward-for-patch": {
        "content": {
          "application/json": {
            "example": [
              {
                "amount": 100,
                "sku": "booster_1"
              },
              {
                "amount": 0,
                "sku": "booster_mega"
              }
            ],
            "schema": {
              "$ref": "#/components/schemas/item-value-point-reward-set-for-patch"
            }
          }
        }
      },
      "update-daily-chain": {
        "content": {
          "application/json": {
            "examples": {
              "calendar_hard": {
                "summary": "Recompensa diária de tipo `calendar_hard`",
                "value": {
                  "date_start": "2023-04-15T18:16:00+05:00",
                  "description": {
                    "en": "Updated daily reward description"
                  },
                  "is_enabled": true,
                  "name": {
                    "en": "Updated daily reward",
                    "ru": "Обновленная ежедневная награда"
                  },
                  "order": 4,
                  "steps": [
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "vg_enabled_shown_in_store_1"
                        }
                      ],
                      "step_number": 1
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "vg_enabled_shown_in_store_2"
                        }
                      ],
                      "step_number": 2
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "vg_not_shown_in_store"
                        }
                      ],
                      "step_id": 10,
                      "step_number": 3
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "bundle_enabled_shown_in_store_with_2_enabled_shown_in_store_vg"
                        }
                      ],
                      "step_id": 8,
                      "step_number": 4
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "vcp_enabled_shown_in_store_1_of_10_vc_enabled_shown_in_store_1"
                        }
                      ],
                      "step_number": 5
                    }
                  ],
                  "type": "calendar_hard"
                }
              },
              "rolling_skippable": {
                "summary": "Tipo de recompensa diária com `rolling_skippable`",
                "value": {
                  "date_end": "2023-08-31T10:00:00+05:00",
                  "date_start": "2023-08-01T10:00:00+05:00",
                  "description": {
                    "en": "Updated login reward description"
                  },
                  "is_enabled": true,
                  "name": {
                    "en": "Updated login reward"
                  },
                  "order": 4,
                  "steps": [
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "monday_reward_item_one"
                        }
                      ],
                      "step_number": 1
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "tuesday_reward_item_two"
                        }
                      ],
                      "step_number": 2
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "wednesday_reward_item_three"
                        }
                      ],
                      "step_number": 3
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "thursday_reward_item_four"
                        }
                      ],
                      "step_number": 4
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "friday_reward_item_five"
                        }
                      ],
                      "step_number": 5
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "saturday_reward_item_six"
                        }
                      ],
                      "step_number": 6
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "sunday_reward_item_seven"
                        }
                      ],
                      "step_number": 7
                    }
                  ],
                  "type": "rolling_skippable"
                }
              },
              "rolling_unskippable": {
                "summary": "Tipo de recompensa diária com `rolling_unskippable`",
                "value": {
                  "date_end": "2023-09-30T10:00:00+05:00",
                  "date_start": "2023-09-01T10:00:00+05:00",
                  "description": {
                    "en": "Updated unskippable login reward description"
                  },
                  "is_enabled": true,
                  "name": {
                    "en": "Updated unskippable login reward"
                  },
                  "order": 2,
                  "steps": [
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "monday_reward_item_one"
                        }
                      ],
                      "step_number": 1
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "tuesday_reward_item_two"
                        }
                      ],
                      "step_number": 2
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "wednesday_reward_item_three"
                        }
                      ],
                      "step_number": 3
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "thursday_reward_item_four"
                        }
                      ],
                      "step_number": 4
                    },
                    {
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "friday_reward_item_five"
                        }
                      ],
                      "step_number": 5
                    }
                  ],
                  "type": "rolling_unskippable"
                }
              }
            },
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/update-calendar-hard-daily-chain-model"
                },
                {
                  "$ref": "#/components/schemas/update-rolling-skippable-daily-chain-model"
                },
                {
                  "$ref": "#/components/schemas/update-rolling-unskippable-daily-chain-model"
                }
              ]
            }
          }
        }
      },
      "update-offer-chain": {
        "content": {
          "application/json": {
            "examples": {
              "default": {
                "summary": "Exemplo padrão",
                "value": {
                  "date_end": null,
                  "date_start": "2023-04-15T18:16:00+05:00",
                  "description": {
                    "de": "Eine kurze Beschreibung einer regulären Angebotskette",
                    "en": "A short description of a regular offer chain",
                    "fr": "Une brève description d'une chaîne d'offres régulière",
                    "it": "Una breve descrizione di una catena di offerte regolare",
                    "ru": "Краткое описание обычной цепочки предложений"
                  },
                  "is_always_visible": true,
                  "is_enabled": true,
                  "name": {
                    "de": "Aktualisierte Angebotskette",
                    "en": "Updated offer chain",
                    "fr": "Chaîne d'offres mise à jour",
                    "it": "Catena di offerte aggiornata",
                    "ru": "Обновляемая цепочка предложений"
                  },
                  "order": 4,
                  "recurrent_schedule": null,
                  "steps": [
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 2,
                          "sku": "chain_step_1_paid_bundle_sku"
                        }
                      ],
                      "step_id": 10,
                      "step_number": 1
                    },
                    {
                      "is_free": true,
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "chain_step_2_free_virtual_good_sku"
                        }
                      ],
                      "step_number": 2
                    },
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 5,
                          "sku": "chain_step_3_paid_virtual_currency_package_sku"
                        }
                      ],
                      "step_number": 3
                    },
                    {
                      "is_free": true,
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "chain_step_4_free_bundle_sku"
                        }
                      ],
                      "step_id": 9,
                      "step_number": 4
                    }
                  ]
                }
              },
              "personalized-default": {
                "summary": "Exemplo de cadeia de ofertas padrão personalizada",
                "value": {
                  "date_end": null,
                  "date_start": "2023-04-15T18:16:00+05:00",
                  "description": {
                    "de": "Standard-personalisierte Angebotskette für Benutzer, die die Bedingungen anderer personalisierter Ketten nicht erfüllen",
                    "en": "Default personalized offer chain for users that do not meet the conditions of other personalized chains",
                    "fr": "Chaîne d'offres personnalisée par défaut pour les utilisateurs qui ne répondent pas aux conditions des autres chaînes personnalisées",
                    "it": "Catena di offerte personalizzata predefinita per gli utenti che non soddisfano le condizioni di altre catene personalizzate",
                    "ru": "Персонализированная цепочка по умолчанию для пользователей, не подходящих под условия других персонализированных цепочек"
                  },
                  "is_always_visible": false,
                  "is_enabled": true,
                  "name": {
                    "de": "Neue personalisierte Standard-Angebotskette",
                    "en": "New personalized default offer chain",
                    "fr": "Nouvelle chaîne d'offres personnalisée par défaut",
                    "it": "Nuova catena di offerte personalizzata predefinita",
                    "ru": "Новая персонализированная цепочка предложений по умолчанию"
                  },
                  "order": 4,
                  "recurrent_schedule": null,
                  "steps": [
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "chain_x_step_1_item_default"
                        }
                      ],
                      "step_id": 10,
                      "step_number": 1
                    },
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 2,
                          "sku": "chain_x_step_2_item_default"
                        }
                      ],
                      "step_number": 2
                    },
                    {
                      "is_free": true,
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "chain_x_step_3_free_item_default"
                        }
                      ],
                      "step_id": 9,
                      "step_number": 3
                    }
                  ]
                }
              },
              "personalized-with-conditions": {
                "summary": "Exemplo de cadeia de ofertas personalizada com de condições de atributo do usuário",
                "value": {
                  "attribute_conditions": [
                    {
                      "attribute": "race",
                      "can_be_missing": false,
                      "operator": "eq",
                      "type": "string",
                      "value": "elf"
                    },
                    {
                      "attribute": "level",
                      "can_be_missing": false,
                      "operator": "ge",
                      "type": "number",
                      "value": "10"
                    },
                    {
                      "attribute": "10_level_up_date",
                      "can_be_missing": false,
                      "operator": "le",
                      "type": "date",
                      "value": "2026-01-01T00:00:00"
                    }
                  ],
                  "date_end": null,
                  "date_start": "2023-04-15T18:16:00+05:00",
                  "description": {
                    "de": "Personalisierte Angebotskette mit Benutzerattributbedingungen - für Elfen der Stufe 10 und höher, die Stufe 10 spätestens am 2026-01-01 00:00:00 erreicht haben, einschließlich",
                    "en": "Personalized offer chain with user attribute conditions - for level 10 and above elves who reached level 10 no later than 2026-01-01 00:00:00, inclusive",
                    "fr": "Chaîne d'offres personnalisée avec des conditions d'attribut utilisateur - pour les elfes de niveau 10 et plus qui ont atteint le niveau 10 au plus tard le 2026-01-01 00:00:00, inclus",
                    "it": "Catena di offerte personalizzata con condizioni di attributo utente - per elfi di livello 10 e superiore che hanno raggiunto il livello 10 non più tardi del 2026-01-01 00:00:00, inclusi",
                    "ru": "Персонализированная цепочка предложений с условиями по атрибутам пользователя - для эльфов уровня 10 и выше, достигших 10 уровня не позднее 2026-01-01 00:00:00 включительно"
                  },
                  "is_always_visible": false,
                  "is_enabled": true,
                  "name": {
                    "de": "Neue personalisierte Angebotskette",
                    "en": "New personalized offer chain",
                    "fr": "Nouvelle chaîne d'offres personnalisée",
                    "it": "Nuova catena di offerte personalizzata",
                    "ru": "Новая персонализированная цепочка предложений"
                  },
                  "order": 4,
                  "recurrent_schedule": null,
                  "steps": [
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "chain_x_step_1_item_for_elves_level_10_and_above"
                        }
                      ],
                      "step_id": 10,
                      "step_number": 1
                    },
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 2,
                          "sku": "chain_x_step_2_item_for_elves_level_10_and_above"
                        }
                      ],
                      "step_id": 8,
                      "step_number": 2
                    },
                    {
                      "is_free": true,
                      "items": [
                        {
                          "quantity": 1,
                          "sku": "chain_x_step_3_free_item_for_elves_level_10_and_above"
                        }
                      ],
                      "step_number": 3
                    }
                  ]
                }
              },
              "recurrent": {
                "summary": "Exemplo de cadeia de oferta recorrente",
                "value": {
                  "date_end": "2025-04-25T19:16:00+05:00",
                  "date_start": "2023-04-15T17:16:00+05:00",
                  "description": {
                    "de": "Aktualisierte Angebotskette, die wiederkehrend wird und monatlich am 2. Tag um 03:00 Uhr GMT+8 zurückgesetzt wird",
                    "en": "Updated offer chain that becomes recurrent and resets monthly on the 2nd day at 03:00 AM GMT+8",
                    "fr": "Chaîne d'offres mise à jour qui devient récurrente et se réinitialise mensuellement le 2e jour à 03h00 GMT+8",
                    "it": "Catena di offerte aggiornata che diventa ricorrente e si resetta mensilmente il 2° giorno alle 03:00 GMT+8",
                    "ru": "Обновляемая цепочка предложений, которая становится рекуррентной и сбрасывается ежемесячно во 2-й день в 03:00 по GMT+8"
                  },
                  "id": 1,
                  "is_enabled": true,
                  "name": {
                    "de": "Aktualisierte wiederkehrende Angebotskette",
                    "en": "Updated recurrent offer chain",
                    "fr": "Chaîne d'offres récurrente mise à jour",
                    "it": "Catena di offerte ricorrente aggiornata",
                    "ru": "Обновляемая рекуррентная цепочка предложений"
                  },
                  "order": 4,
                  "recurrent_schedule": {
                    "day_of_month": 2,
                    "interval_type": "monthly",
                    "time": "03:00:00+08:00"
                  },
                  "steps": [
                    {
                      "is_free": false,
                      "items": [
                        {
                          "quantity": 6,
                          "sku": "chain_bundle_sku"
                        }
                      ],
                      "step_number": 1
                    },
                    {
                      "is_free": true,
                      "items": [
                        {
                          "quantity": 2,
                          "sku": "chain_bundle_sku"
                        }
                      ],
                      "step_number": 1
                    }
                  ]
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/modify-offer-chain-model"
            }
          }
        }
      },
      "update-reward-chain": {
        "content": {
          "application/json": {
            "examples": {
              "clan": {
                "summary": "Exemplo de cadeia de recompensas de clã",
                "value": {
                  "clan_type": "guild",
                  "description": {
                    "en": "Clan reward chain description."
                  },
                  "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                  "is_enabled": true,
                  "long_description": {
                    "en": "Clan reward chain long description."
                  },
                  "name": {
                    "en": "Clan reward chain"
                  },
                  "order": 1,
                  "periods": [
                    {
                      "date_from": "2026-01-01T01:00:00+05:00",
                      "date_until": "2026-01-31T23:59:59+05:00"
                    },
                    {
                      "date_from": "2026-02-01T01:00:00+05:00",
                      "date_until": "2026-02-28T23:59:59+05:00"
                    }
                  ],
                  "popup_header": {
                    "en": "How to unlock rewards"
                  },
                  "popup_image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                  "popup_instruction": {
                    "en": "You should be a clan member to get clan rewards. You join a clan when a clan member invited you to the clan, and you accepted the invite. You can create your own clan."
                  },
                  "recurrent_schedule": {
                    "day_of_week": 1,
                    "interval_type": "weekly",
                    "time": "01:00:00+08:00"
                  },
                  "steps": [
                    {
                      "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                      "name": {
                        "en": "First step of the reward chain"
                      },
                      "price": {
                        "amount": 10
                      },
                      "reward": [
                        {
                          "quantity": 5,
                          "sku": "com.xsolla.item_1"
                        },
                        {
                          "quantity": 1,
                          "sku": "com.xsolla.item_2"
                        }
                      ],
                      "step_id": 1
                    },
                    {
                      "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                      "name": {
                        "en": "Second step of the reward chain"
                      },
                      "price": {
                        "amount": 15
                      },
                      "reward": [
                        {
                          "quantity": 5,
                          "sku": "com.xsolla.item_3"
                        },
                        {
                          "quantity": 1,
                          "sku": "com.xsolla.item_4"
                        }
                      ],
                      "step_id": 2
                    }
                  ]
                }
              },
              "default": {
                "summary": "Exemplo de cadeia de recompensas",
                "value": {
                  "attribute_conditions": [
                    {
                      "attribute": "race",
                      "can_be_missing": false,
                      "operator": "eq",
                      "type": "string",
                      "value": "ork"
                    }
                  ],
                  "description": {
                    "en": "Reward chain description."
                  },
                  "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                  "is_always_visible": true,
                  "is_enabled": true,
                  "is_reset_after_end": true,
                  "long_description": {
                    "en": "Reward chain long description."
                  },
                  "name": {
                    "en": "Reward chain"
                  },
                  "order": 1,
                  "periods": [
                    {
                      "date_from": "2026-01-01T01:00:00+05:00",
                      "date_until": "2026-01-31T23:59:59+05:00"
                    },
                    {
                      "date_from": "2026-02-01T01:00:00+05:00",
                      "date_until": "2026-02-28T23:59:59+05:00"
                    }
                  ],
                  "recurrent_schedule": {
                    "day_of_week": 1,
                    "interval_type": "weekly",
                    "time": "01:00:00+08:00"
                  },
                  "steps": [
                    {
                      "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                      "name": {
                        "en": "First step of the reward chain"
                      },
                      "price": {
                        "amount": 10
                      },
                      "reward": [
                        {
                          "quantity": 5,
                          "sku": "com.xsolla.item_1"
                        },
                        {
                          "quantity": 1,
                          "sku": "com.xsolla.item_2"
                        }
                      ],
                      "step_id": 1
                    },
                    {
                      "image_url": "https://cdn.xsolla.net/img/misc/images/5c3b8b45c5be5fe7803e59fbc8041be4.png",
                      "name": {
                        "en": "Second step of the reward chain"
                      },
                      "price": {
                        "amount": 15
                      },
                      "reward": [
                        {
                          "quantity": 5,
                          "sku": "com.xsolla.item_3"
                        },
                        {
                          "quantity": 1,
                          "sku": "com.xsolla.item_4"
                        }
                      ],
                      "step_id": 2
                    }
                  ]
                }
              }
            },
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/update-reward-chain-model"
                },
                {
                  "$ref": "#/components/schemas/update-clan-reward-chain-model"
                }
              ]
            }
          }
        }
      },
      "update-upsell": {
        "content": {
          "application/json": {
            "examples": {
              "fixed_list": {
                "summary": "Exemplo de venda cruzada com lista fixa de itens",
                "value": {
                  "is_enabled": true,
                  "items": [
                    "game_sku_1",
                    "game_sku_2",
                    "game_sku_3"
                  ],
                  "type": "fixed_list"
                }
              },
              "special_type_most_sellable": {
                "summary": "Exemplo de venda cruzada com a maioria dos itens vendáveis nos últimos 30 dias",
                "value": {
                  "is_enabled": true,
                  "items": [],
                  "type": "most_sellable"
                }
              },
              "special_type_promotions": {
                "summary": "Exemplo de venda cruzada apenas com itens promocionais",
                "value": {
                  "is_enabled": true,
                  "items": [],
                  "type": "only_promotions"
                }
              }
            },
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Upsell-model"
                },
                {
                  "$ref": "#/components/schemas/Upsell-model-not-fixed-list"
                }
              ]
            }
          }
        }
      },
      "update-user-limits-flexible": {
        "content": {
          "application/json": {
            "example": {
              "available": 0,
              "user": {
                "user_external_id": "d342dad2-9d59-11e9-a384-42010aa8003f"
              }
            },
            "schema": {
              "properties": {
                "available": {
                  "$ref": "#/components/schemas/User-limit_available_flexible"
                },
                "user": {
                  "$ref": "#/components/schemas/User-limit_user"
                }
              },
              "required": [
                "user",
                "available"
              ],
              "type": "object"
            }
          }
        }
      },
      "update-user-limits-strict": {
        "content": {
          "application/json": {
            "example": {
              "available": 1,
              "user": {
                "user_external_id": "d342dad2-9d59-11e9-a384-42010aa8003f"
              }
            },
            "schema": {
              "properties": {
                "available": {
                  "$ref": "#/components/schemas/User-limit_available"
                },
                "user": {
                  "$ref": "#/components/schemas/User-limit_user"
                }
              },
              "required": [
                "user",
                "available"
              ],
              "type": "object"
            }
          }
        }
      }
    },
    "responses": {
      "200-admin-get-code-coupon-limits": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/code-limit"
              }
            },
            "schema": {
              "properties": {
                "has_more": {
                  "description": "Se existir outra página com códigos.",
                  "type": "boolean"
                },
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/Code-limit-promo-code"
                  },
                  "type": "array"
                },
                "promotion_id": {
                  "description": "ID de promoção. Identificador exclusivo da promoção dentro do projeto.",
                  "type": "integer"
                },
                "total_items_count": {
                  "description": "Número total de códigos.",
                  "type": "number"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Limites de cupom recebidos com sucesso para um código."
      },
      "200-admin-get-code-promo-code-limits": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/code-limit"
              }
            },
            "schema": {
              "properties": {
                "has_more": {
                  "description": "Se existir outra página com códigos.",
                  "type": "boolean"
                },
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/Code-limit-promo-code"
                  },
                  "type": "array"
                },
                "promotion_id": {
                  "description": "ID de promoção. Identificador exclusivo da promoção dentro do projeto.",
                  "type": "integer"
                },
                "total_items_count": {
                  "description": "Número total de códigos.",
                  "type": "number"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Limites de código promocional recebidos com sucesso para um código."
      },
      "200-admin-get-daily-chain": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/200-admin-daily-chain"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/admin-daily-chain-long-model"
            }
          }
        },
        "description": "Os dados de recompensa diária foram recuperados com sucesso."
      },
      "200-admin-get-list-daily-chains": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/200-admin-daily-chain-list"
              }
            },
            "schema": {
              "properties": {
                "has_more": {
                  "$ref": "#/components/schemas/Pagination_has-more"
                },
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/admin-daily-chain-short-model"
                  },
                  "type": "array"
                },
                "total_items_count": {
                  "description": "Número total de recompensas diárias.",
                  "example": 3,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "A lista de recompensas diárias foi recuperada com sucesso."
      },
      "200-admin-get-list-offer-chains": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/200-admin-offer-chain-list"
              }
            },
            "schema": {
              "properties": {
                "has_more": {
                  "$ref": "#/components/schemas/Pagination_has-more"
                },
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/admin-offer-chain-short-model"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "A lista de cadeias de ofertas foi recuperada com êxito."
      },
      "200-admin-get-list-reward-chains": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/200-reward-chain-list"
              }
            },
            "schema": {
              "properties": {
                "has_more": {
                  "$ref": "#/components/schemas/Pagination_has-more"
                },
                "items": {
                  "items": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/admin-get-reward-chain-item-basic-model"
                      },
                      {
                        "$ref": "#/components/schemas/admin-get-reward-chain-item-clan-basic-model"
                      }
                    ]
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "A lista de cadeias de recompensa foi recebida com sucesso."
      },
      "200-admin-get-list-value-point-rewards": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/200-value-points-rewards-list"
              }
            },
            "schema": {
              "properties": {
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/admin-item-value-point-reward"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "A lista de itens com a recompensa de ponto de valor foi recebida com sucesso."
      },
      "200-admin-get-offer-chain": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/200-admin-offer-chain"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/admin-offer-chain-long-model"
            }
          }
        },
        "description": "Os dados da cadeia de ofertas foram recuperados com êxito."
      },
      "200-admin-get-redeemable-by-code": {
        "content": {
          "application/json": {
            "examples": {
              "Coupon Response": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 3,
                      "sku": "epic_fall_hammer_1"
                    }
                  ],
                  "external_id": "coupon_fall_hammer_2",
                  "is_enabled": true,
                  "name": {
                    "en": "This is a Coupon code for Epic Fall Hammer",
                    "ru": "Eto kod kupona на Epic Fall Hammer"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2023-04-15T01:00:00+05:00",
                      "date_until": "2023-04-30T23:59:59+05:00"
                    },
                    {
                      "date_from": "2023-05-15T01:00:00+05:00",
                      "date_until": "2023-05-30T23:59:59+05:00"
                    }
                  ],
                  "redeem_code_limit": null,
                  "redeem_total_limit": 99,
                  "redeem_user_limit": 1
                }
              },
              "Promo Code Response": {
                "value": {
                  "bonus": [],
                  "discount": {
                    "percent": null
                  },
                  "discounted_items": [
                    {
                      "discount": {
                        "percent": "20.00"
                      },
                      "sku": "epic_fall_hammer_1"
                    }
                  ],
                  "external_id": "falls2023",
                  "is_enabled": true,
                  "name": {
                    "en": "Promo Code discount for Epic Fall Hammer",
                    "ru": "Скидка по промокоду на Epic Fall Hammer"
                  },
                  "promotion_periods": [
                    {
                      "date_from": "2023-05-01T01:00:00+05:00",
                      "date_until": "2023-05-31T23:59:59+05:00"
                    },
                    {
                      "date_from": "2023-06-01T01:00:00+05:00",
                      "date_until": "2023-06-30T23:59:59+05:00"
                    }
                  ],
                  "redeem_code_limit": null,
                  "redeem_total_limit": 2,
                  "redeem_user_limit": 3,
                  "total_limit_state": {
                    "available": 1,
                    "reserved": 1,
                    "used": 0
                  }
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/admin-promotions_200-get-redeemable-coupon-promotion-model"
            }
          }
        },
        "description": "A promoção foi recebida com sucesso."
      },
      "200-admin-get-reward-chain": {
        "content": {
          "application/json": {
            "examples": {
              "clan": {
                "$ref": "#/components/examples/200-clan-reward-chain"
              },
              "common": {
                "$ref": "#/components/examples/200-reward-chain"
              }
            },
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/admin-get-reward-chain-item-full-model"
                },
                {
                  "$ref": "#/components/schemas/admin-get-reward-chain-item-clan-full-model"
                }
              ]
            }
          }
        },
        "description": "A cadeia de recompensa especificada foi recebida com sucesso."
      },
      "200-admin-get-user-coupon-limits": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "per_user": {
                    "available": 9,
                    "total": 10
                  }
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/User-limit-coupon"
            }
          }
        },
        "description": "Limites de cupom recebidos com sucesso para um usuário."
      },
      "200-admin-get-user-promo-code-limits": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "per_user": {
                    "available": 9,
                    "total": 10
                  }
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/User-limit-promo-code"
            }
          }
        },
        "description": "Limites de código promocional recebidos com sucesso para um usuário."
      },
      "200-admin-get-user-promotion-limits": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "per_user": {
                    "available": 9,
                    "total": 10
                  }
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/User-limit-promotion"
            }
          }
        },
        "description": "Limites de promoção para um usuário foram recebidos com sucesso."
      },
      "200-admin-get-value-point": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/200-value-points-reward-chain_admin_get-value-point"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/Value-point-item-model"
            }
          }
        },
        "description": "O ponto de valor especificado foi recebido com sucesso."
      },
      "200-admin-get-value-points": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/200-value-points-reward-chain_admin_get-value-point-list"
              }
            },
            "schema": {
              "properties": {
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/Value-points-item-model"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "A lista de pontos de valor foi recebida com sucesso."
      },
      "200-client-get-daily-chains-list": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/200-client-daily-chain-list"
              }
            },
            "schema": {
              "properties": {
                "has_more": {
                  "description": "Usado como um indicador de que há mais páginas.",
                  "example": true,
                  "type": "boolean"
                },
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/client-daily-chain-model"
                  },
                  "type": "array"
                },
                "total_items_count": {
                  "description": "Número total de recompensas diárias.",
                  "example": 3,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "As recompensas diárias do usuário foram recuperadas com sucesso."
      },
      "200-client-get-offer-chains-list": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/200-client-offer-chain-list"
              }
            },
            "schema": {
              "properties": {
                "has_more": {
                  "description": "Indica se há mais páginas disponíveis.",
                  "example": true,
                  "type": "boolean"
                },
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/client-offer-chain-model"
                  },
                  "type": "array"
                },
                "total_items_count": {
                  "description": "Número total de cadeias de ofertas disponíveis.",
                  "example": 10,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "A lista de cadeias de ofertas foi recebida com êxito."
      },
      "200-client-get-reward-chains-list": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/200-client-get-reward-chains-list"
              }
            },
            "schema": {
              "properties": {
                "has_more": {
                  "description": "Usado como um indicador de que há mais páginas.",
                  "example": true,
                  "type": "boolean"
                },
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/client-reward-chain-item-model"
                  },
                  "type": "array"
                },
                "total_items_count": {
                  "description": "Número total de cadeias de recompensa no sistema.",
                  "example": 10,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "A cadeia de recompensas do usuário foi recuperada com sucesso."
      },
      "200-client-get-user-reward-chain-balance": {
        "content": {
          "application/json": {
            "examples": {
              "clan": {
                "$ref": "#/components/examples/200-client-get-user-clan-reward-chain-balance"
              },
              "common": {
                "$ref": "#/components/examples/200-client-get-user-reward-chain-balance"
              }
            },
            "schema": {
              "properties": {
                "amount": {
                  "description": "Quantidade de pontos de valor.",
                  "type": "integer"
                },
                "description": {
                  "$ref": "#/components/schemas/value-point-description"
                },
                "image_url": {
                  "$ref": "#/components/schemas/Common_admin-image_url"
                },
                "is_clan": {
                  "$ref": "#/components/schemas/is_clan"
                },
                "long_description": {
                  "$ref": "#/components/schemas/value-point-long-description"
                },
                "name": {
                  "$ref": "#/components/schemas/value-point-name"
                },
                "sku": {
                  "$ref": "#/components/schemas/value-point-sku"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "O saldo de pontos de valor do usuário foi recuperado com sucesso."
      },
      "200-client-update-user-clan": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/200-client-update-user-clan"
              }
            },
            "schema": {
              "properties": {
                "reward": {
                  "items": {
                    "properties": {
                      "bundle_type": {
                        "description": "Tipo de conjunto. Retornado se um tipo de item for um conjunto.",
                        "enum": [
                          "standard",
                          "virtual_currency_package"
                        ],
                        "type": "string"
                      },
                      "description": {
                        "description": "Descrição do item.",
                        "example": "Super box with items",
                        "type": "string"
                      },
                      "image_url": {
                        "$ref": "#/components/schemas/Common_admin-image_url"
                      },
                      "name": {
                        "description": "Nome do item.",
                        "example": "Super box",
                        "type": "string"
                      },
                      "quantity": {
                        "description": "Quantidade do item.",
                        "example": 2,
                        "type": "integer"
                      },
                      "sku": {
                        "$ref": "#/components/schemas/sku"
                      },
                      "type": {
                        "description": "Tipo de item.",
                        "example": "bundle",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "O clã do usuário foi atualizado com sucesso."
      },
      "201-admin-create-daily-chain": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "daily_chain_id": 10
                }
              }
            },
            "schema": {
              "properties": {
                "daily_chain_id": {
                  "example": 10,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "A recompensa diária foi criada com sucesso."
      },
      "201-admin-create-offer-chain": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "offer_chain_id": 10
                }
              }
            },
            "schema": {
              "properties": {
                "offer_chain_id": {
                  "example": 10,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "A cadeia de ofertas foi criada com sucesso."
      },
      "201-admin-create-reward-chain": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "reward_chain_id": 10
                }
              }
            },
            "schema": {
              "properties": {
                "reward_chain_id": {
                  "example": 10,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "A cadeia de recompensas foi criada com sucesso."
      },
      "201-admin-create-value-point": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "item_id": 10,
                  "sku": "com.xsolla.item_new"
                }
              }
            },
            "schema": {
              "properties": {
                "item_id": {
                  "example": 10,
                  "type": "integer"
                },
                "sku": {
                  "example": "new-sku",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "O ponto de valor foi criado com sucesso."
      },
      "204-admin-delete-reward-chain": {
        "content": {},
        "description": "Cadeia de recompensas excluída com sucesso."
      },
      "204-admin-reset-reward-chain": {
        "content": {},
        "description": "A cadeia de recompensas foi redefinida."
      },
      "204-admin-toggle-reward-chain": {
        "content": {},
        "description": "A cadeia de recompensas foi desativada/ativada."
      },
      "204-admin-update-reward-chain": {
        "content": {},
        "description": "Cadeia de recompensas atualizada com sucesso."
      },
      "401-client-auth-error": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 1501,
                  "errorMessage": "[0401-1501]: Authorization failed: Provide authorization",
                  "statusCode": 401
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 1501,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-1501]: Authorization failed: Provide authorization",
                  "type": "string"
                },
                "statusCode": {
                  "example": 401,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Autenticação não aprovada ou errada."
      },
      "401-invalid-basic-auth": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 1020,
                  "errorMessage": "[0401-1020]: Error in Authentication method occurred",
                  "statusCode": 401
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 1020,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-1020]: Error in Authentication method occurred",
                  "type": "string"
                },
                "statusCode": {
                  "example": 401,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Autenticação básica não aprovada ou errada. Verifique se você usou a autenticação básica ou as credenciais corretas."
      },
      "403-auth-header-not-sent": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 0,
                  "errorMessage": "Authorization header not sent",
                  "statusCode": 403
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 0,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "Authorization header not sent.",
                  "type": "string"
                },
                "statusCode": {
                  "example": 403,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "x-x-x-x-transactionId-mock-x-x-x",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Cabeçalho de autorização não enviado."
      },
      "404-admin-reward-chain-not-found": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 9901,
                  "errorMessage": "[0401-4001]: Reward chain not found",
                  "statusCode": 404
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 4001,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-4001]: Reward chain not found",
                  "type": "string"
                },
                "statusCode": {
                  "example": 404,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Cadeia de recompensa não encontrada."
      },
      "404-code-not-found": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 9811,
                  "errorMessage": "[0401-9811]: Code not found.",
                  "statusCode": 404
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 9811,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-9811]: Code not found.",
                  "type": "string"
                },
                "statusCode": {
                  "example": 404,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Código resgatável não encontrado. Verifique se o valor do código fornecido está correto."
      },
      "404-daily-chain-not-found": {
        "content": {
          "application/json": {
            "examples": {
              "not-found": {
                "$ref": "#/components/examples/404-daily-chain-not-found"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/daily-chain-error-model"
            }
          }
        },
        "description": "Recompensa diária não encontrada."
      },
      "404-daily-chain-step-not-found": {
        "content": {
          "application/json": {
            "examples": {
              "not-found": {
                "$ref": "#/components/examples/404-daily-chain-step-not-found"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/daily-chain-error-model"
            }
          }
        },
        "description": "Recompensa diária ou etapa de recompensa diária não encontrada."
      },
      "404-offer-chain-not-found": {
        "content": {
          "application/json": {
            "examples": {
              "not-found": {
                "$ref": "#/components/examples/404-offer-chain-not-found"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/offer-chain-error-model"
            }
          }
        },
        "description": "A cadeia de ofertas não foi encontrada."
      },
      "404-offer-chain-step-not-found": {
        "content": {
          "application/json": {
            "examples": {
              "not-found": {
                "$ref": "#/components/examples/404-offer-chain-step-not-found"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/offer-chain-error-model"
            }
          }
        },
        "description": "A cadeia de ofertas ou a etapa não foram encontradas."
      },
      "404-reward-chain-step-not-found": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 9911,
                  "errorMessage": "[0401-9911]: Reward chain step not found.",
                  "statusCode": 404
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 9911,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-9911]: Reward chain step not found.",
                  "type": "string"
                },
                "statusCode": {
                  "example": 404,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Etapa da cadeia de recompensa não encontrada."
      },
      "405-method-not-found": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 0,
                  "errorMessage": "Method is not allowed. Method must be one of: OPTIONS",
                  "statusCode": 405
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 0,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "Method is not allowed. Method must be one of: OPTIONS",
                  "type": "string"
                },
                "statusCode": {
                  "example": 405,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Formato de código resgatável incorreto. O código só pode conter letras e números."
      },
      "422-admin-create-error-list": {
        "content": {
          "application/json": {
            "examples": {
              "incorrect-items": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-incorrect-items"
              },
              "incorrect-period": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-incorrect-period"
              },
              "incorrect-steps-order-error": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-incorrect-steps-order"
              },
              "invalid-dates": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-invalid-dates"
              },
              "item-limit-exceeded": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-item-limit-exceeded"
              },
              "too-many-steps-error": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-too-many-steps"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/daily-chain-error-model"
            }
          }
        },
        "description": "Erros de configuração de recompensa diária incorreta."
      },
      "422-admin-create-update-rc-vp-invalid-request": {
        "content": {
          "application/json": {
            "examples": {
              "The property `sku` is required": {
                "$ref": "#/components/examples/422-property-sku-is-required"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/422-rc-vp-invalid-request"
            }
          }
        },
        "description": "Solicitação inválida."
      },
      "422-admin-update-error-list": {
        "content": {
          "application/json": {
            "examples": {
              "active-daily-chain": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-activated"
              },
              "chain-id-mismatch": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-chain-id-mismatch"
              },
              "chain-step-ids-duplication": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-duplicate-step-ids"
              },
              "incorrect-items": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-incorrect-items"
              },
              "incorrect-period": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-incorrect-period"
              },
              "incorrect-steps-order-error": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-incorrect-steps-order"
              },
              "invalid-chain-step-ids": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-invalid-chain-step-ids"
              },
              "invalid-dates": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-invalid-dates"
              },
              "item-limit-exceeded": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-item-limit-exceeded"
              },
              "too-many-steps-error": {
                "$ref": "#/components/examples/422-admin-daily-chain-error-too-many-steps"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/daily-chain-error-model"
            }
          }
        },
        "description": "Erros de configuração de recompensa diária incorreta."
      },
      "422-create-error-list": {
        "content": {
          "application/json": {
            "examples": {
              "incorrect-items": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-incorrect-items"
              },
              "incorrect-period": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-incorrect-period"
              },
              "incorrect-steps-order-error": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-incorrect-steps-order"
              },
              "invalid-dates": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-invalid-dates"
              },
              "item-limit-exceeded": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-item-limit-exceeded"
              },
              "too-many-steps-error": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-too-many-steps"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/offer-chain-error-model"
            }
          }
        },
        "description": "Configuração de cadeia de ofertas inválida."
      },
      "422-reward-chain-step-reward-can-not-claimed": {
        "content": {
          "application/json": {
            "examples": {
              "Not enough VP to claim reward chain step reward": {
                "value": {
                  "errorCode": 9913,
                  "errorMessage": "[0401-9913]: Not enough value points to claim step reward.",
                  "statusCode": 422
                }
              },
              "Reward chain step reward already claimed": {
                "value": {
                  "errorCode": 9912,
                  "errorMessage": "[0401-9912]: Reward already claimed.",
                  "statusCode": 422
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 9912,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-9912]: Can't claim the step reward.",
                  "type": "string"
                },
                "statusCode": {
                  "example": 422,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Não é possível reivindicar a recompensa da etapa."
      },
      "422-update-error-list": {
        "content": {
          "application/json": {
            "examples": {
              "active-offer-chain": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-activated"
              },
              "chain-id-mismatch": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-chain-id-mismatch"
              },
              "chain-step-ids-duplication": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-duplicate-step-ids"
              },
              "incorrect-items": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-incorrect-items"
              },
              "incorrect-period": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-incorrect-period"
              },
              "incorrect-steps-order-error": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-incorrect-steps-order"
              },
              "invalid-chain-step-ids": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-invalid-chain-step-ids"
              },
              "invalid-dates": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-invalid-dates"
              },
              "item-limit-exceeded": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-item-limit-exceeded"
              },
              "too-many-steps-error": {
                "$ref": "#/components/examples/422-admin-offer-chain-error-too-many-steps"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/offer-chain-error-model"
            }
          }
        },
        "description": "Configuração de cadeia de ofertas inválida."
      },
      "Cart-Payment_200-order-created": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "order_id": 641,
                  "token": "f4puMEFFDZcx9nv5HoNHIkPe9qghvBQo"
                }
              }
            },
            "schema": {
              "properties": {
                "order_id": {
                  "description": "ID de pedido.",
                  "type": "integer"
                },
                "token": {
                  "description": "Token de pagamento.",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Pedido criada com sucesso."
      },
      "Common_401-complex": {
        "content": {
          "application/json": {
            "examples": {
              "Authorization header not sent": {
                "$ref": "#/components/examples/401-complex-auth-header-not-found"
              },
              "Incorrect credentials": {
                "$ref": "#/components/examples/401-complex-auth-incorrect-credentials"
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 1501,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-1501]: Authorization failed: Authorization header not sent",
                  "type": "string"
                },
                "statusCode": {
                  "example": 401,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "x-x-x-x-transactionId-mock-x-x-x",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Autenticação não aprovada ou errada. Verifique se você usou a autenticação ou credenciais corretas."
      },
      "Common_401-invalid-basic-auth": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 1020,
                  "errorMessage": "[0401-1020]: Error in Authentication method occurred",
                  "statusCode": 401
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 1020,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-1020]: Error in Authentication method occurred",
                  "type": "string"
                },
                "statusCode": {
                  "example": 401,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Autenticação básica não aprovada ou errada. Verifique se você usou a autenticação básica ou as credenciais corretas."
      },
      "Common_422-body-validation": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 1102,
                  "errorMessage": "[0401-1102]: Unprocessable Entity. The property `name` is required",
                  "statusCode": 422,
                  "transactionId": "da145238620011eb8e24fe6913ff226a"
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/422-invalid-request"
            }
          }
        },
        "description": "Erro de validação de solicitação."
      },
      "Promotions_200-admin-get-bonus-promotion": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "bonus": [
                    {
                      "quantity": 1,
                      "sku": "com.xsolla.elven_sword_1"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_shield_1"
                    },
                    {
                      "quantity": 2,
                      "sku": "com.xsolla.elven_gloves_1"
                    }
                  ],
                  "condition": [
                    {
                      "sku": "com.xsolla.elven_boots_1"
                    },
                    {
                      "sku": "com.xsolla.elven_knife_1"
                    }
                  ],
                  "excluded_promotions": [
                    23,
                    45
                  ],
                  "id": 1,
                  "is_enabled": true,
                  "limits": {
                    "per_item": null,
                    "per_user": {
                      "total": 10
                    },
                    "recurrent_schedule": {
                      "per_user": {
                        "displayable_reset_next_date": "2023-02-28T11:00:00+08:00",
                        "displayable_reset_start_date": "2023-02-28T11:00:00+08:00",
                        "interval_type": "daily",
                        "reset_next_date": 1677553200,
                        "time": "11:00:00+08:00"
                      }
                    }
                  },
                  "name": {
                    "de-DE": "Neujahrsbonus",
                    "en-US": "New Year Bonus"
                  },
                  "price_conditions": [
                    {
                      "operator": "gt",
                      "value": "10.0000"
                    },
                    {
                      "operator": "lt",
                      "value": "50.0000"
                    }
                  ],
                  "promotion_periods": [
                    {
                      "date_from": "2020-04-15T18:16:00+05:00",
                      "date_until": "2020-04-25T18:16:00+05:00"
                    }
                  ]
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/Promotions_200-get-bonus-promotion-model"
            }
          }
        },
        "description": "Promoção bônus recebida com sucesso."
      },
      "Promotions_200-coupon-code-list": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/Promotions_200-coupon-code-list"
              }
            },
            "schema": {
              "properties": {
                "codes": {
                  "items": {
                    "properties": {
                      "code": {
                        "$ref": "#/components/schemas/Promotions_coupon_code"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "total_count": {
                  "description": "Contagem total de códigos de cupom.",
                  "type": "number"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Lista de códigos para um cupom recebida com sucesso."
      },
      "Promotions_200-coupon-redeemed": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "items": [
                    {
                      "attributes": [],
                      "description": "Take it, take it all! All of Xsolla's riches in one Mega Booster.",
                      "groups": [
                        {
                          "external_id": "powerups",
                          "name": "Power Ups"
                        }
                      ],
                      "image_url": "https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png",
                      "is_free": true,
                      "name": "Xsolla Booster Mega",
                      "price": null,
                      "quantity": 1,
                      "sku": "com.xsolla.booster_mega_1",
                      "type": "virtual_good",
                      "virtual_item_type": "consumable",
                      "virtual_prices": []
                    }
                  ]
                }
              }
            },
            "schema": {
              "properties": {
                "items": {
                  "example": [
                    {
                      "attributes": [],
                      "description": "Take it, take it all! All of Xsolla's riches in one Mega Booster.",
                      "groups": [
                        {
                          "external_id": "powerups",
                          "name": "Power Ups"
                        }
                      ],
                      "image_url": "https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png",
                      "is_free": false,
                      "name": "Xsolla Booster Mega",
                      "price": {
                        "amount": "50.0000000000000000",
                        "amount_without_discount": "100.0000000000000000",
                        "currency": "USD"
                      },
                      "quantity": 1,
                      "sku": "com.xsolla.booster_mega_1",
                      "type": "virtual_good",
                      "virtual_item_type": "consumable",
                      "virtual_prices": []
                    }
                  ],
                  "items": {
                    "properties": {
                      "attributes": {
                        "type": "array"
                      },
                      "description": {
                        "type": "string"
                      },
                      "groups": {
                        "items": {
                          "properties": {
                            "external_id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "image_url": {
                        "type": "string"
                      },
                      "is_free": {
                        "type": "boolean"
                      },
                      "name": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "price": {
                        "description": "Preços dos itens.",
                        "properties": {
                          "amount": {
                            "description": "Preço do item com desconto.",
                            "example": "2.9900",
                            "type": "string"
                          },
                          "amount_without_discount": {
                            "description": "Preço do item.",
                            "example": "2.9900",
                            "type": "string"
                          },
                          "currency": {
                            "description": "Moeda do preço do item. Código de três letras de acordo com [a ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).",
                            "example": "USD",
                            "type": "string"
                          }
                        },
                        "type": [
                          "object",
                          "null"
                        ]
                      },
                      "quantity": {
                        "type": "integer"
                      },
                      "sku": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "virtual_item_type": {
                        "description": "Type of virtual item.\n\nPossible values:\n- `consumable` — An item that disappears from the inventory after use (e.g., ammo).\n- `non_consumable` — An item that stays in the inventory for an unlimited period of time.\n- `non_renewing_subscription` — Time-limited item that can represent access to services or content for a limited period of time.",
                        "enum": [
                          "consumable",
                          "non_consumable",
                          "non_renewing_subscription"
                        ],
                        "example": "non-consumable",
                        "type": "string"
                      },
                      "virtual_prices": {
                        "type": "array"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Cupom resgatado com sucesso."
      },
      "Promotions_200-coupon-rewards": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/Promotions_200-get-coupon-rewards"
              }
            },
            "schema": {
              "properties": {
                "bonus": {
                  "items": {
                    "$ref": "#/components/schemas/Promotions_200-coupon-bonus-reward"
                  },
                  "type": "array"
                },
                "discount": {
                  "$ref": "#/components/schemas/Promotions_200-coupon-discount-reward"
                },
                "is_selectable": {
                  "description": "Se `true`, o usuário deve escolher o bônus antes de resgatar um cupom.",
                  "type": "boolean"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Lista de recompensas de cupom recebida com sucesso."
      },
      "Promotions_200-get-bonus-promotions": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "active_promotions_count": 2,
                  "inactive_promotions_count": 0,
                  "promotions": [
                    {
                      "bonus": [
                        {
                          "quantity": 1,
                          "sku": "com.xsolla.elven_sword_1"
                        },
                        {
                          "quantity": 2,
                          "sku": "com.xsolla.elven_shield_1"
                        },
                        {
                          "quantity": 2,
                          "sku": "com.xsolla.elven_gloves_1"
                        }
                      ],
                      "condition": [
                        {
                          "sku": "com.xsolla.elven_boots_1"
                        },
                        {
                          "sku": "com.xsolla.elven_knife_1"
                        }
                      ],
                      "id": 1,
                      "is_enabled": true,
                      "limits": {
                        "per_item": null,
                        "per_user": null,
                        "recurrent_schedule": null
                      },
                      "name": {
                        "de-DE": "Neujahrsbonus",
                        "en-US": "New Year Bonus"
                      },
                      "promotion_periods": [
                        {
                          "date_from": "2020-04-15T18:16:00+05:00",
                          "date_until": "2020-04-25T18:16:00+05:00"
                        },
                        {
                          "date_from": "2020-05-15T18:16:00+05:00",
                          "date_until": "2020-05-25T18:16:00+05:00"
                        }
                      ]
                    },
                    {
                      "bonus": [
                        {
                          "quantity": 100,
                          "sku": "com.xsolla.diamonds_1"
                        }
                      ],
                      "condition": null,
                      "excluded_promotions": [
                        1
                      ],
                      "id": 2,
                      "is_enabled": true,
                      "limits": {
                        "per_item": null,
                        "per_user": {
                          "total": 10
                        },
                        "recurrent_schedule": {
                          "per_user": {
                            "displayable_reset_next_date": "2023-02-28T11:00:00+08:00",
                            "displayable_reset_start_date": "2023-02-28T11:00:00+08:00",
                            "interval_type": "daily",
                            "reset_next_date": 1677553200,
                            "time": "11:00:00+08:00"
                          }
                        }
                      },
                      "name": {
                        "de-DE": "Sommersaison Bonus",
                        "en-US": "Summer season bonus"
                      },
                      "price_conditions": [
                        {
                          "operator": "gt",
                          "value": "10.0000"
                        },
                        {
                          "operator": "lt",
                          "value": "50.0000"
                        }
                      ],
                      "promotion_periods": [
                        {
                          "date_from": "2020-04-15T18:16:00+05:00",
                          "date_until": "2020-04-25T18:16:00+05:00"
                        }
                      ]
                    }
                  ],
                  "total_promotions_count": 2
                }
              }
            },
            "schema": {
              "properties": {
                "active_promotions_count": {
                  "$ref": "#/components/schemas/active_promotions_count"
                },
                "inactive_promotions_count": {
                  "$ref": "#/components/schemas/inactive_promotions_count"
                },
                "promotions": {
                  "items": {
                    "$ref": "#/components/schemas/Promotions_200-get-bonus-promotion-model"
                  },
                  "type": "array"
                },
                "total_promotions_count": {
                  "$ref": "#/components/schemas/total_promotions_count"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Lista de promoções bônus recebida com sucesso."
      },
      "Promotions_200-get-coupons": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/Promotions_200-admin-coupons"
              }
            },
            "schema": {
              "properties": {
                "active_promotions_count": {
                  "$ref": "#/components/schemas/active_promotions_count"
                },
                "inactive_promotions_count": {
                  "$ref": "#/components/schemas/inactive_promotions_count"
                },
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/admin-promotions_200-get-coupon-promotion-model"
                  },
                  "type": "array"
                },
                "total_promotions_count": {
                  "$ref": "#/components/schemas/total_promotions_count"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Lista de cupons recebida com sucesso."
      },
      "Promotions_200-get-item-promotions": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "active_promotions_count": 4,
                  "inactive_promotions_count": 0,
                  "promotions": [
                    {
                      "discount": {
                        "percent": "20.00"
                      },
                      "id": 1,
                      "is_enabled": true,
                      "items": [
                        {
                          "sku": "com.xsolla.elven_sword_1"
                        }
                      ],
                      "limits": {
                        "per_item": null,
                        "per_user": null,
                        "recurrent_schedule": null
                      },
                      "name": {
                        "en-US": "Promotion",
                        "ru-RU": "Акция"
                      },
                      "promotion_periods": [
                        {
                          "date_from": "2020-04-15T18:16:00+05:00",
                          "date_until": "2020-04-25T18:16:00+05:00"
                        },
                        {
                          "date_from": "2020-05-15T18:16:00+05:00",
                          "date_until": "2020-05-25T18:16:00+05:00"
                        }
                      ]
                    },
                    {
                      "discount": {
                        "percent": "10.00"
                      },
                      "excluded_promotions": [
                        1,
                        3
                      ],
                      "id": 2,
                      "is_enabled": true,
                      "items": [
                        {
                          "sku": "com.xsolla.elven_helmet_1"
                        },
                        {
                          "sku": "com.xsolla.elven_armor_1"
                        }
                      ],
                      "limits": {
                        "per_item": null,
                        "per_user": {
                          "total": 10
                        },
                        "recurrent_schedule": {
                          "per_user": {
                            "displayable_reset_next_date": "2023-02-28T11:00:00+08:00",
                            "displayable_reset_start_date": "2023-02-28T11:00:00+08:00",
                            "interval_type": "daily",
                            "reset_next_date": 1677553200,
                            "time": "11:00:00+08:00"
                          }
                        }
                      },
                      "name": {
                        "en-US": "Promotion",
                        "ru-RU": "Акция"
                      },
                      "promotion_periods": [
                        {
                          "date_from": "2020-04-15T18:16:00+05:00",
                          "date_until": "2020-04-25T18:16:00+05:00"
                        }
                      ]
                    },
                    {
                      "discount": {
                        "percent": "10.00"
                      },
                      "id": 3,
                      "is_enabled": true,
                      "items": [
                        {
                          "sku": "com.xsolla.elven_helmet_2"
                        },
                        {
                          "sku": "com.xsolla.elven_armor_2"
                        }
                      ],
                      "limits": {
                        "per_item": null,
                        "per_user": {
                          "total": 10
                        },
                        "recurrent_schedule": {
                          "per_user": {
                            "displayable_reset_next_date": "2023-02-28T11:00:00+08:00",
                            "displayable_reset_start_date": "2023-02-28T11:00:00+08:00",
                            "interval_type": "daily",
                            "reset_next_date": 1677553200,
                            "time": "11:00:00+08:00"
                          }
                        }
                      },
                      "name": {
                        "en-US": "Promotion",
                        "ru-RU": "Акция"
                      },
                      "price_conditions": [
                        {
                          "operator": "gt",
                          "value": "10.0000"
                        },
                        {
                          "operator": "lt",
                          "value": "20.0000"
                        }
                      ],
                      "promotion_periods": [
                        {
                          "date_from": "2020-04-15T18:16:00+05:00",
                          "date_until": "2020-04-25T18:16:00+05:00"
                        }
                      ]
                    },
                    {
                      "discount": {
                        "percent": "10.00"
                      },
                      "id": 4,
                      "is_enabled": true,
                      "items": null,
                      "limits": {
                        "per_item": null,
                        "per_user": {
                          "total": 10
                        },
                        "recurrent_schedule": {
                          "per_user": {
                            "displayable_reset_next_date": "2023-02-28T11:00:00+08:00",
                            "displayable_reset_start_date": "2023-02-28T11:00:00+08:00",
                            "interval_type": "daily",
                            "reset_next_date": 1677553200,
                            "time": "11:00:00+08:00"
                          }
                        }
                      },
                      "name": {
                        "en-US": "Promotion",
                        "ru-RU": "Акция"
                      },
                      "price_conditions": [
                        {
                          "operator": "lt",
                          "value": "20.0000"
                        }
                      ],
                      "promotion_periods": [
                        {
                          "date_from": "2020-04-15T18:16:00+05:00",
                          "date_until": "2020-04-25T18:16:00+05:00"
                        }
                      ]
                    }
                  ],
                  "total_promotions_count": 4
                }
              }
            },
            "schema": {
              "properties": {
                "active_promotions_count": {
                  "$ref": "#/components/schemas/active_promotions_count"
                },
                "inactive_promotions_count": {
                  "$ref": "#/components/schemas/inactive_promotions_count"
                },
                "promotions": {
                  "items": {
                    "properties": {
                      "attribute_conditions": {
                        "$ref": "#/components/schemas/promotion_user-attribute_conditions_model-get"
                      },
                      "discount": {
                        "properties": {
                          "percent": {
                            "default": "10.00",
                            "description": "Percentual de desconto.\nO preço do item será diminuído usando um valor que foi calculado usando essa porcentagem.",
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "excluded_promotions": {
                        "$ref": "#/components/schemas/excluded_promotions"
                      },
                      "id": {
                        "description": "ID de promoção. Identificador exclusivo da promoção dentro do projeto.",
                        "type": "integer"
                      },
                      "is_enabled": {
                        "$ref": "#/components/schemas/Promotions_is_enabled"
                      },
                      "items": {
                        "items": {
                          "description": "A lista de itens que serão afetados pelo desconto.",
                          "properties": {
                            "sku": {
                              "default": "elven_sword",
                              "description": "SKU do item.",
                              "type": [
                                "string",
                                "null"
                              ]
                            }
                          },
                          "type": "object"
                        },
                        "type": [
                          "array",
                          "null"
                        ]
                      },
                      "limits": {
                        "$ref": "#/components/schemas/Promotions_promotion_limits_response"
                      },
                      "name": {
                        "additionalProperties": {
                          "type": "string"
                        },
                        "description": "Nome da promoção. Deve conter pares chave/valor, onde chave é a localidade com o formato \"^[a-z]{2}-[A-Z]{2}$\", e o valor é uma cadeia de caracteres.",
                        "example": {
                          "en-US": "Promotion",
                          "ru-RU": "Акция"
                        },
                        "type": "object"
                      },
                      "price_conditions": {
                        "$ref": "#/components/schemas/price_conditions_discount"
                      },
                      "promotion_periods": {
                        "$ref": "#/components/schemas/promotion_periods"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "total_promotions_count": {
                  "$ref": "#/components/schemas/total_promotions_count"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Lista de promoções de itens recebida com sucesso."
      },
      "Promotions_200-get-promocodes": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/Promotions_200-admin-promocodes"
              }
            },
            "schema": {
              "properties": {
                "active_promotions_count": {
                  "$ref": "#/components/schemas/active_promotions_count"
                },
                "inactive_promotions_count": {
                  "$ref": "#/components/schemas/inactive_promotions_count"
                },
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/Promotions_200-get-promocode-promotion-model"
                  },
                  "type": "array"
                },
                "total_promotions_count": {
                  "$ref": "#/components/schemas/total_promotions_count"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Lista de códigos promocionais recebida com sucesso."
      },
      "Promotions_200-get-promotions": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/Promotions_200-admin-promotions"
              }
            },
            "schema": {
              "properties": {
                "active_promotions_count": {
                  "$ref": "#/components/schemas/active_promotions_count"
                },
                "inactive_promotions_count": {
                  "$ref": "#/components/schemas/inactive_promotions_count"
                },
                "promotions": {
                  "items": {
                    "$ref": "#/components/schemas/Promotions_200-get-promotion-model"
                  },
                  "type": "array"
                },
                "total_promotions_count": {
                  "$ref": "#/components/schemas/total_promotions_count"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Lista de promoções recebida com sucesso."
      },
      "Promotions_200-get-unique-catalog-offers": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/Promotions_200-admin-unique-catalog-offers"
              }
            },
            "schema": {
              "properties": {
                "active_promotions_count": {
                  "$ref": "#/components/schemas/active_promotions_count"
                },
                "inactive_promotions_count": {
                  "$ref": "#/components/schemas/inactive_promotions_count"
                },
                "items": {
                  "items": {
                    "$ref": "#/components/schemas/Promotions_200-get-unique-catalog-offer-promotion-model"
                  },
                  "type": "array"
                },
                "total_promotions_count": {
                  "$ref": "#/components/schemas/total_promotions_count"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "A lista de cupons foi recebida com sucesso."
      },
      "Promotions_200-promo-code-canceled": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "cart_id": "cart_id",
                  "is_free": false,
                  "items": [
                    {
                      "attributes": [],
                      "can_be_bought": true,
                      "description": "Take it, take it all! All of Xsolla's riches in one Mega Booster.",
                      "groups": [
                        {
                          "external_id": "powerups",
                          "name": "Power Ups"
                        }
                      ],
                      "image_url": "https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png",
                      "is_free": false,
                      "limits": {
                        "per_user": {
                          "available": 3,
                          "recurrent_schedule": {
                            "interval_type": "weekly",
                            "reset_next_date": 1746057600
                          },
                          "total": 5
                        }
                      },
                      "name": "Xsolla Booster Mega",
                      "periods": [
                        {
                          "date_from": "2020-08-11T10:00:00+03:00",
                          "date_until": "2020-08-11T20:00:00+03:00"
                        }
                      ],
                      "price": {
                        "amount": "50.0000000000000000",
                        "amount_without_discount": "100.0000000000000000",
                        "currency": "USD"
                      },
                      "promotions": [
                        {
                          "bonus": [
                            {
                              "image_url": "https://cdn.xsolla.net/img/misc/images/2fc5c491a47413a8e8000447889093c2.png",
                              "name": "Xsolla Minigun",
                              "quantity": 1,
                              "sku": "com.xsolla.minigun_1",
                              "type": "virtual_good"
                            }
                          ],
                          "date_end": "2026-04-15T16:16:00+03:00",
                          "date_start": "2020-04-15T16:16:00+03:00",
                          "discount": {
                            "percent": "50.00"
                          },
                          "name": "Bonus promotion"
                        }
                      ],
                      "quantity": 123,
                      "sku": "com.xsolla.booster_mega_1",
                      "type": "virtual_good",
                      "virtual_item_type": "consumable",
                      "virtual_prices": [],
                      "vp_rewards": [
                        {
                          "amount": 130,
                          "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                          "item_id": 175232,
                          "name": "Value point",
                          "sku": "com.xsolla.value_point_1"
                        },
                        {
                          "amount": 50,
                          "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                          "is_clan": true,
                          "item_id": 186321,
                          "name": "Clan Reward VP 1",
                          "sku": "com.xsolla.clan_value_point_1"
                        }
                      ]
                    }
                  ],
                  "price": {
                    "amount": "6150.0000000000000000",
                    "amount_without_discount": "6150.0000000000000000",
                    "currency": "USD"
                  }
                }
              }
            },
            "schema": {
              "properties": {
                "cart_id": {
                  "description": "ID do carrinho.",
                  "example": "cart_id",
                  "type": "string"
                },
                "is_free": {
                  "$ref": "#/components/schemas/value-is_free"
                },
                "items": {
                  "example": [
                    {
                      "attributes": [],
                      "can_be_bought": true,
                      "description": "Take it, take it all! All of Xsolla's riches in one Mega Booster.",
                      "groups": [
                        {
                          "external_id": "powerups",
                          "name": "Power Ups"
                        }
                      ],
                      "image_url": "https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png",
                      "is_free": false,
                      "limits": {
                        "per_user": {
                          "available": 3,
                          "recurrent_schedule": {
                            "interval_type": "weekly",
                            "reset_next_date": 1746057600
                          },
                          "total": 5
                        }
                      },
                      "name": "Xsolla Booster Mega",
                      "periods": [
                        {
                          "date_from": "2020-08-11T10:00:00+03:00",
                          "date_until": "2020-08-11T20:00:00+03:00"
                        }
                      ],
                      "price": {
                        "amount": "50.0000000000000000",
                        "amount_without_discount": "100.0000000000000000",
                        "currency": "USD"
                      },
                      "promotions": [
                        {
                          "bonus": [
                            {
                              "image_url": "https://cdn.xsolla.net/img/misc/images/2fc5c491a47413a8e8000447889093c2.png",
                              "name": "Xsolla Minigun",
                              "quantity": 1,
                              "sku": "com.xsolla.minigun_1",
                              "type": "virtual_good"
                            }
                          ],
                          "date_end": "2026-04-15T16:16:00+03:00",
                          "date_start": "2020-04-15T16:16:00+03:00",
                          "discount": {
                            "percent": "50.00"
                          },
                          "name": "Bonus promotion"
                        }
                      ],
                      "quantity": 123,
                      "sku": "com.xsolla.booster_mega_1",
                      "type": "virtual_good",
                      "virtual_item_type": "consumable",
                      "virtual_prices": [],
                      "vp_rewards": [
                        {
                          "amount": 130,
                          "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                          "item_id": 175232,
                          "name": "Value point",
                          "sku": "com.xsolla.value_point_1"
                        },
                        {
                          "amount": 50,
                          "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                          "is_clan": true,
                          "item_id": 186321,
                          "name": "Clan Reward VP 1",
                          "sku": "com.xsolla.clan_value_point_1"
                        }
                      ]
                    }
                  ],
                  "items": {
                    "properties": {
                      "attributes": {
                        "$ref": "#/components/schemas/client-attributes"
                      },
                      "can_be_bought": {
                        "$ref": "#/components/schemas/Can_be_bought"
                      },
                      "description": {
                        "type": "string"
                      },
                      "groups": {
                        "items": {
                          "properties": {
                            "external_id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "image_url": {
                        "type": "string"
                      },
                      "is_free": {
                        "$ref": "#/components/schemas/value-is_free"
                      },
                      "limits": {
                        "$ref": "#/components/schemas/Catalog_item_limits"
                      },
                      "name": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "periods": {
                        "$ref": "#/components/schemas/item-periods"
                      },
                      "price": {
                        "description": "Preços dos itens.",
                        "properties": {
                          "amount": {
                            "description": "Preço do item com desconto.",
                            "example": "2.9900",
                            "type": "string"
                          },
                          "amount_without_discount": {
                            "description": "Preço do item.",
                            "example": "2.9900",
                            "type": "string"
                          },
                          "currency": {
                            "description": "Moeda do preço do item. Código de três letras de acordo com [a ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).",
                            "example": "USD",
                            "type": "string"
                          }
                        },
                        "type": [
                          "object",
                          "null"
                        ]
                      },
                      "promotions": {
                        "$ref": "#/components/schemas/Catalog_item_promotions"
                      },
                      "quantity": {
                        "type": "integer"
                      },
                      "sku": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "virtual_item_type": {
                        "description": "Type of virtual item.\n\nPossible values:\n- `consumable` — An item that disappears from the inventory after use (e.g., ammo).\n- `non_consumable` — An item that stays in the inventory for an unlimited period of time.\n- `non_renewing_subscription` — Time-limited item that can represent access to services or content for a limited period of time.",
                        "enum": [
                          "consumable",
                          "non_consumable",
                          "non_renewing_subscription"
                        ],
                        "example": "non-consumable",
                        "type": "string"
                      },
                      "virtual_prices": {
                        "type": "array"
                      },
                      "vp_rewards": {
                        "$ref": "#/components/schemas/client-item-value-point-reward"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "price": {
                  "description": "Preço do carrinho.",
                  "example": {
                    "amount": "6150.0000000000000000",
                    "amount_without_discount": "6150.0000000000000000",
                    "currency": "USD"
                  },
                  "properties": {
                    "amount": {
                      "default": "50.0000000000000000",
                      "type": "string"
                    },
                    "amount_without_discount": {
                      "default": "100.0000000000000000",
                      "type": "string"
                    },
                    "currency": {
                      "default": "USD",
                      "type": "string"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Código promocional cancelado com sucesso."
      },
      "Promotions_200-promo-code-redeemed": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "cart_id": "cart_id",
                  "is_free": false,
                  "items": [
                    {
                      "attributes": [],
                      "can_be_bought": true,
                      "description": "Take it, take it all! All of Xsolla's riches in one Mega Booster.",
                      "groups": [
                        {
                          "external_id": "powerups",
                          "name": "Power Ups"
                        }
                      ],
                      "image_url": "https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png",
                      "is_free": false,
                      "limits": {
                        "per_user": {
                          "available": 3,
                          "recurrent_schedule": {
                            "interval_type": "weekly",
                            "reset_next_date": 1746057600
                          },
                          "total": 5
                        }
                      },
                      "name": "Xsolla Booster Mega",
                      "periods": [
                        {
                          "date_from": "2020-08-11T10:00:00+03:00",
                          "date_until": "2020-08-11T20:00:00+03:00"
                        }
                      ],
                      "price": {
                        "amount": "50.0000000000000000",
                        "amount_without_discount": "100.0000000000000000",
                        "currency": "USD"
                      },
                      "promotions": [
                        {
                          "bonus": [
                            {
                              "image_url": "https://cdn.xsolla.net/img/misc/images/2fc5c491a47413a8e8000447889093c2.png",
                              "name": "Xsolla Minigun",
                              "quantity": 1,
                              "sku": "com.xsolla.minigun_1",
                              "type": "virtual_good"
                            }
                          ],
                          "date_end": "2026-04-15T16:16:00+03:00",
                          "date_start": "2020-04-15T16:16:00+03:00",
                          "discount": {
                            "percent": "50.00"
                          },
                          "name": "Bonus promotion"
                        }
                      ],
                      "quantity": 123,
                      "sku": "com.xsolla.booster_mega_1",
                      "type": "virtual_good",
                      "virtual_item_type": "consumable",
                      "virtual_prices": [],
                      "vp_rewards": [
                        {
                          "amount": 130,
                          "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                          "is_clan": false,
                          "item_id": 175232,
                          "name": "Value point",
                          "sku": "com.xsolla.value_point_1"
                        },
                        {
                          "amount": 50,
                          "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                          "is_clan": true,
                          "item_id": 186321,
                          "name": "Clan Reward VP 1",
                          "sku": "com.xsolla.clan_value_point_1"
                        }
                      ]
                    },
                    {
                      "attributes": [],
                      "can_be_bought": true,
                      "description": "Honshu Boshin Wakizashi - Modern Tactical Samurai / Ninja Sword - Hand Forged 1060 Carbon Steel - Full Tang, Fully Functional, Battle Ready - Black TPR, Steel Guard and Pommel.",
                      "groups": [],
                      "image_url": "https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png",
                      "is_free": true,
                      "limits": {
                        "per_user": {
                          "available": 3,
                          "recurrent_schedule": {
                            "interval_type": "weekly",
                            "reset_next_date": 1746057600
                          },
                          "total": 5
                        }
                      },
                      "name": "Sword Xsolla Skin",
                      "periods": [
                        {
                          "date_from": "2020-08-11T10:00:00+03:00",
                          "date_until": "2020-08-11T20:00:00+03:00"
                        }
                      ],
                      "price": [],
                      "promotions": [
                        {
                          "bonus": [
                            {
                              "image_url": "https://cdn.xsolla.net/img/misc/images/2fc5c491a47413a8e8000447889093c2.png",
                              "name": "Xsolla Minigun",
                              "quantity": 1,
                              "sku": "com.xsolla.minigun_1",
                              "type": "virtual_good"
                            }
                          ],
                          "date_end": "2026-04-15T16:16:00+03:00",
                          "date_start": "2020-04-15T16:16:00+03:00",
                          "discount": {
                            "percent": "50.00"
                          },
                          "name": "Bonus promotion"
                        }
                      ],
                      "quantity": 1,
                      "sku": "com.xsolla.swords_1",
                      "type": "virtual_good",
                      "virtual_item_type": "non_consumable",
                      "virtual_prices": [],
                      "vp_rewards": [
                        {
                          "amount": 130,
                          "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                          "item_id": 175232,
                          "name": "Value point",
                          "sku": "com.xsolla.value_point_1"
                        },
                        {
                          "amount": 50,
                          "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                          "is_clan": true,
                          "item_id": 186321,
                          "name": "Clan Reward VP 1",
                          "sku": "com.xsolla.clan_value_point_1"
                        }
                      ]
                    }
                  ],
                  "price": {
                    "amount": "6150.0000000000000000",
                    "amount_without_discount": "12300.0000000000000000",
                    "currency": "USD"
                  },
                  "rewards": {
                    "bonus": [
                      {
                        "item": {
                          "description": "Honshu Boshin Wakizashi - Modern Tactical Samurai / Ninja Sword - Hand Forged 1060 Carbon Steel - Full Tang, Fully Functional, Battle Ready - Black TPR, Steel Guard and Pommel.",
                          "image_url": "https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png",
                          "name": "Sword Xsolla Skin",
                          "sku": "com.xsolla.swords_1",
                          "type": "virtual_good",
                          "virtual_item_type": "non_consumable"
                        },
                        "quantity": 1
                      }
                    ],
                    "discount": {
                      "percent": null
                    },
                    "discounted_items": [
                      {
                        "discount": {
                          "percent": "50.00"
                        },
                        "sku": "com.xsolla.booster_mega_1"
                      }
                    ],
                    "is_selectable": false
                  }
                }
              }
            },
            "schema": {
              "properties": {
                "cart_id": {
                  "description": "ID do carrinho.",
                  "example": "cart_id",
                  "type": "string"
                },
                "is_free": {
                  "$ref": "#/components/schemas/value-is_free"
                },
                "items": {
                  "example": [
                    {
                      "attributes": [],
                      "can_be_bought": true,
                      "description": "Take it, take it all! All of Xsolla's riches in one Mega Booster.",
                      "groups": [
                        {
                          "external_id": "powerups",
                          "name": "Power Ups"
                        }
                      ],
                      "image_url": "https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png",
                      "is_free": false,
                      "limits": {
                        "per_user": {
                          "available": 3,
                          "recurrent_schedule": {
                            "interval_type": "weekly",
                            "reset_next_date": 1746057600
                          },
                          "total": 5
                        }
                      },
                      "name": "Xsolla Booster Mega",
                      "periods": [
                        {
                          "date_from": "2020-08-11T10:00:00+03:00",
                          "date_until": "2020-08-11T20:00:00+03:00"
                        }
                      ],
                      "price": {
                        "amount": "50.0000000000000000",
                        "amount_without_discount": "100.0000000000000000",
                        "currency": "USD"
                      },
                      "promotions": [
                        {
                          "bonus": [
                            {
                              "image_url": "https://cdn.xsolla.net/img/misc/images/2fc5c491a47413a8e8000447889093c2.png",
                              "name": "Xsolla Minigun",
                              "quantity": 1,
                              "sku": "com.xsolla.minigun_1",
                              "type": "virtual_good"
                            }
                          ],
                          "date_end": "2026-04-15T16:16:00+03:00",
                          "date_start": "2020-04-15T16:16:00+03:00",
                          "discount": {
                            "percent": "50.00"
                          },
                          "name": "Bonus promotion"
                        }
                      ],
                      "quantity": 123,
                      "sku": "com.xsolla.booster_mega_1",
                      "type": "virtual_good",
                      "virtual_item_type": "consumable",
                      "virtual_prices": [],
                      "vp_rewards": [
                        {
                          "amount": 130,
                          "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                          "is_clan": false,
                          "item_id": 175232,
                          "name": "Value point",
                          "sku": "com.xsolla.value_point_1"
                        },
                        {
                          "amount": 50,
                          "image_url": "https://cdn3.xsolla.com/img/misc/images/54c0cf9d345817cdacfdde198db178e0.jpg",
                          "is_clan": true,
                          "item_id": 186321,
                          "name": "Clan Reward VP 1",
                          "sku": "com.xsolla.clan_value_point_1"
                        }
                      ]
                    }
                  ],
                  "items": {
                    "properties": {
                      "can_be_bought": {
                        "$ref": "#/components/schemas/Can_be_bought"
                      },
                      "description": {
                        "type": "string"
                      },
                      "groups": {
                        "items": {
                          "properties": {
                            "external_id": {
                              "type": "string"
                            },
                            "name": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "image_url": {
                        "type": "string"
                      },
                      "is_free": {
                        "$ref": "#/components/schemas/value-is_free"
                      },
                      "limits": {
                        "$ref": "#/components/schemas/Catalog_item_limits"
                      },
                      "name": {
                        "type": [
                          "string",
                          "null"
                        ]
                      },
                      "periods": {
                        "$ref": "#/components/schemas/item-periods"
                      },
                      "promotions": {
                        "$ref": "#/components/schemas/Catalog_item_promotions"
                      },
                      "quantity": {
                        "type": "integer"
                      },
                      "sku": {
                        "type": "string"
                      },
                      "type": {
                        "type": "string"
                      },
                      "vp_rewards": {
                        "$ref": "#/components/schemas/client-item-value-point-reward"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "price": {
                  "description": "Preço do carrinho.",
                  "example": {
                    "amount": "6150.0000000000000000",
                    "amount_without_discount": "6150.0000000000000000",
                    "currency": "USD"
                  },
                  "properties": {
                    "amount": {
                      "example": "50.0000000000000000",
                      "type": "string"
                    },
                    "amount_without_discount": {
                      "example": "100.0000000000000000",
                      "type": "string"
                    },
                    "currency": {
                      "example": "USD",
                      "type": "string"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "rewards": {
                  "$ref": "#/components/schemas/Promo_code_rewards"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Código promocional resgatado com sucesso."
      },
      "Promotions_200-promocode-code-list": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/Promotions_200-coupon-code-list"
              }
            },
            "schema": {
              "properties": {
                "codes": {
                  "items": {
                    "properties": {
                      "code": {
                        "$ref": "#/components/schemas/Promotions_coupon_code"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "total_count": {
                  "description": "Número total de códigos para um código promocional.",
                  "type": "number"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Lista de códigos para um código promocional recebida com sucesso."
      },
      "Promotions_200-promocode-rewards": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/Promotions_200-get-promocode-rewards"
              }
            },
            "schema": {
              "$ref": "#/components/schemas/Promo_code_rewards"
            }
          }
        },
        "description": "Lista de recompensas do código promocional recebida com sucesso."
      },
      "Promotions_200-unique-catalog-offer-code-list": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "$ref": "#/components/examples/Promotions_200-coupon-code-list"
              }
            },
            "schema": {
              "properties": {
                "codes": {
                  "items": {
                    "properties": {
                      "code": {
                        "$ref": "#/components/schemas/Promotions_coupon_code"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "total_count": {
                  "description": "Número total de códigos de ofertas de catálogo exclusivas.",
                  "type": "number"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "A lista de códigos para uma oferta de catálogo exclusiva foi recebida com êxito."
      },
      "Promotions_200-verify-promo-code": {
        "content": {
          "application/json": {
            "examples": {
              "coupon info": {
                "value": {
                  "code": "WINTER2023",
                  "rewards": {
                    "bonus": [
                      {
                        "item": {
                          "description": "Game description",
                          "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
                          "name": "Game name",
                          "sku": "com.xsolla.game_1",
                          "type": "unit",
                          "unit_items": [
                            {
                              "drm_name": "Steam",
                              "drm_sku": "steam_key_1",
                              "is_free": false,
                              "name": "Game name",
                              "sku": "com.xsolla.game_key_01",
                              "type": "game_key"
                            },
                            {
                              "drm_name": "Origin",
                              "drm_sku": "origin_key_1",
                              "name": "Game name",
                              "sku": "com.xsolla.game_key_02",
                              "type": "game_key"
                            }
                          ]
                        },
                        "quantity": 1
                      },
                      {
                        "item": {
                          "description": "Game description",
                          "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
                          "name": "Game name",
                          "sku": "com.xsolla.game_2",
                          "type": "unit",
                          "unit_items": [
                            {
                              "drm_name": "Steam",
                              "drm_sku": "steam_key_1",
                              "name": "Game name",
                              "sku": "com.xsolla.game_key_01",
                              "type": "game_key"
                            }
                          ]
                        },
                        "quantity": 2
                      }
                    ],
                    "is_selectable": true
                  },
                  "type": "coupon"
                }
              },
              "promocode info": {
                "value": {
                  "code": "SUMMER2023",
                  "rewards": {
                    "bonus": [
                      {
                        "item": {
                          "description": "Game description",
                          "image_url": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
                          "name": "Game name",
                          "sku": "com.xsolla.game_2",
                          "type": "unit",
                          "unit_items": [
                            {
                              "drm_name": "Steam",
                              "drm_sku": "steam_key_1",
                              "name": "Game name",
                              "sku": "com.xsolla.game_key_01",
                              "type": "game_key"
                            }
                          ]
                        },
                        "quantity": 2
                      }
                    ],
                    "discount": {
                      "percent": "10.00"
                    },
                    "discounted_items": [
                      {
                        "description": "sword",
                        "discount": {
                          "percent": "10.00"
                        },
                        "image_url": null,
                        "name": "Elven sword",
                        "sku": "com.xsolla.elven_sword_1",
                        "type": "virtual_good"
                      }
                    ],
                    "is_selectable": true
                  },
                  "type": "promocode"
                }
              }
            },
            "schema": {
              "properties": {
                "code": {
                  "$ref": "#/components/schemas/Promotions_coupon_code"
                },
                "rewards": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Coupon_rewards"
                    },
                    {
                      "$ref": "#/components/schemas/Promo_code_rewards_verify"
                    }
                  ]
                },
                "type": {
                  "description": "Tipo de código: `promocode`/`coupon`.",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Informações sobre o código."
      },
      "Promotions_201-coupon-promocode-code-created": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "code": "WINTER2021"
                }
              }
            },
            "schema": {
              "properties": {
                "code": {
                  "$ref": "#/components/schemas/Promotions_coupon_code"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Código criado com sucesso."
      },
      "Promotions_201-create-promotion": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "promotion_id": 2384756
                }
              }
            },
            "schema": {
              "properties": {
                "promotion_id": {
                  "description": "ID de promoção. Identificador exclusivo da promoção dentro do projeto.",
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Promoção criada com sucesso."
      },
      "Promotions_401-invalid-basic-auth": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 1020,
                  "errorMessage": "[0401-1020]: Error in Authentication method occurred",
                  "statusCode": 401
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 1020,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-1020]: Error in Authentication method occurred",
                  "type": "string"
                },
                "statusCode": {
                  "example": 401,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Autenticação básica não aprovada ou errada. Verifique se você usou a autenticação básica ou as credenciais corretas."
      },
      "Promotions_401-invalid-client-auth": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 1501,
                  "errorMessage": "[0401-1501]: Authorization failed: Provide authorization",
                  "statusCode": 401
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 1501,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-1501]: Authorization failed: Provide authorization",
                  "type": "string"
                },
                "statusCode": {
                  "example": 401,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Autenticação não aprovada ou errada."
      },
      "Promotions_403-auth-header": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 0,
                  "errorMessage": "Authorization header not sent",
                  "statusCode": 403
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 0,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "Authorization header not sent.",
                  "type": "string"
                },
                "statusCode": {
                  "example": 403,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "x-x-x-x-transactionId-mock-x-x-x",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Cabeçalho de autorização não enviado."
      },
      "Promotions_404-admin-coupon": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 4001,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-9802]: Coupon not found",
                  "type": "string"
                },
                "statusCode": {
                  "example": 404,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "x-x-x-x-transactionId-mock-x-x-x",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Cupom não encontrado. Verifique se o `external_id` está correto."
      },
      "Promotions_404-admin-promocode": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 4001,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-9802]: Promocode not found",
                  "type": "string"
                },
                "statusCode": {
                  "example": 404,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "x-x-x-x-transactionId-mock-x-x-x",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Código promocional não encontrado. Verifique se o `external_id` está correto."
      },
      "Promotions_404-admin-promotion": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 9502,
                  "errorMessage": "[0401-9502]: Can not find promotion with ID = 111425 in project 59080",
                  "statusCode": 404
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 9502,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-9502]: Can not find promotion with ID = 111425 in project 59080",
                  "type": "string"
                },
                "statusCode": {
                  "example": 404,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Promoção não encontrada. Certifique-se de que `promotion_id` está correto."
      },
      "Promotions_404-coupon": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 4001,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-9807]: Enter valid coupon code.",
                  "type": "string"
                },
                "statusCode": {
                  "example": 404,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Insira um código de cupom válido."
      },
      "Promotions_404-promo-code": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 4001,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-9807]: Enter valid promo code.",
                  "type": "string"
                },
                "statusCode": {
                  "example": 404,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Insira um código promocional válido."
      },
      "Promotions_404-verify-promo-code": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 9811,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-9811]: Code not found.",
                  "type": "string"
                },
                "statusCode": {
                  "example": 404,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "x-x-x-x-transactionId-mock-x-x-x",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Código não encontrado. Verifique se o valor `code` está correto."
      },
      "Promotions_422-activate-deactivate-promotion": {
        "content": {
          "application/json": {
            "examples": {
              "Error was occurred": {
                "$ref": "#/components/examples/422-activate-deactivate-promotion"
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 1102,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-9505]: Error was occurred while promotion was being updated",
                  "type": "string"
                },
                "statusCode": {
                  "example": 422,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "da145238620011eb8e24fe6913ff226a",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Solicitação inválida."
      },
      "Promotions_422-admin-promotion-error": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 9502,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-9502]: Error occurred while receiving the promotion from the promotion service",
                  "type": "string"
                },
                "statusCode": {
                  "example": 422,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "x-x-x-x-transactionId-mock-x-x-x",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Ocorreu um erro ao receber a promoção do serviço de promoção."
      },
      "Promotions_422-admin-promotion-missed-bonus-property": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 1102,
                  "errorMessage": "[0401-1102]: Unprocessable Entity. The property `bonus` is required",
                  "statusCode": 422,
                  "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 1102,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-1102]:  Unprocessable Entity. The property `bonus` is required",
                  "type": "string"
                },
                "statusCode": {
                  "example": 422,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "x-x-x-x-transactionId-mock-x-x-x",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Solicitação inválida."
      },
      "Promotions_422-admin-promotion-missed-items-property": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 1102,
                  "errorMessage": "[0401-1102]: Unprocessable Entity. The property `items` is required",
                  "statusCode": 422,
                  "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 1102,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-1102]:  Unprocessable Entity. The property `items` is required",
                  "type": "string"
                },
                "statusCode": {
                  "example": 422,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "x-x-x-x-transactionId-mock-x-x-x",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Solicitação inválida."
      },
      "Promotions_422-cancel-promo-code": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 1102,
                  "errorMessage": "[0401-1102]: Unprocessable Entity. The property `id` is required",
                  "statusCode": 422
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 1102,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-1102]: Unprocessable Entity. The property `id` is required",
                  "type": "string"
                },
                "statusCode": {
                  "example": 422,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "x-x-x-x-transactionId-mock-x-x-x",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Solicitação inválida."
      },
      "Promotions_422-coupon-promocode-same-code-exists": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 9803,
                  "errorMessage": "[0401-9803]: The code already exists.",
                  "statusCode": 422,
                  "transactionId": "x-x-x-x-transactionId-mock-x-x-x"
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 9803,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-9803]: The code already exists.",
                  "type": "string"
                },
                "statusCode": {
                  "example": 422,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "x-x-x-x-transactionId-mock-x-x-x",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Solicitação inválida. O código já existe."
      },
      "Promotions_422-invalid-coupon": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 1102,
                  "errorMessage": "[0401-1102]: Unprocessable Entity. The property `external_id` is required",
                  "statusCode": 422
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 1102,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-1102]: Unprocessable Entity. The property `external_id` is required",
                  "type": "string"
                },
                "statusCode": {
                  "example": 422,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Solicitação inválida."
      },
      "Promotions_422-redeem-coupon": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 1102,
                  "errorMessage": "[0401-1102]: Unprocessable Entity. The property `coupon_code` is required",
                  "statusCode": 422
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 1102,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-1102]: Unprocessable Entity. The property `coupon_code` is required",
                  "type": "string"
                },
                "statusCode": {
                  "example": 422,
                  "type": "integer"
                },
                "transactionId": {
                  "example": "x-x-x-x-transactionId-mock-x-x-x",
                  "type": "string"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Solicitação inválida."
      },
      "Promotions_422-rewards": {
        "content": {
          "application/json": {
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Promotions_422_limit_error"
                },
                {
                  "$ref": "#/components/schemas/Promotions_422_reglock_error"
                }
              ]
            }
          }
        },
        "description": "Solicitação inválida."
      },
      "Promotions_422-verify-promo-code": {
        "content": {
          "application/json": {
            "examples": {
              "code redemption limit": {
                "value": {
                  "errorCode": 9804,
                  "errorMessage": "[0401-9804]: You have reached the coupon redemption limit.",
                  "statusCode": 422
                }
              },
              "regionally restricted": {
                "value": {
                  "errorCode": 9808,
                  "errorMessage": "[0401-9808]: Coupon is not available in your region.",
                  "statusCode": 422
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "type": "integer"
                },
                "errorMessage": {
                  "type": "string"
                },
                "statusCode": {
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Promoção de código inválida."
      },
      "Upsell-200-get-client-list": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "has_more": true,
                  "items": [
                    {
                      "attributes": [
                        {
                          "external_id": "stack_size",
                          "name": {
                            "en": "Quantity of items in the upsell set"
                          },
                          "values": [
                            {
                              "external_id": "size_e3364991f92e751689a68b96598a5a5a84010b85",
                              "value": "5"
                            }
                          ]
                        }
                      ],
                      "can_be_bought": true,
                      "custom_attributes": {
                        "attr": "value",
                        "purchased": 0
                      },
                      "description": "Big Rocket - description",
                      "groups": [
                        {
                          "external_id": "accessory",
                          "name": {
                            "en": "accessory"
                          }
                        }
                      ],
                      "image_url": "https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png",
                      "is_free": false,
                      "limits": {
                        "per_user": {
                          "available": 3,
                          "limit_exceeded_visibility": "show",
                          "recurrent_schedule": {
                            "interval_type": "weekly",
                            "reset_next_date": 1746057600
                          },
                          "total": 5
                        }
                      },
                      "name": "Big Rocket",
                      "periods": [
                        {
                          "date_from": "2020-08-11T10:00:00+03:00",
                          "date_until": "2020-08-11T20:00:00+03:00"
                        }
                      ],
                      "price": {
                        "amount": "100.99",
                        "amount_without_discount": "100.99",
                        "currency": "USD"
                      },
                      "promotions": [
                        {
                          "bonus": [
                            {
                              "image_url": "https://cdn.xsolla.net/img/misc/images/2fc5c491a47413a8e8000447889093c2.png",
                              "name": "Xsolla Minigun",
                              "quantity": 1,
                              "sku": "com.xsolla.minigun_1",
                              "type": "virtual_good"
                            },
                            {
                              "quantity": 1,
                              "sku": "com.xsolla.phys_good_1",
                              "type": "physical_good"
                            },
                            {
                              "bundle_type": "standard",
                              "image_url": "https://cdn.xsolla.net/img/misc/images/9676f06265375087e607cb79c5283688.png",
                              "name": "Super Lootbox with items",
                              "quantity": 1,
                              "sku": "com.xsolla.SuperLootboxBundle_1",
                              "type": "bundle"
                            }
                          ],
                          "date_end": "2026-04-15T16:16:00+03:00",
                          "date_start": "2020-04-15T16:16:00+03:00",
                          "discount": null,
                          "name": "Bonus promotion"
                        }
                      ],
                      "sku": "com.xsolla.big_rocket_1",
                      "type": "virtual_good",
                      "virtual_item_type": "non_renewing_subscription",
                      "virtual_prices": [
                        {
                          "amount": 100,
                          "amount_without_discount": 100,
                          "description": "description",
                          "image_url": "http://image.png",
                          "is_default": true,
                          "name": "SHOTGUN FOR TRUE RAIDERS",
                          "sku": "com.xsolla.vc_1",
                          "type": "virtual_currency"
                        }
                      ],
                      "vp_rewards": []
                    },
                    {
                      "attributes": [
                        {
                          "external_id": "stack_size",
                          "name": {
                            "en": "Quantity of items in the upsell set"
                          },
                          "values": [
                            {
                              "external_id": "size_e3364991f92e751689a68b96598a5a5a84010b85",
                              "value": "5"
                            }
                          ]
                        },
                        {
                          "external_id": "rating",
                          "name": {
                            "en": "Items rating"
                          },
                          "values": [
                            {
                              "external_id": "rating_e3364991f92e751689a68b96598a5a5a84010b85",
                              "value": "3.9"
                            }
                          ]
                        }
                      ],
                      "can_be_bought": true,
                      "description": "description",
                      "groups": [
                        {
                          "external_id": "weapons",
                          "name": {
                            "en": "Weapons"
                          }
                        }
                      ],
                      "image_url": "http://image.png",
                      "is_free": false,
                      "limits": null,
                      "name": "SHOTGUN FOR TRUE RAIDERS",
                      "periods": [
                        {
                          "date_from": "2020-08-11T20:00:00+03:00",
                          "date_until": null
                        }
                      ],
                      "price": {
                        "amount": "101.0",
                        "amount_without_discount": "101.0",
                        "currency": "USD"
                      },
                      "promotions": [],
                      "sku": "com.xsolla.shotgun_raider_1",
                      "type": "virtual_good",
                      "virtual_item_type": "non_renewing_subscription",
                      "virtual_prices": [
                        {
                          "amount": 100,
                          "amount_without_discount": 100,
                          "description": "description",
                          "image_url": "http://image.png",
                          "is_default": true,
                          "name": "SHOTGUN FOR TRUE RAIDERS",
                          "sku": "com.xsolla.vc_2",
                          "type": "virtual_currency"
                        },
                        {
                          "amount": 200,
                          "amount_without_discount": 200,
                          "description": "description",
                          "image_url": "http://image.png",
                          "is_default": false,
                          "name": "SHOTGUN FOR TRUE RAIDERS",
                          "sku": "com.xsolla.vc_3",
                          "type": "virtual_currency"
                        }
                      ],
                      "vp_rewards": []
                    },
                    {
                      "attributes": [],
                      "can_be_bought": true,
                      "description": "description",
                      "groups": [],
                      "image_url": "http://image.png",
                      "is_free": true,
                      "limits": null,
                      "name": "SHOTGUN FOR TRUE RAIDERS",
                      "periods": [],
                      "price": null,
                      "promotions": [],
                      "sku": "com.xsolla.shotgun_raider_2",
                      "type": "virtual_good",
                      "virtual_item_type": "non_renewing_subscription",
                      "virtual_prices": [],
                      "vp_rewards": []
                    }
                  ]
                }
              }
            },
            "schema": {
              "$ref": "#/components/schemas/Upsell_item-list"
            }
          }
        },
        "description": "A lista de itens de vendas cruzadas foi recebida com sucesso."
      },
      "Upsell-404-item-not-found": {
        "content": {
          "application/json": {
            "examples": {
              "response": {
                "value": {
                  "errorCode": 9901,
                  "errorMessage": "[0401-4001]: Items weren't found: sku1, sku2",
                  "statusCode": 404
                }
              }
            },
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 4001,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-4001]: Items weren't found: sku1, sku2",
                  "type": "string"
                },
                "statusCode": {
                  "example": 404,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Item não encontrado."
      },
      "Upsell-422-invalid-request": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Upsell-422-invalid-request"
            }
          }
        },
        "description": "Solicitação inválida."
      },
      "sellable-item-by-sku_404": {
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "errorCode": {
                  "example": 4001,
                  "type": "integer"
                },
                "errorMessage": {
                  "example": "[0401-4001]: Item with sku = 'electric_shiel' not found",
                  "type": "string"
                },
                "statusCode": {
                  "example": 404,
                  "type": "integer"
                }
              },
              "type": "object"
            }
          }
        },
        "description": "Item não encontrado. Certifique-se de que o `project_id` e o `sku` estão corretos."
      }
    },
    "schemas": {
      "422-invalid-request": {
        "properties": {
          "errorCode": {
            "description": "Código de erro.",
            "example": 1102,
            "type": "number"
          },
          "errorMessage": {
            "description": "Mensagem de erro legível.",
            "example": "[0401-1102]: Unprocessable Entity. The property `external_id` is required",
            "type": "string"
          },
          "statusCode": {
            "description": "Código de status da resposta.",
            "example": 422,
            "type": "number"
          },
          "transactionId": {
            "description": "ID de solicitação exclusivo.",
            "example": "da145238620011eb8e24fe6913ff226a",
            "type": "string"
          }
        },
        "type": "object"
      },
      "422-rc-vp-invalid-request": {
        "properties": {
          "errorCode": {
            "example": 1102,
            "type": "integer"
          },
          "errorMessage": {
            "example": "[0401-1102]: Unprocessable Entity. The property `property_name` is required",
            "type": "string"
          },
          "statusCode": {
            "example": 422,
            "type": "integer"
          },
          "transactionId": {
            "example": "x-x-x-x-transactionId-mock-x-x-x",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Can_be_bought": {
        "description": "Se `true`, o usuário pode comprar um item.",
        "example": true,
        "type": "boolean"
      },
      "Catalog_item_limits": {
        "description": "Limites de itens.",
        "properties": {
          "per_item": {
            "description": "Limites de item para um item.",
            "properties": {
              "available": {
                "description": "Quantidade restante de itens que todos os usuários podem comprar.",
                "example": 3,
                "type": "integer"
              },
              "total": {
                "description": "Quantidade máxima de itens que todos os usuários podem comprar.",
                "example": 5,
                "type": "integer"
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "per_user": {
            "description": "Limites de item para um usuário.",
            "properties": {
              "available": {
                "description": "Quantidade restante de itens que o usuário atual pode comprar.",
                "example": 3,
                "type": "integer"
              },
              "limit_exceeded_visibility": {
                "$ref": "#/components/schemas/limit_exceeded_visibility"
              },
              "recurrent_schedule": {
                "$ref": "#/components/schemas/catalog_recurrent_schedule_client_response"
              },
              "total": {
                "description": "Quantidade máxima de itens que o usuário atual pode comprar.",
                "example": 5,
                "type": "integer"
              }
            },
            "type": [
              "object",
              "null"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "Catalog_item_promotions": {
        "description": "Promoções aplicadas a itens específicos no carrinho. A matriz é retornada nos seguintes casos:\n\n* Uma promoção de desconto é configurada para um item específico.\n\n* Um código promocional com a configuração **Desconto em itens selecionados** é aplicado.\n\nSe nenhuma promoção no nível do item for aplicada, é retornada uma matriz vazia.",
        "items": {
          "properties": {
            "bonus": {
              "items": {
                "properties": {
                  "bundle_type": {
                    "description": "Tipo de item de pacote de bônus. Disponível apenas para o tipo de item bônus `bundle`.",
                    "enum": [
                      "standard",
                      "virtual_currency_package"
                    ],
                    "type": "string"
                  },
                  "image_url": {
                    "description": "URL da imagem do item bônus. Indisponível para o tipo de item bônus `physical_good`.",
                    "type": "string"
                  },
                  "name": {
                    "description": "Nome do item bônus. Indisponível para o tipo de item bônus `physical_good`.",
                    "type": "string"
                  },
                  "quantity": {
                    "type": "integer"
                  },
                  "sku": {
                    "type": "string"
                  },
                  "type": {
                    "description": "Tipo de item bônus.",
                    "enum": [
                      "virtual_good",
                      "virtual_currency",
                      "bundle",
                      "physical_good",
                      "game_key",
                      "nft"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            },
            "date_end": {
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "date_start": {
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "discount": {
              "properties": {
                "percent": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "value": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            },
            "limits": {
              "properties": {
                "per_user": {
                  "properties": {
                    "available": {
                      "type": "integer"
                    },
                    "total": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              },
              "type": "object"
            },
            "name": {
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "Code-limit-promo-code": {
        "properties": {
          "code": {
            "$ref": "#/components/schemas/Promotions_coupon_code"
          },
          "per_code": {
            "properties": {
              "available": {
                "description": "O número restante de vezes que o código promocional pode ser usado.",
                "type": "integer"
              },
              "reserved": {
                "description": "O número de vezes que um código promocional é reservado.",
                "type": "integer"
              },
              "total": {
                "description": "O número máximo de vezes que um código promocional pode ser usado.",
                "type": "integer"
              },
              "used": {
                "description": "O número de vezes que um código promocional é usado.",
                "type": "integer"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "Common_admin-image_url": {
        "description": "URL da imagem.",
        "example": "https://image.example.com",
        "type": "string"
      },
      "Coupon_rewards": {
        "properties": {
          "bonus": {
            "items": {
              "$ref": "#/components/schemas/Promotions_200-coupon-bonus-reward"
            },
            "type": "array"
          },
          "is_selectable": {
            "description": "Se `true`, o usuário deve selecionar um bônus antes de resgatar um cupom.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "Pagination_has-more": {
        "description": "Usado como um indicador de que há mais páginas.",
        "example": true,
        "type": "boolean"
      },
      "Promo_code_rewards": {
        "properties": {
          "bonus": {
            "items": {
              "$ref": "#/components/schemas/Promotions_200-promo-code-bonus-reward"
            },
            "type": "array"
          },
          "discount": {
            "$ref": "#/components/schemas/Promotions_200-coupon-discount-reward"
          },
          "discounted_items": {
            "$ref": "#/components/schemas/Promotions_discounted_items"
          },
          "is_selectable": {
            "description": "Se `true`, o usuário deve escolher o bônus antes de resgatar um código promocional.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "Promo_code_rewards_verify": {
        "properties": {
          "bonus": {
            "items": {
              "$ref": "#/components/schemas/Promotions_200-promo-code-bonus-reward"
            },
            "type": "array"
          },
          "discount": {
            "$ref": "#/components/schemas/Promotions_200-coupon-discount-reward"
          },
          "discounted_items": {
            "$ref": "#/components/schemas/Promotions_discounted_items_verify"
          },
          "is_selectable": {
            "description": "Se `true`, o usuário deve escolher o bônus antes de resgatar um código promocional.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "Promotions_200-coupon-bonus-reward": {
        "properties": {
          "item": {
            "properties": {
              "bundle_type": {
                "description": "Tipo de pacote. Devolvido se o tipo de item for um pacote.",
                "enum": [
                  "standard",
                  "virtual_currency_package"
                ],
                "type": "string"
              },
              "content": {
                "type": "array"
              },
              "description": {
                "description": "Descrição do item.",
                "example": "Game description",
                "type": [
                  "string",
                  "null"
                ]
              },
              "image_url": {
                "description": "URL da imagem.",
                "example": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "description": "Nome do item.",
                "example": {
                  "en": "Game name"
                },
                "type": "object"
              },
              "sku": {
                "description": "ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
                "example": "game_01",
                "type": "string"
              },
              "type": {
                "description": "Tipo de item:`virtual_good`/`virtual_currency`/`bundle`/`physical_good`/`unit`.",
                "example": "unit",
                "type": "string"
              },
              "unit_items": {
                "description": "Se o item tiver o tipo de unidade, ele incluirá todos os itens da unidade. Na maioria dos casos, o usuário deve escolher um deles como um bônus de cupom.",
                "items": {
                  "properties": {
                    "drm_name": {
                      "description": "Nome do DRM.",
                      "example": "Steam",
                      "type": "string"
                    },
                    "drm_sku": {
                      "description": "ID de DRM exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
                      "example": "steam",
                      "type": "string"
                    },
                    "is_free": {
                      "type": "boolean"
                    },
                    "name": {
                      "description": "Nome do item.",
                      "example": "Game name",
                      "type": "string"
                    },
                    "sku": {
                      "description": "ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
                      "example": "game_01",
                      "type": "string"
                    },
                    "type": {
                      "description": "Tipo de item: `game_key`.",
                      "example": "game_key",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              }
            },
            "type": "object"
          },
          "quantity": {
            "default": 1,
            "description": "Quantidade do item.",
            "type": "number"
          }
        },
        "type": "object"
      },
      "Promotions_200-coupon-discount-reward": {
        "description": "Percentual de desconto.\nO preço do carrinho será reduzido usando um valor calculado usando essa porcentagem e, em seguida, arredondado para 2 casas decimais.",
        "properties": {
          "percent": {
            "example": "10.00",
            "type": "string"
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "Promotions_200-get-bonus-promotion-model": {
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/promotion_user-attribute_conditions_model-get"
          },
          "bonus": {
            "items": {
              "description": "A lista de itens que serão adicionados na compra do usuário como um bônus.",
              "properties": {
                "quantity": {
                  "default": 1,
                  "description": "Quantidade do item.",
                  "type": "number"
                },
                "sku": {
                  "default": "elven_shield",
                  "description": "SKU do item.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "condition": {
            "description": "Conjunto de itens que devem ser incluídos na compra para aplicar uma promoção. Se esse parâmetro for `null`, uma promoção será aplicada a todas as compras dentro de um projeto.",
            "items": {
              "properties": {
                "sku": {
                  "default": "elven_sword",
                  "description": "SKU do item.",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "excluded_promotions": {
            "$ref": "#/components/schemas/excluded_promotions"
          },
          "id": {
            "description": "ID de promoção. Identificador exclusivo da promoção dentro do projeto.",
            "type": "integer"
          },
          "is_enabled": {
            "default": true,
            "type": "boolean"
          },
          "limits": {
            "$ref": "#/components/schemas/Promotions_promotion_limits_response"
          },
          "name": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Nome da promoção. Deve conter pares chave/valor\nonde a chave é uma localidade com formato \"^[a-z]{2}-[A-Z]{2}$\", e valor sendo uma cadeia de caracteres.",
            "example": {
              "de-DE": "Sommersaison Bonus",
              "en-US": "Summer season bonus"
            },
            "type": "object"
          },
          "price_conditions": {
            "$ref": "#/components/schemas/price_conditions_bonus"
          },
          "promotion_periods": {
            "$ref": "#/components/schemas/promotion_periods"
          }
        },
        "type": "object"
      },
      "Promotions_200-get-promocode-promotion-model": {
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/promotion_user-attribute_conditions_model-get"
          },
          "bonus": {
            "$ref": "#/components/schemas/Promotions_coupon_bonus"
          },
          "discount": {
            "example": {
              "discount": {
                "percent": "10.99"
              }
            },
            "properties": {
              "percent": {
                "$ref": "#/components/schemas/Promotions_promotion_discount_percent"
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "discounted_items": {
            "$ref": "#/components/schemas/Promotions_discounted_items"
          },
          "excluded_promotions": {
            "$ref": "#/components/schemas/excluded_promotions"
          },
          "external_id": {
            "$ref": "#/components/schemas/Promotions_coupon-external_id"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/Promotions_coupon-is_enabled"
          },
          "item_price_conditions": {
            "$ref": "#/components/schemas/item_price_conditions_promocode"
          },
          "name": {
            "$ref": "#/components/schemas/Promotions_coupon_name"
          },
          "price_conditions": {
            "$ref": "#/components/schemas/price_conditions_promocode"
          },
          "promotion_periods": {
            "$ref": "#/components/schemas/promotion_periods"
          },
          "redeem_code_limit": {
            "$ref": "#/components/schemas/Promotions_redeem_code_limit"
          },
          "redeem_total_limit": {
            "$ref": "#/components/schemas/Promotions_coupon-redeem_total_limit"
          },
          "redeem_user_limit": {
            "$ref": "#/components/schemas/Promotions_coupon-redeem_user_limit"
          },
          "total_limit_state": {
            "$ref": "#/components/schemas/Promotions_promocode_total_limit_state"
          }
        },
        "type": "object"
      },
      "Promotions_200-get-promotion-model": {
        "properties": {
          "bonus": {
            "items": {
              "$ref": "#/components/schemas/Promotions_200-coupon-bonus-reward"
            },
            "type": "array"
          },
          "condition": {
            "$ref": "#/components/schemas/Promotions_promotion_condition"
          },
          "discount": {
            "example": {
              "discount": {
                "percent": "10.99"
              }
            },
            "properties": {
              "percent": {
                "$ref": "#/components/schemas/Promotions_promotion_discount_percent"
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "id": {
            "$ref": "#/components/schemas/Promotions_promotion_id"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/Promotions_coupon-is_enabled"
          },
          "limits": {
            "$ref": "#/components/schemas/Promotions_promotion_limits_response"
          },
          "name": {
            "$ref": "#/components/schemas/Promotions_coupon_name"
          },
          "promotion_periods": {
            "$ref": "#/components/schemas/promotion_periods"
          },
          "type": {
            "$ref": "#/components/schemas/Promotions_promotion_type"
          }
        },
        "type": "object"
      },
      "Promotions_200-get-unique-catalog-offer-promotion-model": {
        "properties": {
          "external_id": {
            "$ref": "#/components/schemas/Promotions_coupon-external_id"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/Promotions_coupon-is_enabled"
          },
          "items": {
            "$ref": "#/components/schemas/Promotions_unique_catalog_offer_items"
          },
          "name": {
            "$ref": "#/components/schemas/Promotions_coupon_name"
          },
          "promotion_periods": {
            "$ref": "#/components/schemas/promotion_periods"
          },
          "redeem_code_limit": {
            "$ref": "#/components/schemas/Promotions_redeem_code_limit"
          },
          "redeem_total_limit": {
            "$ref": "#/components/schemas/Promotions_coupon-redeem_total_limit"
          },
          "redeem_user_limit": {
            "$ref": "#/components/schemas/Promotions_coupon-redeem_user_limit"
          },
          "total_limit_state": {
            "$ref": "#/components/schemas/Promotions_coupon_total_limit_state"
          }
        },
        "type": "object"
      },
      "Promotions_200-promo-code-bonus-reward": {
        "properties": {
          "item": {
            "properties": {
              "description": {
                "description": "Descrição do item.",
                "example": "Game description",
                "type": "string"
              },
              "image_url": {
                "description": "URL da imagem.",
                "example": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
                "type": "string"
              },
              "name": {
                "description": "Nome do item.",
                "example": "Game name",
                "type": "string"
              },
              "sku": {
                "description": "ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
                "example": "game_01",
                "type": "string"
              },
              "type": {
                "description": "Tipo de item:`virtual_good`/`virtual_currency`/`bundle`/`physical_good`/`unit`.",
                "example": "unit",
                "type": "string"
              },
              "unit_items": {
                "description": "Se o item tiver o tipo de unidade, ele incluirá todos os itens da unidade. Na maioria dos casos, o usuário deve escolher um deles como um bônus de código promocional.",
                "items": {
                  "properties": {
                    "drm_name": {
                      "description": "Nome do DRM.",
                      "example": "Steam",
                      "type": "string"
                    },
                    "drm_sku": {
                      "description": "ID de DRM exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
                      "example": "steam",
                      "type": "string"
                    },
                    "is_free": {
                      "$ref": "#/components/schemas/value-is_free"
                    },
                    "name": {
                      "description": "Nome do item.",
                      "example": "Game name",
                      "type": "string"
                    },
                    "sku": {
                      "description": "ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
                      "example": "game_01",
                      "type": "string"
                    },
                    "type": {
                      "description": "Tipo de item: `game_key`.",
                      "example": "game_key",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              }
            },
            "type": "object"
          },
          "quantity": {
            "default": 1,
            "description": "Quantidade do item.",
            "type": "number"
          }
        },
        "type": "object"
      },
      "Promotions_422_limit_error": {
        "description": "O limite de resgate é atingido.",
        "example": {
          "errorCode": 9804,
          "errorMessage": "[0401-9804]: You have reached the coupon redemption limit.",
          "statusCode": 422
        },
        "properties": {
          "errorCode": {
            "example": 9804,
            "type": "integer"
          },
          "errorMessage": {
            "example": "[0401-9804]: You have reached the coupon redemption limit.",
            "type": "string"
          },
          "statusCode": {
            "example": 422,
            "type": "integer"
          },
          "transactionId": {
            "example": "x-x-x-x-transactionId-mock-x-x-x",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Promotions_422_reglock_error": {
        "description": "O cupom não está disponível na região do usuário.",
        "example": {
          "errorCode": 9804,
          "errorMessage": "[0401-9804]: You have reached the coupon redemption limit.",
          "statusCode": 422
        },
        "properties": {
          "errorCode": {
            "example": 9808,
            "type": "integer"
          },
          "errorMessage": {
            "example": "[0401-9808]: Coupon is not available in your region.",
            "type": "string"
          },
          "statusCode": {
            "example": 422,
            "type": "integer"
          },
          "transactionId": {
            "example": "x-x-x-x-transactionId-mock-x-x-x",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Promotions_cart_item_discount": {
        "default": "10.00",
        "description": "Percentual de desconto.\n\nO preço do item do carrinho será diminuído usando um valor\ncalculado usando essa porcentagem e, em seguida, arredondado\npara 2 casas decimais.",
        "example": "10.00",
        "nullable": false,
        "type": "string"
      },
      "Promotions_coupon-external_id": {
        "default": "coupon_external_id",
        "description": "ID de promoção exclusivo. O `external_id` só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
        "example": "coupon_external_id",
        "type": "string"
      },
      "Promotions_coupon-generate-count": {
        "example": 10,
        "maximum": 100000,
        "minimum": 1,
        "type": "integer"
      },
      "Promotions_coupon-is_enabled": {
        "default": true,
        "type": "boolean"
      },
      "Promotions_coupon-redeem_total_limit": {
        "default": 10,
        "description": "Limita o número total de cupons.",
        "example": 10,
        "type": [
          "integer",
          "null"
        ]
      },
      "Promotions_coupon-redeem_user_limit": {
        "default": 10,
        "description": "Limita o número total de cupons resgatados por um único usuário.",
        "example": 10,
        "type": [
          "integer",
          "null"
        ]
      },
      "Promotions_coupon_bonus": {
        "items": {
          "description": "A lista de itens que serão adicionados na compra do usuário como um bônus.",
          "properties": {
            "quantity": {
              "default": 1,
              "description": "Quantidade do item.",
              "type": "number"
            },
            "sku": {
              "default": "elven_shield",
              "description": "SKU do item.",
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": [
          "array",
          "null"
        ]
      },
      "Promotions_coupon_code": {
        "default": "WINTER2021",
        "description": "Código exclusivo que diferencia maiúsculas de minúsculas. Contém letras e números.",
        "example": "WINTER2021",
        "maxLength": 128,
        "minLength": 1,
        "pattern": "^[a-zA-Z0-9]+$",
        "type": "string"
      },
      "Promotions_coupon_date_end": {
        "default": "2020-04-15T18:16:00+05:00",
        "description": "Data em que sua promoção será concluída. Pode ser `null`.  Se `date_end` for `null`, a promoção terá um tempo ilimitado.",
        "format": "date-time",
        "type": [
          "string",
          "null"
        ]
      },
      "Promotions_coupon_date_start": {
        "default": "2020-04-15T18:16:00+05:00",
        "description": "Data em que sua promoção será iniciada.",
        "format": "date-time",
        "type": [
          "string",
          "null"
        ]
      },
      "Promotions_coupon_name": {
        "additionalProperties": {
          "type": "string"
        },
        "default": {
          "de-DE": "Gutscheintitel",
          "en-US": "Coupon title"
        },
        "description": "Nome da promoção. Deve conter pares chave/valor\nonde a chave é uma localidade com formato \"^[a-z]{2}-[A-Z]{2}$\", e valor sendo uma cadeia de caracteres.",
        "example": {
          "de-DE": "Gutscheintitel",
          "en-US": "Coupon title"
        },
        "type": "object"
      },
      "Promotions_coupon_total_limit_state": {
        "description": "Limites para cada código de cupom exclusivo.",
        "properties": {
          "available": {
            "description": "O número restante de vezes que um cupom pode ser usado.",
            "example": 3,
            "type": "integer"
          },
          "reserved": {
            "description": "O número reservado de um cupom.",
            "example": 3,
            "type": "integer"
          },
          "used": {
            "description": "O número de vezes que um cupom é usado.",
            "example": 5,
            "type": "integer"
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "Promotions_discounted_items": {
        "description": "Lista de itens que são descontados por um código promocional.",
        "items": {
          "description": "Desconto para itens específicos no carrinho.",
          "minItems": 1,
          "properties": {
            "discount": {
              "nullable": false,
              "properties": {
                "percent": {
                  "$ref": "#/components/schemas/Promotions_cart_item_discount"
                }
              },
              "required": [
                "percent"
              ],
              "type": "object"
            },
            "sku": {
              "default": "elven_shield",
              "description": "SKU do item.",
              "type": "string"
            }
          },
          "required": [
            "sku",
            "discount"
          ],
          "type": "object"
        },
        "type": [
          "array",
          "null"
        ]
      },
      "Promotions_discounted_items_verify": {
        "description": "Lista de itens que são descontados por um código promocional.",
        "items": {
          "description": "Desconto para itens específicos.",
          "properties": {
            "description": {
              "description": "Descrição do item.",
              "example": "Game description",
              "type": "string"
            },
            "discount": {
              "nullable": false,
              "properties": {
                "percent": {
                  "$ref": "#/components/schemas/Promotions_cart_item_discount"
                }
              },
              "type": "object"
            },
            "image_url": {
              "description": "URL da imagem.",
              "example": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
              "type": "string"
            },
            "name": {
              "description": "Nome do item.",
              "example": "Game name",
              "type": "string"
            },
            "sku": {
              "description": "ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
              "example": "game_01",
              "type": "string"
            },
            "type": {
              "description": "Tipo de item:`virtual_good`/`virtual_currency`/`bundle`/`physical_good`/`unit`.",
              "example": "unit",
              "type": "string"
            },
            "unit_items": {
              "description": "Se o item tiver o tipo de unidade, ele incluirá todos os itens da unidade. Na maioria dos casos, o usuário deve escolher um deles como um bônus de código promocional.",
              "items": {
                "properties": {
                  "drm_name": {
                    "description": "Nome do DRM.",
                    "example": "Steam",
                    "type": "string"
                  },
                  "drm_sku": {
                    "description": "ID de DRM exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
                    "example": "steam",
                    "type": "string"
                  },
                  "name": {
                    "description": "Nome do item.",
                    "example": "Game name",
                    "type": "string"
                  },
                  "sku": {
                    "description": "ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
                    "example": "game_01",
                    "type": "string"
                  },
                  "type": {
                    "description": "Tipo de item: `game_key`.",
                    "example": "game_key",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "type": [
          "array",
          "null"
        ]
      },
      "Promotions_is_enabled": {
        "description": "Se a promoção está habilitada ou não.",
        "example": true,
        "type": "boolean"
      },
      "Promotions_name": {
        "additionalProperties": {
          "type": "string"
        },
        "default": {
          "de-DE": "Artikeltitel",
          "en-US": "Item title"
        },
        "description": "Nome do item. Deve conter pares chave/valor\nonde chave é uma localidade com formato \"^[a-z]{2}-[A-Z]{2}$\", e o valor é uma cadeia de caracteres.",
        "example": {
          "de-DE": "Artikeltitel",
          "en-US": "Item title"
        },
        "type": "object"
      },
      "Promotions_promocode_total_limit_state": {
        "description": "Limites para cada código promocional exclusivo.",
        "properties": {
          "available": {
            "description": "O número restante de vezes que um código promocional pode ser usado.",
            "example": 3,
            "type": "integer"
          },
          "reserved": {
            "description": "O número reservado de um código promocional.",
            "example": 3,
            "type": "integer"
          },
          "used": {
            "description": "O número de vezes que um código promocional é usado.",
            "example": 5,
            "type": "integer"
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "Promotions_promotion_condition": {
        "items": {
          "description": "A lista de itens pelos quais o usuário recebeu um bônus.",
          "properties": {
            "item": {
              "properties": {
                "description": {
                  "description": "Descrição do item.",
                  "example": "Game description",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "external_id": {
                  "description": "ID externo de promoção. Identificador exclusivo da promoção dentro do projeto.",
                  "maxLength": 255,
                  "minLength": 1,
                  "pattern": "^[-_.\\d\\w]+$",
                  "type": "string"
                },
                "image_url": {
                  "description": "URL da imagem.",
                  "example": "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "is_enabled": {
                  "type": "boolean"
                },
                "name": {
                  "$ref": "#/components/schemas/Promotions_name"
                },
                "redeem_code_limit": {
                  "$ref": "#/components/schemas/Promotions_redeem_code_limit"
                },
                "redeem_total_limit": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "redeem_user_limit": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "sku": {
                  "$ref": "#/components/schemas/Promotions_sku"
                },
                "type": {
                  "$ref": "#/components/schemas/Promotions_type"
                }
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "type": [
          "array",
          "null"
        ]
      },
      "Promotions_promotion_discount_percent": {
        "default": "10.00",
        "description": "Percentual de desconto.\nO preço do carrinho será reduzido usando um valor calculado usando essa porcentagem e, em seguida, arredondado para 2 casas decimais.",
        "example": "10.00",
        "type": [
          "string",
          "null"
        ]
      },
      "Promotions_promotion_id": {
        "description": "ID de promoção. Identificador exclusivo da promoção dentro do projeto.",
        "example": 1,
        "type": "integer"
      },
      "Promotions_promotion_limits": {
        "description": "Limites da promoção.",
        "properties": {
          "per_user": {
            "description": "Limitação de promoção para um usuário separado.",
            "type": [
              "integer",
              "null"
            ]
          },
          "recurrent_schedule": {
            "$ref": "#/components/schemas/promotion_recurrent_schedule_response"
          }
        },
        "type": "object"
      },
      "Promotions_promotion_limits_response": {
        "description": "Limites da promoção.",
        "properties": {
          "per_item": {
            "description": "Limitação global de itens.",
            "example": 10,
            "type": [
              "integer",
              "null"
            ]
          },
          "per_user": {
            "description": "Limitação de promoção para um usuário separado.",
            "properties": {
              "total": {
                "description": "Número total de itens que um usuário pode comprar. Você pode definir esse número na Conta de Distribuidor ou usar pontos de extremidade de administração para entidades da Store (limitação de objetos).",
                "example": 5,
                "type": "integer"
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "recurrent_schedule": {
            "$ref": "#/components/schemas/promotion_recurrent_schedule_response"
          }
        },
        "type": "object"
      },
      "Promotions_promotion_type": {
        "description": "Tipo de promoção.",
        "example": "item_discount",
        "type": "string"
      },
      "Promotions_redeem_code_limit": {
        "default": 10,
        "description": "Número de resgates por código.",
        "example": 10,
        "type": [
          "integer",
          "null"
        ]
      },
      "Promotions_selected_unit_items": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "A recompensa selecionada por um usuário.\nA chave de objeto é um SKU de uma unidade, e o valor é um SKU de um dos itens em uma unidade.",
        "example": {
          "game_1": "game_1_steam",
          "game_2": "game_2_playstation"
        },
        "type": "object"
      },
      "Promotions_sku": {
        "description": "ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
        "example": "booster_mega_1",
        "type": "string"
      },
      "Promotions_type": {
        "description": "Tipo de item:`virtual_good`/`virtual_currency`/`bundle`/`physical_good`/`unit`.",
        "type": "string"
      },
      "Promotions_unique_catalog_offer_items": {
        "description": "Uma lista de itens SKU que estão disponíveis depois de usar a oferta de catálogo exclusivo.",
        "items": {
          "$ref": "#/components/schemas/sku"
        },
        "type": "array"
      },
      "Upsell-422-invalid-request": {
        "properties": {
          "errorCode": {
            "example": 1102,
            "type": "integer"
          },
          "errorMessage": {
            "example": "[0401-1102]: Unprocessable entity. The property `is_enabled` is required",
            "type": "string"
          },
          "statusCode": {
            "example": 422,
            "type": "integer"
          },
          "transactionId": {
            "example": "x-x-x-x-transactionId-mock-x-x-x",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Upsell-model": {
        "description": "Tipo de venda cruzada.",
        "properties": {
          "is_enabled": {
            "$ref": "#/components/schemas/is_enabled"
          },
          "items": {
            "default": null,
            "description": "Matriz de itens SKU.",
            "example": [
              "game_sku"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "type": {
            "enum": [
              "fixed_list"
            ],
            "example": true,
            "type": "string"
          }
        },
        "required": [
          "is_enabled",
          "type",
          "items"
        ],
        "type": "object"
      },
      "Upsell-model-not-fixed-list": {
        "description": "Tipo de venda cruzada.",
        "properties": {
          "is_enabled": {
            "$ref": "#/components/schemas/is_enabled"
          },
          "items": {
            "default": null,
            "description": "Matriz vazia de SKU de itens.",
            "example": [
              null
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "type": {
            "enum": [
              "most_sellable",
              "only_promotions"
            ],
            "example": true,
            "type": "string"
          }
        },
        "required": [
          "is_enabled",
          "type"
        ],
        "type": "object"
      },
      "Upsell_item": {
        "properties": {
          "attributes": {
            "$ref": "#/components/schemas/Virtual-Items-Currency_client-attributes"
          },
          "can_be_bought": {
            "$ref": "#/components/schemas/Can_be_bought"
          },
          "custom_attributes": {
            "$ref": "#/components/schemas/item-custom-attributes-response"
          },
          "description": {
            "description": "Descrição do item.",
            "example": "Big Rocket - description",
            "type": "string"
          },
          "groups": {
            "$ref": "#/components/schemas/Virtual-Items-Currency_admin-groups-response"
          },
          "image_url": {
            "description": "URL da imagem.",
            "example": "https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png",
            "type": "string"
          },
          "is_free": {
            "$ref": "#/components/schemas/value-is_free"
          },
          "limits": {
            "$ref": "#/components/schemas/Catalog_item_limits"
          },
          "name": {
            "description": "Nome do item.",
            "example": "Big Rocket",
            "type": "string"
          },
          "periods": {
            "$ref": "#/components/schemas/item-periods-response"
          },
          "price": {
            "description": "Preços dos itens.",
            "properties": {
              "amount": {
                "description": "Preço do item com desconto.",
                "example": "100.99",
                "type": "string"
              },
              "amount_without_discount": {
                "description": "Preço do item.",
                "example": "100.99",
                "type": "string"
              },
              "currency": {
                "description": "Moeda do preço do item. Código de três letras de acordo com [a ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).",
                "example": "USD",
                "type": "string"
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "promotions": {
            "$ref": "#/components/schemas/Catalog_item_promotions"
          },
          "sku": {
            "description": "ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
            "example": "big_rocket",
            "type": "string"
          },
          "type": {
            "description": "Tipo de item: `virtual_good`/`virtual_currency`/`bundle`.",
            "example": "virtual_good",
            "type": "string"
          },
          "virtual_item_type": {
            "description": "Type of virtual item.\n\nPossible values:\n- `consumable` — An item that disappears from the inventory after use (e.g., ammo).\n- `non_consumable` — An item that stays in the inventory for an unlimited period of time.\n- `non_renewing_subscription` — Time-limited item that can represent access to services or content for a limited period of time.",
            "enum": [
              "consumable",
              "non_consumable",
              "non_renewing_subscription"
            ],
            "example": "non-consumable",
            "type": "string"
          },
          "virtual_prices": {
            "description": "Preços virtuais.",
            "items": {
              "description": "Preço virtual.",
              "properties": {
                "amount": {
                  "description": "Preço do item com desconto em moeda virtual.",
                  "example": 100,
                  "type": "integer"
                },
                "amount_without_discount": {
                  "description": "Preço do item.",
                  "example": 200,
                  "type": "integer"
                },
                "description": {
                  "description": "Descrição da moeda virtual.",
                  "example": "Big Rocket - description",
                  "type": "string"
                },
                "image_url": {
                  "description": "Imagem da moeda virtual.",
                  "example": "http://image.png",
                  "type": "string"
                },
                "is_default": {
                  "description": "Se o preço é padrão para o item.",
                  "example": true,
                  "type": "boolean"
                },
                "name": {
                  "description": "Nome da moeda virtual.",
                  "example": "SHOTGUN FOR TRUE RAIDERS",
                  "type": "string"
                },
                "sku": {
                  "description": "SKU da moeda virtual.",
                  "example": "vc_test",
                  "type": "string"
                },
                "type": {
                  "description": "Tipo de moeda virtual.",
                  "example": "virtual_currency",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "vp_rewards": {
            "$ref": "#/components/schemas/client-item-value-point-reward"
          }
        },
        "type": "object"
      },
      "Upsell_item-list": {
        "properties": {
          "has_more": {
            "$ref": "#/components/schemas/Pagination_has-more"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/Upsell_item"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "User-limit-coupon": {
        "properties": {
          "per_user": {
            "properties": {
              "available": {
                "description": "O número restante de vezes que um usuário pode usar um cupom.",
                "example": 9,
                "type": "integer"
              },
              "total": {
                "description": "O número máximo de vezes que um usuário pode usar um cupom.",
                "example": 10,
                "type": "integer"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "User-limit-promo-code": {
        "properties": {
          "per_user": {
            "properties": {
              "available": {
                "description": "O número restante de vezes que um usuário pode usar um código promocional.",
                "example": 9,
                "type": "integer"
              },
              "total": {
                "description": "O número máximo de vezes que um usuário pode usar um código promocional.",
                "example": 10,
                "type": "integer"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "User-limit-promotion": {
        "properties": {
          "per_user": {
            "properties": {
              "available": {
                "description": "O número restante de vezes que um usuário pode usar uma promoção.",
                "example": 9,
                "type": "integer"
              },
              "total": {
                "description": "O número máximo de vezes que um usuário pode usar uma promoção.",
                "example": 10,
                "type": "integer"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "User-limit_available": {
        "description": "Número restante de itens ou usos da promoção disponíveis para o usuário dentro do limite aplicado.",
        "minimum": 1,
        "type": "integer"
      },
      "User-limit_available_flexible": {
        "description": "Número restante de itens ou usos da promoção disponíveis para o usuário dentro do limite aplicado.",
        "minimum": 0,
        "type": "integer"
      },
      "User-limit_user": {
        "properties": {
          "user_external_id": {
            "$ref": "#/components/schemas/User-limit_user-external-id"
          }
        },
        "required": [
          "user_external_id"
        ],
        "type": "object"
      },
      "User-limit_user-external-id": {
        "description": "ID de usuário externo.",
        "minLength": 1,
        "pattern": "^\\S+$",
        "type": "string"
      },
      "User-limit_user_flexible": {
        "properties": {
          "user_external_id": {
            "$ref": "#/components/schemas/User-limit_user-external-id"
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "Value-point-item-model": {
        "properties": {
          "can_delete": {
            "description": "Se um ponto de valor pode ser excluído ou não. Se for `false`, você não pode excluir o ponto de valor, pois há uma ou mais cadeias de recompensa nas quais ele é usado. Para excluir o ponto de valor, primeiro [exclua](https://developers.xsolla.com/pt/api/shop-builder/operation/admin-delete-reward-chain/) todas as cadeias de recompensa que o contêm.\n\nSe for `true`, o ponto de valor não é usado em nenhuma cadeia de recompensas e você poderá [excluí-lo](https://developers.xsolla.com/pt/api/shop-builder/operation/admin-delete-value-point/).",
            "type": "boolean"
          },
          "description": {
            "$ref": "#/components/schemas/description-localization-object"
          },
          "image_url": {
            "type": "string"
          },
          "is_clan": {
            "$ref": "#/components/schemas/is_clan"
          },
          "is_enabled": {
            "type": "boolean"
          },
          "long_description": {
            "$ref": "#/components/schemas/long-description-localization-object"
          },
          "media_list": {
            "description": "Recursos adicionais do item, como capturas de tela, vídeos de jogabilidade e assim por diante.",
            "example": [
              {
                "type": "image",
                "url": "https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"
              }
            ],
            "items": {
              "properties": {
                "type": {
                  "description": "Tipo de mídia: `image`/`video`.",
                  "enum": [
                    "image",
                    "video"
                  ],
                  "example": "image",
                  "type": "string"
                },
                "url": {
                  "description": "Arquivo de recurso.",
                  "example": "https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "order": {
            "description": "Define a ordem do arranjo.",
            "example": 1,
            "type": "integer"
          },
          "sku": {
            "description": "ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
            "example": "booster_mega_1",
            "maxLength": 255,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9_\\-–.]*$",
            "type": "string"
          },
          "type": {
            "description": "Tipo de item.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Value-points-item-model": {
        "properties": {
          "description": {
            "$ref": "#/components/schemas/description-localization-object"
          },
          "image_url": {
            "type": "string"
          },
          "is_clan": {
            "$ref": "#/components/schemas/is_clan"
          },
          "is_enabled": {
            "type": "boolean"
          },
          "long_description": {
            "$ref": "#/components/schemas/long-description-localization-object"
          },
          "media_list": {
            "description": "Recursos adicionais do item, como capturas de tela, vídeos de jogabilidade e assim por diante.",
            "example": [
              {
                "type": "image",
                "url": "https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"
              }
            ],
            "items": {
              "properties": {
                "type": {
                  "description": "Tipo de mídia: `image`/`video`.",
                  "enum": [
                    "image",
                    "video"
                  ],
                  "example": "image",
                  "type": "string"
                },
                "url": {
                  "description": "Arquivo de recurso.",
                  "example": "https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "order": {
            "description": "Define a ordem do arranjo.",
            "example": 1,
            "type": "integer"
          },
          "sku": {
            "description": "ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
            "example": "booster_mega_1",
            "maxLength": 255,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9_\\-–.]*$",
            "type": "string"
          },
          "type": {
            "description": "Tipo de item.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Virtual-Items-Currency_admin-groups-response": {
        "default": [],
        "description": "Grupo aos quais o item pertence.",
        "example": [
          {
            "external_id": "horror",
            "name": {
              "en": "Horror"
            }
          }
        ],
        "items": {
          "properties": {
            "external_id": {
              "example": "horror",
              "type": "string"
            },
            "name": {
              "additionalProperties": {
                "type": "string"
              },
              "default": {
                "en": "Horror"
              },
              "description": "Nome do item. Deve conter pares chave/valor\nonde chave é uma localização com o formato \"^[a-z]{2}\", e o valor é uma cadeia de caracteres.",
              "example": {
                "de": "Horror",
                "en": "Horror"
              },
              "type": "object"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "Virtual-Items-Currency_client-attributes": {
        "default": [],
        "description": "Lista de atributos e seus valores correspondentes ao item. Pode ser usado para a filtragem de catálogos.",
        "example": {
          "value": {
            "external_id": "genre",
            "name": "Жанр",
            "values": [
              {
                "external_id": "genre_e3364991f92e751689a68b96598a5a5a84010b85",
                "value": "Casual"
              },
              {
                "external_id": "genre_eba07bfd0f982940773cba3744d97264dd58acd7",
                "value": "Strategy"
              },
              {
                "external_id": "genre_b8d0c6d8f0524c2b2d79ebb93aa3cd0e8b5199a8",
                "value": "Mobile"
              }
            ]
          }
        },
        "items": {
          "properties": {
            "external_id": {
              "$ref": "#/components/schemas/admin-attribute-external_id"
            },
            "name": {
              "additionalProperties": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "description": "Nome do atributo.",
              "example": "Genre",
              "type": "object"
            },
            "values": {
              "items": {
                "properties": {
                  "external_id": {
                    "$ref": "#/components/schemas/value-external_id"
                  },
                  "value": {
                    "description": "Valor do atributo.",
                    "example": "Strategy",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "active_promotions_count": {
        "description": "Número de promoções ativas.",
        "type": "integer"
      },
      "admin-attribute-external_id": {
        "description": "ID de atributo exclusivo. O `external_id` só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, traços e sublinhados.",
        "example": "attribute_1",
        "maxLength": 255,
        "minLength": 1,
        "pattern": "^[a-zA-Z0-9-_]+$",
        "type": "string"
      },
      "admin-calendar-hard-daily-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/calendar-hard-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária calendar_hard para respostas administrativas.",
            "properties": {
              "date_end": {
                "$ref": "#/components/schemas/daily_chain_date_end"
              },
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "id": {
                "$ref": "#/components/schemas/daily_chain_id"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "number_of_steps": {
                "$ref": "#/components/schemas/daily_chain_number_of_step"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "steps": {
                "items": {
                  "$ref": "#/components/schemas/admin-daily-chain-step-model"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        ]
      },
      "admin-calendar-hard-daily-chain-short-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/calendar-hard-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária `calendar_hard` (versão curta).",
            "properties": {
              "date_end": {
                "$ref": "#/components/schemas/daily_chain_date_end"
              },
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "id": {
                "$ref": "#/components/schemas/daily_chain_id"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "number_of_steps": {
                "$ref": "#/components/schemas/daily_chain_number_of_step"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              }
            },
            "type": "object"
          }
        ]
      },
      "admin-daily-chain-item-model": {
        "properties": {
          "description": {
            "$ref": "#/components/schemas/long-description-localization-object"
          },
          "image_url": {
            "$ref": "#/components/schemas/image_url"
          },
          "item_id": {
            "$ref": "#/components/schemas/item_id"
          },
          "name": {
            "$ref": "#/components/schemas/two-letter-locale"
          },
          "quantity": {
            "description": "Quantidade de itens.",
            "example": 1,
            "minimum": 1,
            "type": "integer"
          },
          "sku": {
            "$ref": "#/components/schemas/sku"
          },
          "type": {
            "$ref": "#/components/schemas/item_type"
          }
        },
        "type": "object"
      },
      "admin-daily-chain-long-model": {
        "discriminator": {
          "mapping": {
            "calendar_hard": "#/components/schemas/admin-calendar-hard-daily-chain-model",
            "rolling_skippable": "#/components/schemas/admin-rolling-skippable-daily-chain-model",
            "rolling_unskippable": "#/components/schemas/admin-rolling-unskippable-daily-chain-model"
          },
          "propertyName": "type"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/admin-calendar-hard-daily-chain-model"
          },
          {
            "$ref": "#/components/schemas/admin-rolling-skippable-daily-chain-model"
          },
          {
            "$ref": "#/components/schemas/admin-rolling-unskippable-daily-chain-model"
          }
        ]
      },
      "admin-daily-chain-short-model": {
        "discriminator": {
          "mapping": {
            "calendar_hard": "#/components/schemas/admin-calendar-hard-daily-chain-short-model",
            "rolling_skippable": "#/components/schemas/admin-rolling-skippable-daily-chain-short-model",
            "rolling_unskippable": "#/components/schemas/admin-rolling-unskippable-daily-chain-short-model"
          },
          "propertyName": "type"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/admin-calendar-hard-daily-chain-short-model"
          },
          {
            "$ref": "#/components/schemas/admin-rolling-skippable-daily-chain-short-model"
          },
          {
            "$ref": "#/components/schemas/admin-rolling-unskippable-daily-chain-short-model"
          }
        ]
      },
      "admin-daily-chain-step-model": {
        "description": "Uma etapa de recompensa diária.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/admin-daily-chain-item-model"
            },
            "type": "array"
          },
          "step_id": {
            "$ref": "#/components/schemas/daily_chain_step_id"
          },
          "step_number": {
            "$ref": "#/components/schemas/daily_chain_step_number"
          }
        },
        "type": "object"
      },
      "admin-get-reward-chain-item-basic-model": {
        "description": "Uma cadeia de recompensas.",
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/chain_user-attribute_conditions_model-get"
          },
          "description": {
            "$ref": "#/components/schemas/description-localization-object"
          },
          "image_url": {
            "$ref": "#/components/schemas/image_url"
          },
          "is_always_visible": {
            "$ref": "#/components/schemas/chain_is_always_visible"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/is_enabled"
          },
          "is_reset_after_end": {
            "$ref": "#/components/schemas/is_reset_after_end"
          },
          "long_description": {
            "$ref": "#/components/schemas/long-description-localization-object"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "periods": {
            "$ref": "#/components/schemas/periods"
          },
          "recurrent_schedule": {
            "$ref": "#/components/schemas/admin_recurrent_schedule"
          },
          "reward_chain_id": {
            "$ref": "#/components/schemas/reward_chain_id"
          },
          "value_point": {
            "properties": {
              "amount": {
                "$ref": "#/components/schemas/value-point-amount"
              },
              "description": {
                "$ref": "#/components/schemas/value-point-description"
              },
              "image_url": {
                "$ref": "#/components/schemas/Common_admin-image_url"
              },
              "is_clan": {
                "$ref": "#/components/schemas/is_clan"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "long_description": {
                "$ref": "#/components/schemas/value-point-long-description"
              },
              "media_list": {
                "$ref": "#/components/schemas/media_list"
              },
              "name": {
                "$ref": "#/components/schemas/value-point-name"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "sku": {
                "$ref": "#/components/schemas/value-point-sku"
              },
              "type": {
                "example": "value_point",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "admin-get-reward-chain-item-clan-basic-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/admin-get-reward-chain-item-basic-model"
          },
          {
            "description": "Cadeia de recompensas de clã.",
            "properties": {
              "clan_type": {
                "$ref": "#/components/schemas/clan_type"
              },
              "popup_header": {
                "$ref": "#/components/schemas/popup_header-two-letter-locale"
              },
              "popup_image_url": {
                "$ref": "#/components/schemas/popup_image_url"
              },
              "popup_instruction": {
                "$ref": "#/components/schemas/popup_instruction-two-letter-locale"
              },
              "value_point": {
                "description": "Um ponto de valor configurado para uma cadeia de recompensas de clã.",
                "properties": {
                  "amount": {
                    "$ref": "#/components/schemas/value-point-amount"
                  },
                  "description": {
                    "$ref": "#/components/schemas/value-point-description"
                  },
                  "image_url": {
                    "$ref": "#/components/schemas/Common_admin-image_url"
                  },
                  "is_clan": {
                    "$ref": "#/components/schemas/is_clan"
                  },
                  "is_enabled": {
                    "$ref": "#/components/schemas/is_enabled"
                  },
                  "long_description": {
                    "$ref": "#/components/schemas/value-point-long-description"
                  },
                  "media_list": {
                    "$ref": "#/components/schemas/media_list"
                  },
                  "name": {
                    "$ref": "#/components/schemas/value-point-name"
                  },
                  "order": {
                    "$ref": "#/components/schemas/order"
                  },
                  "sku": {
                    "$ref": "#/components/schemas/value-point-sku"
                  },
                  "type": {
                    "example": "value_point",
                    "type": "string"
                  }
                },
                "required": [
                  "sku"
                ],
                "type": "object"
              }
            },
            "type": "object"
          }
        ]
      },
      "admin-get-reward-chain-item-clan-full-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/admin-get-reward-chain-item-full-model"
          },
          {
            "description": "Cadeia de recompensas de clã.",
            "properties": {
              "clan_type": {
                "$ref": "#/components/schemas/clan_type"
              },
              "popup_header": {
                "$ref": "#/components/schemas/popup_header-two-letter-locale"
              },
              "popup_image_url": {
                "$ref": "#/components/schemas/popup_image_url"
              },
              "popup_instruction": {
                "$ref": "#/components/schemas/popup_instruction-two-letter-locale"
              },
              "top_contributors": {
                "$ref": "#/components/schemas/top_contributors"
              },
              "value_point": {
                "description": "Um ponto de valor configurado para uma cadeia de recompensas de clã.",
                "properties": {
                  "description": {
                    "$ref": "#/components/schemas/description-localization-object"
                  },
                  "image_url": {
                    "$ref": "#/components/schemas/image_url"
                  },
                  "is_clan": {
                    "$ref": "#/components/schemas/is_clan"
                  },
                  "is_enabled": {
                    "$ref": "#/components/schemas/is_enabled"
                  },
                  "long_description": {
                    "$ref": "#/components/schemas/long-description-localization-object"
                  },
                  "media_list": {
                    "$ref": "#/components/schemas/media_list"
                  },
                  "name": {
                    "$ref": "#/components/schemas/name-localization-object"
                  },
                  "order": {
                    "$ref": "#/components/schemas/order"
                  },
                  "sku": {
                    "$ref": "#/components/schemas/sku"
                  },
                  "type": {
                    "type": "string"
                  }
                },
                "required": [
                  "sku"
                ],
                "type": "object"
              }
            },
            "type": "object"
          }
        ]
      },
      "admin-get-reward-chain-item-full-model": {
        "description": "Uma cadeia de recompensas.",
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/chain_user-attribute_conditions_model-get"
          },
          "description": {
            "$ref": "#/components/schemas/description-localization-object"
          },
          "image_url": {
            "$ref": "#/components/schemas/image_url"
          },
          "is_always_visible": {
            "$ref": "#/components/schemas/chain_is_always_visible"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/is_enabled"
          },
          "is_reset_after_end": {
            "$ref": "#/components/schemas/is_reset_after_end"
          },
          "long_description": {
            "$ref": "#/components/schemas/long-description-localization-object"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "periods": {
            "$ref": "#/components/schemas/periods"
          },
          "recurrent_schedule": {
            "$ref": "#/components/schemas/admin_recurrent_schedule"
          },
          "reward_chain_id": {
            "$ref": "#/components/schemas/reward_chain_id"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/reward_step_short"
            },
            "type": "array"
          },
          "value_point": {
            "properties": {
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "image_url": {
                "$ref": "#/components/schemas/image_url"
              },
              "is_clan": {
                "$ref": "#/components/schemas/is_clan"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "long_description": {
                "$ref": "#/components/schemas/long-description-localization-object"
              },
              "media_list": {
                "$ref": "#/components/schemas/media_list"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "sku": {
                "$ref": "#/components/schemas/sku"
              },
              "type": {
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "admin-item-value-point-reward": {
        "properties": {
          "amount": {
            "description": "Quantidade de pontos de valor.",
            "type": "integer"
          },
          "image_url": {
            "$ref": "#/components/schemas/Common_admin-image_url"
          },
          "item_id": {
            "$ref": "#/components/schemas/item_id"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "sku": {
            "$ref": "#/components/schemas/sku"
          }
        },
        "type": "object"
      },
      "admin-offer-chain-item-model": {
        "properties": {
          "description": {
            "$ref": "#/components/schemas/description-localization-object"
          },
          "image_url": {
            "$ref": "#/components/schemas/image_url"
          },
          "is_free": {
            "$ref": "#/components/schemas/value-is_free"
          },
          "item_id": {
            "$ref": "#/components/schemas/item_id"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "quantity": {
            "description": "Quantidade de itens.",
            "example": 1,
            "minimum": 1,
            "type": "integer"
          },
          "sku": {
            "$ref": "#/components/schemas/sku"
          },
          "type": {
            "$ref": "#/components/schemas/item_type"
          }
        },
        "type": "object"
      },
      "admin-offer-chain-long-model": {
        "description": "Uma cadeia de ofertas.",
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/chain_user-attribute_conditions_model-get"
          },
          "date_end": {
            "$ref": "#/components/schemas/offer_chain_date_end"
          },
          "date_start": {
            "$ref": "#/components/schemas/offer_chain_date_start"
          },
          "description": {
            "$ref": "#/components/schemas/description-localization-object"
          },
          "id": {
            "$ref": "#/components/schemas/offer_chain_id"
          },
          "is_always_visible": {
            "$ref": "#/components/schemas/chain_is_always_visible"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/is_enabled"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "recurrent_schedule": {
            "$ref": "#/components/schemas/offer_chain_recurrent_schedule"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/admin-offer-chain-step-model"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "admin-offer-chain-short-model": {
        "description": "Uma cadeia de ofertas.",
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/chain_user-attribute_conditions_model-get"
          },
          "date_end": {
            "$ref": "#/components/schemas/offer_chain_date_end"
          },
          "date_start": {
            "$ref": "#/components/schemas/offer_chain_date_start"
          },
          "description": {
            "$ref": "#/components/schemas/description-localization-object"
          },
          "id": {
            "$ref": "#/components/schemas/offer_chain_id"
          },
          "is_always_visible": {
            "$ref": "#/components/schemas/chain_is_always_visible"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/is_enabled"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "recurrent_schedule": {
            "$ref": "#/components/schemas/offer_chain_recurrent_schedule"
          }
        },
        "type": "object"
      },
      "admin-offer-chain-step-model": {
        "description": "Etapa de cadeia de ofertas.",
        "properties": {
          "is_free": {
            "$ref": "#/components/schemas/offer_chain_is_free"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/admin-offer-chain-item-model"
            },
            "type": "array"
          },
          "step_id": {
            "$ref": "#/components/schemas/offer_chain_step_id"
          },
          "step_number": {
            "$ref": "#/components/schemas/offer_chain_step_number"
          },
          "step_price": {
            "$ref": "#/components/schemas/offer_chain_step_price"
          }
        },
        "type": "object"
      },
      "admin-promotions_200-get-coupon-promotion-model": {
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/promotion_user-attribute_conditions_model-get"
          },
          "bonus": {
            "$ref": "#/components/schemas/Promotions_coupon_bonus"
          },
          "external_id": {
            "$ref": "#/components/schemas/Promotions_coupon-external_id"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/Promotions_coupon-is_enabled"
          },
          "name": {
            "$ref": "#/components/schemas/Promotions_coupon_name"
          },
          "promotion_periods": {
            "$ref": "#/components/schemas/promotion_periods"
          },
          "redeem_code_limit": {
            "$ref": "#/components/schemas/Promotions_redeem_code_limit"
          },
          "redeem_total_limit": {
            "$ref": "#/components/schemas/Promotions_coupon-redeem_total_limit"
          },
          "redeem_user_limit": {
            "$ref": "#/components/schemas/Promotions_coupon-redeem_user_limit"
          },
          "total_limit_state": {
            "$ref": "#/components/schemas/Promotions_coupon_total_limit_state"
          }
        },
        "type": "object"
      },
      "admin-promotions_200-get-redeemable-coupon-promotion-model": {
        "properties": {
          "bonus": {
            "$ref": "#/components/schemas/Promotions_coupon_bonus"
          },
          "discount": {
            "description": "Apenas para códigos promocionais.",
            "example": {
              "discount": {
                "percent": "10.99"
              }
            },
            "properties": {
              "percent": {
                "default": "10.00",
                "description": "Percentual de desconto.\nO preço do carrinho será reduzido usando um valor calculado usando essa porcentagem e, em seguida, arredondado para 2 casas decimais.",
                "example": "10.00",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": [
              "object",
              "null"
            ]
          },
          "discounted_items": {
            "description": "Lista de itens que são descontados por um código promocional. Apenas para códigos promocionais.",
            "items": {
              "description": "Desconto para itens específicos no carrinho.",
              "minItems": 1,
              "properties": {
                "discount": {
                  "nullable": false,
                  "properties": {
                    "percent": {
                      "$ref": "#/components/schemas/Promotions_cart_item_discount"
                    }
                  },
                  "required": [
                    "percent"
                  ],
                  "type": "object"
                },
                "sku": {
                  "default": "elven_shield",
                  "description": "SKU do item.",
                  "type": "string"
                }
              },
              "required": [
                "sku",
                "discount"
              ],
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "external_id": {
            "$ref": "#/components/schemas/Promotions_coupon-external_id"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/Promotions_coupon-is_enabled"
          },
          "name": {
            "$ref": "#/components/schemas/Promotions_coupon_name"
          },
          "promotion_periods": {
            "$ref": "#/components/schemas/promotion_periods"
          },
          "redeem_code_limit": {
            "$ref": "#/components/schemas/Promotions_redeem_code_limit"
          },
          "redeem_total_limit": {
            "$ref": "#/components/schemas/Promotions_coupon-redeem_total_limit"
          },
          "redeem_user_limit": {
            "$ref": "#/components/schemas/Promotions_coupon-redeem_user_limit"
          },
          "total_limit_state": {
            "$ref": "#/components/schemas/Promotions_coupon_total_limit_state"
          }
        },
        "type": "object"
      },
      "admin-rolling-skippable-daily-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/rolling-skippable-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária rolling_skippable para respostas administrativas.",
            "properties": {
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "id": {
                "$ref": "#/components/schemas/daily_chain_id"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "number_of_steps": {
                "$ref": "#/components/schemas/daily_chain_number_of_step"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "steps": {
                "items": {
                  "$ref": "#/components/schemas/admin-daily-chain-step-model"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        ]
      },
      "admin-rolling-skippable-daily-chain-short-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/rolling-skippable-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária `rolling_skippable` (versão curta).",
            "properties": {
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "id": {
                "$ref": "#/components/schemas/daily_chain_id"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "number_of_steps": {
                "$ref": "#/components/schemas/daily_chain_number_of_step"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              }
            },
            "type": "object"
          }
        ]
      },
      "admin-rolling-unskippable-daily-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/rolling-unskippable-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária `rolling_unskippable` para respostas administrativas.",
            "properties": {
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "id": {
                "$ref": "#/components/schemas/daily_chain_id"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "number_of_steps": {
                "$ref": "#/components/schemas/daily_chain_number_of_step"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "steps": {
                "items": {
                  "$ref": "#/components/schemas/admin-daily-chain-step-model"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        ]
      },
      "admin-rolling-unskippable-daily-chain-short-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/rolling-unskippable-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária `rolling_unskippable` (versão curta).",
            "properties": {
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "id": {
                "$ref": "#/components/schemas/daily_chain_id"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "number_of_steps": {
                "$ref": "#/components/schemas/daily_chain_number_of_step"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              }
            },
            "type": "object"
          }
        ]
      },
      "admin_recurrent_schedule": {
        "description": "Período de reinicialização recorrente da cadeia de recompensas.",
        "oneOf": [
          {
            "description": "Redefinição semanal da cadeia de recompensas.",
            "properties": {
              "day_of_week": {
                "$ref": "#/components/schemas/day_of_week"
              },
              "displayable_reset_next_date": {
                "$ref": "#/components/schemas/displayable_reset_next_date"
              },
              "displayable_reset_start_date": {
                "$ref": "#/components/schemas/displayable_reset_start_date"
              },
              "interval_type": {
                "$ref": "#/components/schemas/interval_type_weekly"
              },
              "reset_next_date": {
                "$ref": "#/components/schemas/reset_next_date"
              },
              "time": {
                "$ref": "#/components/schemas/time"
              }
            },
            "title": "interval_type = weekly",
            "type": "object"
          },
          {
            "description": "Redefinição mensal da cadeia de recompensas.",
            "properties": {
              "day_of_month": {
                "$ref": "#/components/schemas/day_of_month"
              },
              "displayable_reset_next_date": {
                "$ref": "#/components/schemas/displayable_reset_next_date"
              },
              "displayable_reset_start_date": {
                "$ref": "#/components/schemas/displayable_reset_start_date"
              },
              "interval_type": {
                "$ref": "#/components/schemas/interval_type_monthly"
              },
              "reset_next_date": {
                "$ref": "#/components/schemas/reset_next_date"
              },
              "time": {
                "$ref": "#/components/schemas/time"
              }
            },
            "title": "interval_type = monthly",
            "type": "object"
          },
          {
            "description": "Redefinição da cadeia de recompensas realizada em um intervalo de tempo especificado em horas.",
            "properties": {
              "displayable_reset_next_date": {
                "$ref": "#/components/schemas/displayable_reset_next_date"
              },
              "displayable_reset_start_date": {
                "$ref": "#/components/schemas/displayable_reset_start_date"
              },
              "hours_interval": {
                "$ref": "#/components/schemas/reward_chain_hours_interval"
              },
              "interval_type": {
                "$ref": "#/components/schemas/interval_type_hourly_rc"
              },
              "reset_next_date": {
                "$ref": "#/components/schemas/reset_next_date"
              },
              "time": {
                "$ref": "#/components/schemas/time"
              }
            },
            "title": "interval_type = a cada hora",
            "type": "object"
          }
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "admin_value_points-create": {
        "properties": {
          "description": {
            "$ref": "#/components/schemas/description-localization-object"
          },
          "image_url": {
            "$ref": "#/components/schemas/Common_admin-image_url"
          },
          "is_clan": {
            "$ref": "#/components/schemas/is_clan"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/is_enabled"
          },
          "long_description": {
            "$ref": "#/components/schemas/long-description-localization-object"
          },
          "media_list": {
            "$ref": "#/components/schemas/media_list"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "sku": {
            "$ref": "#/components/schemas/sku"
          }
        },
        "required": [
          "sku",
          "name"
        ],
        "type": "object"
      },
      "bundle_type": {
        "description": "Tipo de pacote. Devolvido se o tipo de item for um pacote.",
        "enum": [
          "standard",
          "virtual_currency_package",
          "partner_side_content"
        ],
        "type": "string"
      },
      "calendar-hard-daily-chain-base": {
        "description": "Propriedades básicas para o tipo de recompensa diária `calendar_hard`.",
        "properties": {
          "date_start": {
            "$ref": "#/components/schemas/calendar_hard_date_start"
          },
          "is_recurrent": {
            "$ref": "#/components/schemas/calendar_hard_is_recurrent"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/daily_chain_type"
              },
              {
                "enum": [
                  "calendar_hard"
                ]
              }
            ]
          }
        },
        "type": "object"
      },
      "calendar_hard_date_start": {
        "description": "Data em que sua cadeia de recompensas diárias começa.",
        "example": "2020-04-15T18:16:00+05:00",
        "format": "date-time",
        "type": "string"
      },
      "calendar_hard_is_recurrent": {
        "default": false,
        "description": "Se a recompensa diária é recorrente. Se `true`, a recompensa diária será redefinida automaticamente após a data de término. O próximo cronograma `start_date` e `end_date` são baseados na quantidade de etapas de recompensas diárias e no tempo inicial definido em `start_date`.",
        "example": true,
        "type": "boolean"
      },
      "catalog_recurrent_schedule_client_response": {
        "description": "O item limita o período de atualização recorrente para um usuário.",
        "oneOf": [
          {
            "description": "Tipo diário de atualização de limites de usuário.",
            "properties": {
              "interval_type": {
                "description": "Tipo de período de atualização recorrente.",
                "enum": [
                  "daily"
                ],
                "type": "string"
              },
              "reset_next_date": {
                "description": "Data e hora em que os limites são redefinidos (Unix Timestamp).",
                "example": 1677553200,
                "type": "integer"
              }
            },
            "title": "interval_type = diariamente",
            "type": "object"
          },
          {
            "description": "Tipo semanal de atualização de limites de usuário.",
            "properties": {
              "interval_type": {
                "description": "Tipo de período de atualização recorrente.",
                "enum": [
                  "weekly"
                ],
                "type": "string"
              },
              "reset_next_date": {
                "description": "Data e hora em que os limites são redefinidos (Unix Timestamp).",
                "example": 1677553200,
                "type": "integer"
              }
            },
            "title": "interval_type = weekly",
            "type": "object"
          },
          {
            "description": "Tipo mensal de atualização dos limites de usuário.",
            "properties": {
              "interval_type": {
                "description": "Tipo de período de atualização recorrente.",
                "enum": [
                  "monthly"
                ],
                "type": "string"
              },
              "reset_next_date": {
                "description": "Data e hora em que os limites são redefinidos (Unix Timestamp).",
                "example": 1677553200,
                "type": "integer"
              }
            },
            "title": "interval_type = monthly",
            "type": "object"
          },
          {
            "description": "Redefinição dos limites do usuário realizada em um intervalo de tempo especificado em horas.",
            "properties": {
              "interval_type": {
                "description": "Tipo de período de atualização recorrente.",
                "enum": [
                  "hourly"
                ],
                "type": "string"
              },
              "reset_next_date": {
                "description": "Data e hora em que os limites são redefinidos (Unix Timestamp).",
                "example": 1677553200,
                "type": "integer"
              }
            },
            "title": "interval_type = a cada hora",
            "type": "object"
          }
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "chain_is_always_visible": {
        "default": true,
        "description": "Whether the chain is visible to all users. If `true`, the chain is always displayed, regardless of the user's authentication status or attributes.\n\nTo configure personalization, you need to pass `false`. The logic of the chain display will be the following:\n  * If `false` is passed and the visibility conditions are specified in the `attribute_conditions` array, the chain is considered personalized and is displayed only to authorized users who meet the specified conditions.\n  * If `false` is passed and the `attribute_conditions` array isn’t passed or is empty, the chain is displayed to unauthorized users, as well as in cases when no matching chain is found for the authorized user.",
        "example": true,
        "type": "boolean"
      },
      "chain_user-attribute_conditions_model-get": {
        "allOf": [
          {
            "$ref": "#/components/schemas/user-attribute_conditions_model-get"
          },
          {
            "description": "Condições para validação de atributos do usuário.\nDetermine a disponibilidade da cadeia com base em se os atributos do usuário correspondem a todas as condições especificadas."
          }
        ]
      },
      "chain_user-attribute_conditions_model-post": {
        "allOf": [
          {
            "$ref": "#/components/schemas/user-attribute_conditions_model-post"
          },
          {
            "description": "Condições para validação de atributos do usuário.\nDetermine a disponibilidade da cadeia com base em se os atributos do usuário correspondem a todas as condições especificadas."
          }
        ]
      },
      "clan_type": {
        "description": "Tipo de clã.",
        "enum": [
          "clan",
          "guild",
          "faction",
          "community",
          "team",
          "squad",
          "alliance",
          "association",
          "coalition",
          "union",
          "group",
          "civilizations",
          "dynasty",
          "order",
          "league",
          "brotherhood",
          "kingdom",
          "organization",
          "house",
          "empire",
          "tribe",
          "cartel",
          null
        ],
        "type": [
          "string",
          "null"
        ]
      },
      "client-attributes": {
        "default": [],
        "description": "Lista de atributos e seus valores correspondentes ao item. Pode ser usado para a filtragem de catálogos.",
        "example": {
          "value": {
            "external_id": "genre",
            "name": "Жанр",
            "values": [
              {
                "external_id": "genre_e3364991f92e751689a68b96598a5a5a84010b85",
                "value": "Casual"
              },
              {
                "external_id": "genre_eba07bfd0f982940773cba3744d97264dd58acd7",
                "value": "Strategy"
              },
              {
                "external_id": "genre_b8d0c6d8f0524c2b2d79ebb93aa3cd0e8b5199a8",
                "value": "Mobile"
              }
            ]
          }
        },
        "items": {
          "properties": {
            "external_id": {
              "$ref": "#/components/schemas/admin-attribute-external_id"
            },
            "name": {
              "description": "Nome do atributo.",
              "example": "Genre",
              "type": "string"
            },
            "values": {
              "items": {
                "properties": {
                  "external_id": {
                    "$ref": "#/components/schemas/value-external_id"
                  },
                  "value": {
                    "description": "Valor do atributo.",
                    "example": "Strategy",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "client-calendar-hard-daily-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/calendar-hard-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária calendar_hard para respostas de cliente.",
            "properties": {
              "date_end": {
                "$ref": "#/components/schemas/daily_chain_date_end"
              },
              "description": {
                "description": "Descrição da recompensa diária.",
                "example": "Major weekly quest",
                "type": [
                  "string",
                  "null"
                ]
              },
              "id": {
                "description": "ID de recompensa diária.",
                "example": 9,
                "type": "integer"
              },
              "name": {
                "description": "Nome da recompensa diária.",
                "example": "Weekly quest",
                "type": "string"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "steps": {
                "items": {
                  "$ref": "#/components/schemas/client-daily-chain-step-model"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        ]
      },
      "client-daily-chain-item-model": {
        "properties": {
          "bundle_type": {
            "enum": [
              "standard",
              "virtual_currency_package"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "items": {
              "$ref": "#/components/schemas/client-daily-chain-item-model"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "description": {
            "description": "Descrição do item.",
            "type": [
              "string",
              "null"
            ]
          },
          "image_url": {
            "$ref": "#/components/schemas/image_url"
          },
          "is_free": {
            "$ref": "#/components/schemas/value-is_free"
          },
          "item_id": {
            "$ref": "#/components/schemas/item_id"
          },
          "name": {
            "description": "Nome do item.",
            "type": "string"
          },
          "quantity": {
            "description": "Quantidade de itens.",
            "example": 1,
            "minimum": 1,
            "type": "integer"
          },
          "sku": {
            "$ref": "#/components/schemas/sku"
          },
          "type": {
            "$ref": "#/components/schemas/item_type"
          }
        },
        "type": "object"
      },
      "client-daily-chain-model": {
        "discriminator": {
          "mapping": {
            "calendar_hard": "#/components/schemas/client-calendar-hard-daily-chain-model",
            "rolling_skippable": "#/components/schemas/client-rolling-skippable-daily-chain-model",
            "rolling_unskippable": "#/components/schemas/client-rolling-unskippable-daily-chain-model"
          },
          "propertyName": "type"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/client-calendar-hard-daily-chain-model"
          },
          {
            "$ref": "#/components/schemas/client-rolling-skippable-daily-chain-model"
          },
          {
            "$ref": "#/components/schemas/client-rolling-unskippable-daily-chain-model"
          }
        ]
      },
      "client-daily-chain-step-model": {
        "description": "Etapa da recompensa diária.",
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/client-daily-chain-item-model"
            },
            "type": "array"
          },
          "status": {
            "description": "Defines the step's current claim status.\n\nPossible values:\n- `claimed` — The step has already been claimed.\n- `claimable` — The step may be claimed.\n- `blocked` — The step cannot be claimed: \n  - For unauthorized users: All steps are blocked. \n  - For `calendar_hard`: The step was not claimed and is now in the past. \n  - For `rolling_skippable`: The step is locked until the previous step is claimed.\n- `claim_in_future` — The step was not claimed and the step is in the future.",
            "enum": [
              "claimed",
              "claimable",
              "blocked",
              "claim_in_future"
            ],
            "example": "claimed",
            "type": "string"
          },
          "step_number": {
            "$ref": "#/components/schemas/daily_chain_step_number"
          },
          "unlocked_date": {
            "description": "Carimbo de data/hora Unix (em segundos) de quando a etapa será desbloqueada.",
            "format": "int64",
            "type": "integer"
          }
        },
        "type": "object"
      },
      "client-item-value-point-reward": {
        "description": "Recompensa do item de ponto de valor.",
        "items": {
          "properties": {
            "amount": {
              "$ref": "#/components/schemas/value-point-amount"
            },
            "image_url": {
              "$ref": "#/components/schemas/Common_admin-image_url"
            },
            "is_clan": {
              "$ref": "#/components/schemas/is_clan"
            },
            "item_id": {
              "$ref": "#/components/schemas/item_id"
            },
            "name": {
              "$ref": "#/components/schemas/value-point-name"
            },
            "sku": {
              "$ref": "#/components/schemas/value-point-sku"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "client-offer-chain-item-model": {
        "properties": {
          "bundle_type": {
            "enum": [
              "standard",
              "virtual_currency_package"
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "content": {
            "items": {
              "$ref": "#/components/schemas/client-offer-chain-item-model"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "description": {
            "description": "Descrição do item.",
            "type": [
              "string",
              "null"
            ]
          },
          "image_url": {
            "$ref": "#/components/schemas/image_url"
          },
          "is_free": {
            "$ref": "#/components/schemas/value-is_free"
          },
          "item_id": {
            "$ref": "#/components/schemas/item_id"
          },
          "name": {
            "description": "Nome do item.",
            "type": "string"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "quantity": {
            "description": "Quantidade de itens.",
            "example": 1,
            "minimum": 1,
            "type": "integer"
          },
          "sku": {
            "$ref": "#/components/schemas/sku"
          },
          "type": {
            "$ref": "#/components/schemas/item_type"
          }
        },
        "type": "object"
      },
      "client-offer-chain-model": {
        "description": "Uma cadeia de ofertas.",
        "properties": {
          "date_end": {
            "$ref": "#/components/schemas/offer_chain_date_end"
          },
          "date_start": {
            "$ref": "#/components/schemas/offer_chain_date_start"
          },
          "description": {
            "description": "Descrição da cadeia de ofertas.",
            "example": "Major weekly quest",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "ID de cadeia de ofertas.",
            "example": 9,
            "type": "integer"
          },
          "name": {
            "description": "Nome da cadeia de ofertas.",
            "example": "Weekly quest",
            "type": "string"
          },
          "next_step_number": {
            "description": "Número da próxima etapa da cadeia de ofertas. `null` se a cadeia de ofertas foi concluída.",
            "example": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "recurrent_schedule": {
            "$ref": "#/components/schemas/offer_chain_recurrent_schedule_client_side"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/client-offer-chain-step-model"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "client-offer-chain-step-model": {
        "description": "Etapa de cadeia de ofertas.",
        "properties": {
          "is_claimed": {
            "description": "Indica se a recompensa da etapa foi resgatada ou comprada.",
            "example": false,
            "type": "boolean"
          },
          "is_free": {
            "$ref": "#/components/schemas/offer_chain_is_free"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/client-offer-chain-item-model"
            },
            "type": "array"
          },
          "step_loyalty_rewards": {
            "items": {
              "properties": {
                "amount": {
                  "description": "Quantidade de pontos de fidelidade.",
                  "example": 1,
                  "type": "integer"
                },
                "description": {
                  "description": "Descrição dos pontos de fidelidade.",
                  "example": "First Loyalty Point Desc",
                  "type": "string"
                },
                "image_url": {
                  "$ref": "#/components/schemas/image_url"
                },
                "name": {
                  "description": "Nome dos pontos de fidelidade.",
                  "example": "First Loyalty Point",
                  "type": "string"
                },
                "sku": {
                  "description": "SKU dos pontos de fidelidade.",
                  "example": "0c745ef0-4243-46e1-aa90-54dee07da622",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "step_number": {
            "$ref": "#/components/schemas/offer_chain_step_number"
          },
          "step_price": {
            "$ref": "#/components/schemas/offer_chain_step_price"
          },
          "step_vp_rewards": {
            "description": "Uma matriz de pontos de valor do sistema de recompensa, concedida como recompensa.",
            "items": {
              "properties": {
                "amount": {
                  "$ref": "#/components/schemas/value-point-amount"
                },
                "image_url": {
                  "$ref": "#/components/schemas/Common_admin-image_url"
                },
                "is_clan": {
                  "$ref": "#/components/schemas/is_clan"
                },
                "item_id": {
                  "$ref": "#/components/schemas/item_id"
                },
                "name": {
                  "$ref": "#/components/schemas/value-point-name"
                },
                "sku": {
                  "$ref": "#/components/schemas/value-point-sku"
                }
              },
              "type": "object"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "client-reward-chain-item-model": {
        "properties": {
          "clan_type": {
            "$ref": "#/components/schemas/clan_type"
          },
          "date_end": {
            "$ref": "#/components/schemas/date_end"
          },
          "date_start": {
            "$ref": "#/components/schemas/date_start"
          },
          "description": {
            "description": "Descrição da cadeia de recompensas.",
            "example": "Major weekly quest",
            "type": [
              "string",
              "null"
            ]
          },
          "image_url": {
            "$ref": "#/components/schemas/image_url"
          },
          "long_description": {
            "description": "Descrição longa da cadeia de recompensas.",
            "example": "You can get a lot of additional items just by shopping during the week",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "Nome da cadeia de recompensas.",
            "example": "Weekly quest",
            "type": "string"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "popup_header": {
            "$ref": "#/components/schemas/popup_header-two-letter-locale"
          },
          "popup_image_url": {
            "$ref": "#/components/schemas/popup_image_url"
          },
          "popup_instruction": {
            "$ref": "#/components/schemas/popup_instruction-two-letter-locale"
          },
          "recurrent_schedule": {
            "$ref": "#/components/schemas/recurrent_schedule_client_side"
          },
          "reward_chain_id": {
            "description": "ID de cadeia de recompensas.",
            "example": 9,
            "type": "integer"
          },
          "steps": {
            "items": {
              "description": "Etapa da cadeia de recompensas.",
              "properties": {
                "image_url": {
                  "$ref": "#/components/schemas/Common_admin-image_url"
                },
                "is_claimed": {
                  "description": "Se a recompensa da etapa foi reivindicada ou não.",
                  "example": false,
                  "type": "boolean"
                },
                "name": {
                  "description": "Nome da etapa.",
                  "example": "Level 1",
                  "type": "string"
                },
                "price": {
                  "properties": {
                    "amount": {
                      "description": "O número de pontos de valor que um usuário reivindica na etapa.",
                      "example": 100,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                },
                "reward": {
                  "items": {
                    "properties": {
                      "description": {
                        "description": "Descrição do item.",
                        "example": "Super box with items",
                        "type": "string"
                      },
                      "image_url": {
                        "$ref": "#/components/schemas/Common_admin-image_url"
                      },
                      "name": {
                        "description": "Nome do item.",
                        "example": "Super box",
                        "type": "string"
                      },
                      "quantity": {
                        "description": "Quantidade do item.",
                        "example": 2,
                        "type": "integer"
                      },
                      "sku": {
                        "$ref": "#/components/schemas/sku"
                      },
                      "type": {
                        "description": "Tipo de item.",
                        "example": "bundle",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                },
                "step_id": {
                  "description": "ID da etapa.",
                  "example": 10,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "top_contributors": {
            "items": {
              "$ref": "#/components/schemas/top_contributors"
            },
            "type": "array"
          },
          "value_point": {
            "properties": {
              "amount": {
                "$ref": "#/components/schemas/value-point-amount"
              },
              "description": {
                "$ref": "#/components/schemas/value-point-description"
              },
              "image_url": {
                "$ref": "#/components/schemas/Common_admin-image_url"
              },
              "is_clan": {
                "$ref": "#/components/schemas/is_clan"
              },
              "long_description": {
                "$ref": "#/components/schemas/value-point-long-description"
              },
              "name": {
                "$ref": "#/components/schemas/value-point-name"
              },
              "sku": {
                "$ref": "#/components/schemas/value-point-sku"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "client-rolling-skippable-daily-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/rolling-skippable-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária rolling_skippable para respostas de cliente.",
            "properties": {
              "description": {
                "description": "Descrição da recompensa diária.",
                "example": "Major weekly quest",
                "type": [
                  "string",
                  "null"
                ]
              },
              "id": {
                "description": "ID de recompensa diária.",
                "example": 9,
                "type": "integer"
              },
              "name": {
                "description": "Nome da recompensa diária.",
                "example": "Weekly quest",
                "type": "string"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "steps": {
                "items": {
                  "$ref": "#/components/schemas/client-daily-chain-step-model"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        ]
      },
      "client-rolling-unskippable-daily-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/rolling-unskippable-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária `rolling_unskippable` para respostas de cliente.",
            "properties": {
              "description": {
                "description": "Descrição da recompensa diária.",
                "example": "Major weekly quest",
                "type": [
                  "string",
                  "null"
                ]
              },
              "id": {
                "description": "ID de recompensa diária.",
                "example": 9,
                "type": "integer"
              },
              "name": {
                "description": "Nome da recompensa diária.",
                "example": "Weekly quest",
                "type": "string"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "steps": {
                "items": {
                  "$ref": "#/components/schemas/client-daily-chain-step-model"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        ]
      },
      "create-calendar-hard-daily-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/calendar-hard-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária pelo tipo `calendar_hard`.",
            "properties": {
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "steps": {
                "items": {
                  "$ref": "#/components/schemas/create-daily-chain-step-model"
                },
                "type": "array"
              }
            },
            "required": [
              "name",
              "date_start",
              "steps",
              "is_enabled",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "create-clan-reward-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/create-reward-chain-model"
          },
          {
            "description": "Cadeia de recompensas de clã.",
            "properties": {
              "clan_type": {
                "$ref": "#/components/schemas/clan_type"
              },
              "popup_header": {
                "$ref": "#/components/schemas/popup_header-two-letter-locale"
              },
              "popup_image_url": {
                "$ref": "#/components/schemas/popup_image_url"
              },
              "popup_instruction": {
                "$ref": "#/components/schemas/popup_instruction-two-letter-locale"
              },
              "value_point": {
                "description": "Um ponto de valor configurado para uma cadeia de recompensas de clã.",
                "properties": {
                  "sku": {
                    "$ref": "#/components/schemas/sku"
                  }
                },
                "required": [
                  "sku"
                ],
                "type": "object"
              }
            },
            "required": [
              "name",
              "value_point",
              "periods",
              "steps",
              "is_enabled",
              "popup_header",
              "popup_instruction"
            ],
            "type": "object"
          }
        ]
      },
      "create-daily-chain-step-model": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/modify-daily-chain-item-model"
            },
            "minItems": 1,
            "type": "array"
          },
          "step_number": {
            "$ref": "#/components/schemas/daily_chain_step_number"
          }
        },
        "required": [
          "step_number",
          "items"
        ],
        "type": "object"
      },
      "create-offer-chain-model": {
        "description": "Uma cadeia de ofertas.",
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/chain_user-attribute_conditions_model-post"
          },
          "date_end": {
            "$ref": "#/components/schemas/offer_chain_date_end"
          },
          "date_start": {
            "$ref": "#/components/schemas/offer_chain_date_start"
          },
          "description": {
            "$ref": "#/components/schemas/description-localization-object"
          },
          "is_always_visible": {
            "$ref": "#/components/schemas/chain_is_always_visible"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/is_enabled"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "recurrent_schedule": {
            "$ref": "#/components/schemas/offer_chain_recurrent_schedule_create_update"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/create-offer-chain-step-model"
            },
            "type": "array"
          }
        },
        "required": [
          "name",
          "date_start",
          "steps",
          "is_enabled"
        ],
        "type": "object"
      },
      "create-offer-chain-step-model": {
        "properties": {
          "is_free": {
            "$ref": "#/components/schemas/offer_chain_is_free"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/modify-offer-chain-item-model"
            },
            "minItems": 1,
            "type": "array"
          },
          "step_number": {
            "$ref": "#/components/schemas/offer_chain_step_number"
          }
        },
        "required": [
          "step_number",
          "is_free",
          "items"
        ],
        "type": "object"
      },
      "create-reward-chain-model": {
        "description": "Uma cadeia de recompensas.",
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/chain_user-attribute_conditions_model-post"
          },
          "description": {
            "$ref": "#/components/schemas/description-localization-object"
          },
          "image_url": {
            "$ref": "#/components/schemas/image_url"
          },
          "is_always_visible": {
            "$ref": "#/components/schemas/chain_is_always_visible"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/is_enabled"
          },
          "is_reset_after_end": {
            "$ref": "#/components/schemas/is_reset_after_end"
          },
          "long_description": {
            "$ref": "#/components/schemas/long-description-localization-object"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "periods": {
            "$ref": "#/components/schemas/periods"
          },
          "recurrent_schedule": {
            "$ref": "#/components/schemas/recurrent_schedule_create_update"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/create_reward_step"
            },
            "type": "array"
          },
          "value_point": {
            "properties": {
              "sku": {
                "$ref": "#/components/schemas/sku"
              }
            },
            "required": [
              "sku"
            ],
            "type": "object"
          }
        },
        "required": [
          "name",
          "value_point",
          "periods",
          "steps",
          "is_enabled"
        ],
        "type": "object"
      },
      "create-rolling-skippable-daily-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/rolling-skippable-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária pelo tipo `rolling_skippable`.",
            "properties": {
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "steps": {
                "items": {
                  "$ref": "#/components/schemas/create-daily-chain-step-model"
                },
                "type": "array"
              }
            },
            "required": [
              "name",
              "date_start",
              "steps",
              "is_enabled",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "create-rolling-unskippable-daily-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/rolling-unskippable-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária pelo tipo `rolling_unskippable`.",
            "properties": {
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "steps": {
                "items": {
                  "$ref": "#/components/schemas/create-daily-chain-step-model"
                },
                "type": "array"
              }
            },
            "required": [
              "name",
              "date_start",
              "steps",
              "is_enabled",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "create_reward_step": {
        "description": "Etapa da cadeia de recompensas.",
        "properties": {
          "image_url": {
            "$ref": "#/components/schemas/image_url"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "price": {
            "$ref": "#/components/schemas/reward_step_price"
          },
          "reward": {
            "items": {
              "properties": {
                "attribute_conditions": {
                  "$ref": "#/components/schemas/reward-chain-step-reward_user-attribute_conditions_model-post"
                },
                "quantity": {
                  "$ref": "#/components/schemas/reward_item_quantity"
                },
                "sku": {
                  "$ref": "#/components/schemas/sku"
                }
              },
              "required": [
                "sku",
                "quantity"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "name",
          "price",
          "reward"
        ],
        "type": "object"
      },
      "daily-chain-error-model": {
        "properties": {
          "errorCode": {
            "example": 1102,
            "type": "integer"
          },
          "errorMessage": {
            "example": "[0401-1102]: Unprocessable Entity. The property `property_name` is required",
            "type": "string"
          },
          "errorMessageExtended": {
            "type": [
              "object",
              "null"
            ]
          },
          "statusCode": {
            "example": 422,
            "type": "integer"
          },
          "transactionId": {
            "example": "x-x-x-x-transactionId-mock-x-x-x",
            "type": "string"
          }
        },
        "type": "object"
      },
      "daily_chain_date_end": {
        "description": "Data em que sua recompensa diária termina. Pode ser `null`. Definir como tipo `calendar_hard` definirá automaticamente essa data com base no número de etapas adicionadas, então você pode deixá-la como `null`.",
        "example": "2020-04-15T18:16:00+05:00",
        "format": "date-time",
        "type": [
          "string",
          "null"
        ]
      },
      "daily_chain_id": {
        "description": "ID de recompensa diária exclusivo.",
        "example": 9,
        "type": "integer"
      },
      "daily_chain_number_of_step": {
        "description": "É a quantidade de etapas configuradas na recompensa diária. Cada passo aqui significa um dia na recompensa diária.",
        "example": 3,
        "type": "integer"
      },
      "daily_chain_step_id": {
        "description": "Identificador exclusivo da etapa de recompensa diária",
        "example": 10,
        "minimum": 1,
        "type": [
          "integer",
          "null"
        ]
      },
      "daily_chain_step_number": {
        "description": "Número da etapa.",
        "example": 2,
        "minimum": 1,
        "nullable": false,
        "type": "integer"
      },
      "daily_chain_type": {
        "description": "Daily reward type that determines when users can claim rewards.\n\nPossible values:\n- `calendar_hard` — Unlocks the next step reward every 24 hours. Any unclaimed step rewards are permanently lost once\nthe next step reward becomes available.\n- `rolling_skippable` — Unlocks the next step reward every 24 hours based on `date_start`. Progression is sequential:\na new reward will not unlock until the previous one has been claimed. If a user skips one or more days, they continue\nfrom where they left off; missed days do not grant multiple rewards.\n- `rolling_unskippable` — Unlocks the next step reward every 24 hours based on `date_start`. Progression is\nsequential: a new reward will not unlock until the previous one has been claimed. However, if a user skips a day,\ntheir progress is reset, and they must start again from the first step.",
        "enum": [
          "calendar_hard",
          "rolling_skippable",
          "rolling_unskippable"
        ],
        "type": "string"
      },
      "daily_chain_update_step_id": {
        "description": "Identificador exclusivo da etapa de recompensa diária. Especifique-o durante a atualização para reter o progresso do usuário nesta etapa.",
        "example": 10,
        "minimum": 1,
        "type": [
          "integer",
          "null"
        ]
      },
      "daily_rolling_chain_date_start": {
        "description": "Data e hora em que sua recompensa diária começa. Esse tempo também define o ponto de reinicialização diário em que os usuários podem resgatar sua recompensa.",
        "example": "2020-04-15T18:16:00+05:00",
        "format": "date-time",
        "type": "string"
      },
      "date_end": {
        "description": "Data em que sua promoção da cadeia de recompensas termina. Pode ser `null`. Se `date_end` for `null`, a cadeia de recompensas terá um tempo ilimitado.",
        "example": "2020-04-15T18:16:00+05:00",
        "format": "date-time",
        "type": [
          "string",
          "null"
        ]
      },
      "date_start": {
        "description": "Data em que sua cadeia de recompensas começa.",
        "example": "2020-04-15T18:16:00+05:00",
        "format": "date-time",
        "type": "string"
      },
      "day_of_month": {
        "description": "Dia do mês em que a cadeia de recompensas é redefinida. Se o número de dias no mês for menor que o número ordinal do dia especificado, a redefinição da cadeia de recompensas ocorrerá no último dia do mês.",
        "maximum": 31,
        "minimum": 1,
        "type": "integer"
      },
      "day_of_week": {
        "description": "Dia da semana em que a cadeia de recompensas é redefinida, onde '1' é segunda-feira e '7' é domingo.",
        "maximum": 7,
        "minimum": 1,
        "type": "integer"
      },
      "description-localization-object": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/two-letter-locale"
          },
          {
            "$ref": "#/components/schemas/five-letter-locale"
          }
        ],
        "description": "Objeto com traduções para a descrição do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, `en`) ou códigos de localidade de cinco caracteres (por exemplo, `en-US`). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as opções para o mesmo idioma são fornecidas (por exemplo, `en` e `en-US`), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na [documentação](/pt/doc/shop-builder/references/supported-languages/).",
        "type": [
          "object",
          "null"
        ]
      },
      "displayable_reset_next_date": {
        "description": "Data e hora calculadas em que a cadeia de recompensas será redefinida da próxima vez <a href=\"https://en.wikipedia.org/wiki/ISO_8601\" target=\"_blank\">(ISO 8601).</a><br><br> Por exemplo, a cadeia de recompensas é redefinida mensalmente, a partir de 1º de março de 2024, às 01:00 (horário de Kuala Lumpur). A data e a hora da próxima redefinição da cadeia de recompensas será: 1º de abril de 2024 às 01:00 (horário de Kuala Lumpur), que equivale a '2024-04-01T01:00:00+08:00' no formato <a href=\"https://en.wikipedia.org/wiki/ISO_8601\" target=\"_blank\">ISO 8601</a>. <br><br> Exemplo: '2024-04-01T01:00:00+08:00'",
        "format": "date-time",
        "type": "string"
      },
      "displayable_reset_start_date": {
        "description": "Data e hora da primeira redefinição da cadeia de recompensas. <br><br> Por exemplo, a data e a hora da primeira redefinição da cadeia de recompensas é 1º de março de 2024, às 01:00 (horário de Kuala Lumpur), ou '2024-03-01T01:00:00+08:00' no formato <a href=\"https://en.wikipedia.org/wiki/ISO_8601\" target=\"_blank\">ISO 8601</a>. <br><br> Exemplo: '2024-03-01T01:00:00+08:00'",
        "format": "date-time",
        "type": "string"
      },
      "drm_name": {
        "description": "Nome do DRM da chave de jogo.",
        "example": "Steam",
        "type": "string"
      },
      "drm_sku": {
        "description": "ID de DRM exclusivo.",
        "example": "steam",
        "type": "string"
      },
      "excluded_promotions": {
        "description": "Lista de IDs de promoção a serem excluídos ao aplicar esta promoção. <br>Example: `[12, 789]`",
        "example": [
          12,
          789
        ],
        "items": {
          "type": "integer"
        },
        "type": "array"
      },
      "five-letter-locale": {
        "description": "Códigos de localidade de cinco caracteres.",
        "properties": {
          "ar-AE": {
            "description": "Árabe",
            "type": [
              "string",
              "null"
            ]
          },
          "bg-BG": {
            "description": "Búlgaro",
            "type": [
              "string",
              "null"
            ]
          },
          "cs-CZ": {
            "description": "Tcheco",
            "type": [
              "string",
              "null"
            ]
          },
          "de-DE": {
            "description": "Alemão",
            "type": [
              "string",
              "null"
            ]
          },
          "en-US": {
            "description": "Inglês",
            "type": [
              "string",
              "null"
            ]
          },
          "es-ES": {
            "description": "Espanhol (Espanha)",
            "type": [
              "string",
              "null"
            ]
          },
          "fr-FR": {
            "description": "Francês",
            "type": [
              "string",
              "null"
            ]
          },
          "he-IL": {
            "description": "Hebraico",
            "type": [
              "string",
              "null"
            ]
          },
          "id-ID": {
            "description": "Indonésio",
            "type": [
              "string",
              "null"
            ]
          },
          "it-IT": {
            "description": "Italiano",
            "type": [
              "string",
              "null"
            ]
          },
          "ja-JP": {
            "description": "Japonês",
            "type": [
              "string",
              "null"
            ]
          },
          "km-KH": {
            "description": "Khmer",
            "type": [
              "string",
              "null"
            ]
          },
          "ko-KR": {
            "description": "Coreano",
            "type": [
              "string",
              "null"
            ]
          },
          "lo-LA": {
            "description": "Lao",
            "type": [
              "string",
              "null"
            ]
          },
          "my-MM": {
            "description": "Birmanês",
            "type": [
              "string",
              "null"
            ]
          },
          "ne-NP": {
            "description": "Nepalês",
            "type": [
              "string",
              "null"
            ]
          },
          "ph-PH": {
            "description": "Filipino",
            "type": [
              "string",
              "null"
            ]
          },
          "pl-PL": {
            "description": "Polonês",
            "type": [
              "string",
              "null"
            ]
          },
          "pt-BR": {
            "description": "Português (Brasil)",
            "type": [
              "string",
              "null"
            ]
          },
          "ro-RO": {
            "description": "Romeno",
            "type": [
              "string",
              "null"
            ]
          },
          "ru-RU": {
            "description": "Russo",
            "type": [
              "string",
              "null"
            ]
          },
          "th-TH": {
            "description": "Tailandês",
            "type": [
              "string",
              "null"
            ]
          },
          "tr-TR": {
            "description": "Turco",
            "type": [
              "string",
              "null"
            ]
          },
          "vi-VN": {
            "description": "Vietnamita",
            "type": [
              "string",
              "null"
            ]
          },
          "zh-CN": {
            "description": "Chinês (Simplificado)",
            "type": [
              "string",
              "null"
            ]
          },
          "zh-TW": {
            "description": "Chinês (Tradicional)",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "five-letter",
        "type": [
          "object",
          "null"
        ]
      },
      "image_url": {
        "description": "URL da imagem.",
        "example": "https://image.example.com",
        "type": [
          "string",
          "null"
        ]
      },
      "inactive_promotions_count": {
        "description": "Número de promoções desativadas.",
        "type": "integer"
      },
      "interval_type_hourly_rc": {
        "description": "Frequência da reinicialização recorrente da cadeia de recompensas.",
        "enum": [
          "hourly"
        ],
        "type": "string"
      },
      "interval_type_monthly": {
        "description": "Frequência da reinicialização recorrente da cadeia de recompensas.",
        "enum": [
          "monthly"
        ],
        "type": "string"
      },
      "interval_type_weekly": {
        "description": "Frequência da reinicialização recorrente da cadeia de recompensas.",
        "enum": [
          "weekly"
        ],
        "type": "string"
      },
      "is_clan": {
        "description": "Se o ponto de valor é usado em cadeias de recompensa de clã ou não.",
        "example": true,
        "type": "boolean"
      },
      "is_enabled": {
        "example": true,
        "type": "boolean"
      },
      "is_reset_after_end": {
        "default": false,
        "description": "Se a cadeia de recompensas (pontos de valor e progresso de todos os usuários) deve ser redefinida ou não após sua data de término:\n* Se `true`, a cadeia de recompensas será redefinida após a data de término.\n* Se `false`, a cadeia de recompensas não será redefinida após a data de término.\n\n<br>\n<div class=\"notice\"><strong>Aviso</strong><br><br>\nNão pode ser <code>true</code> se: <br>\n<ul>\n  <li>Houver um período de redefinição definido em <code>recurrent_schedule</code>.</li>\n  <li>O valor <code>null</code> for passado em <code>periods.date_until</code>.</li>\n</ul>\n</div>",
        "example": false,
        "type": "boolean"
      },
      "item-custom-attributes-response": {
        "description": "Um objeto JSON que contém atributos e valores de item.",
        "format": "json",
        "type": "object"
      },
      "item-periods": {
        "description": "Período de venda de itens.",
        "items": {
          "properties": {
            "date_from": {
              "description": "Data em que o item especificado estará disponível para venda.",
              "example": "2020-08-11T10:00:00+03:00",
              "format": "date-time",
              "type": "string"
            },
            "date_until": {
              "description": "Data em que o item especificado ficará indisponível para venda. Pode ser `null`.",
              "example": "2020-08-11T20:00:00+03:00",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "type": [
          "array",
          "null"
        ]
      },
      "item-periods-response": {
        "description": "Período de venda de itens.",
        "items": {
          "properties": {
            "date_from": {
              "description": "Data em que o item especificado estará disponível para venda.",
              "example": "2020-08-11T10:00:00+03:00",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            },
            "date_until": {
              "description": "Data em que o item especificado ficará indisponível para venda. Pode ser `null`.",
              "example": "2020-08-11T20:00:00+03:00",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "item-value-point-reward-set": {
        "items": {
          "properties": {
            "amount": {
              "description": "Quantidade de pontos de valor.",
              "type": "integer"
            },
            "sku": {
              "$ref": "#/components/schemas/sku"
            }
          },
          "required": [
            "sku",
            "amount"
          ],
          "type": "object"
        },
        "type": "array"
      },
      "item-value-point-reward-set-for-patch": {
        "items": {
          "maxItems": 100,
          "properties": {
            "amount": {
              "description": "Quantidade de pontos de valor.",
              "minimum": 0,
              "type": "integer"
            },
            "sku": {
              "$ref": "#/components/schemas/sku"
            }
          },
          "required": [
            "sku",
            "amount"
          ],
          "type": "object"
        },
        "type": "array"
      },
      "item_id": {
        "description": "ID de item exclusivo interno.",
        "example": 1,
        "type": "integer"
      },
      "item_price_conditions_promocode": {
        "description": "Conjunto de objetos com condições que definem a faixa de preço para aplicar a promoção a determinados itens no carrinho.<br>\n O preço de cada item no carrinho do usuário é comparado com a faixa de preço especificada na condição. [Bônus](/pt/api/shop-builder/operation/create-promo-code/#!path=bonus&t=request) e [descontos](/pt/api/shop-builder/operation/create-promo-code/#!path=bonus&t=request) são aplicados somente aos itens no carrinho cujo preço atende à condição.<br>\n Se você passar esta matriz, defina o valor da matriz [discounted_items](/pt/api/shop-builder/operation/create-promo-code/#!path=discounted_items&t=request) como `null`.",
        "items": {
          "$ref": "#/components/schemas/price_conditions_items"
        },
        "type": [
          "array",
          "null"
        ]
      },
      "item_type": {
        "description": "Tipo de item: `virtual_good`/`virtual_currency`/`bundle`/`unit`.",
        "type": "string"
      },
      "limit_exceeded_visibility": {
        "default": "show",
        "description": "Determines the visibility of the item in the catalog after the purchase limit is reached, until the next limit reset.\n\nApplies to items for which recurring limit resets are configured in the `recurrent_schedule` array.\n\nIf limit resets are not configured, the item doesn't appear in the catalog after the purchase limit is reached,\nregardless of the `limit_exceeded_visibility` value.\n\nPossible values:\n- `show` — The item is returned in catalog retrieval API calls after the purchase limit is reached. In client-side\ncatalog retrieval API calls, once the limit is reached, the item is returned with the `can_be_bought: false` flag. The\nnext reset date is returned in `reset_next_date`.\n- `hide` — The item is not returned in catalog retrieval API calls after the purchase limit is reached, until the\nlimit is reset.",
        "enum": [
          "show",
          "hide"
        ],
        "example": "show",
        "type": "string"
      },
      "long-description-localization-object": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/two-letter-locale"
          },
          {
            "$ref": "#/components/schemas/five-letter-locale"
          }
        ],
        "description": "Objeto com traduções para a descrição longa do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, `en`) ou códigos de localidade de cinco caracteres (por exemplo, `en-US`). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as variantes para o mesmo idioma são fornecidas (por exemplo, `en` e `en-US`), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na [documentação](/pt/doc/shop-builder/references/supported-languages/).",
        "type": [
          "object",
          "null"
        ]
      },
      "media_list": {
        "description": "Recursos adicionais do item, como capturas de tela, vídeos de jogabilidade e assim por diante.",
        "example": [
          {
            "type": "image",
            "url": "https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"
          }
        ],
        "items": {
          "properties": {
            "type": {
              "description": "Tipo de mídia: `image`/`video`.",
              "enum": [
                "image",
                "video"
              ],
              "example": "image",
              "type": "string"
            },
            "url": {
              "description": "Arquivo de recurso.",
              "example": "https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg",
              "type": "string"
            }
          },
          "type": "object"
        },
        "type": "array"
      },
      "modify-daily-chain-item-model": {
        "properties": {
          "quantity": {
            "description": "Quantidade de etapas de recompensa diária para este sku",
            "minimum": 1,
            "type": "integer"
          },
          "sku": {
            "$ref": "#/components/schemas/sku"
          }
        },
        "required": [
          "sku",
          "quantity"
        ],
        "type": "object"
      },
      "modify-daily-chain-step-model": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/modify-daily-chain-item-model"
            },
            "minItems": 1,
            "type": "array"
          },
          "step_id": {
            "$ref": "#/components/schemas/daily_chain_update_step_id"
          },
          "step_number": {
            "$ref": "#/components/schemas/daily_chain_step_number"
          }
        },
        "required": [
          "step_number",
          "items"
        ],
        "type": "object"
      },
      "modify-offer-chain-item-model": {
        "properties": {
          "order": {
            "description": "Ordem de recompensa para a etapa da cadeia de ofertas.",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "quantity": {
            "description": "Quantidade da recompensa de itens para esta etapa da cadeia.",
            "minimum": 1,
            "type": "integer"
          },
          "sku": {
            "$ref": "#/components/schemas/sku"
          }
        },
        "required": [
          "sku",
          "quantity"
        ],
        "type": "object"
      },
      "modify-offer-chain-model": {
        "description": "Uma cadeia de ofertas.",
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/chain_user-attribute_conditions_model-post"
          },
          "date_end": {
            "$ref": "#/components/schemas/offer_chain_date_end"
          },
          "date_start": {
            "$ref": "#/components/schemas/offer_chain_date_start"
          },
          "description": {
            "$ref": "#/components/schemas/description-localization-object"
          },
          "id": {
            "$ref": "#/components/schemas/offer_chain_id"
          },
          "is_always_visible": {
            "$ref": "#/components/schemas/chain_is_always_visible"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/is_enabled"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "recurrent_schedule": {
            "$ref": "#/components/schemas/offer_chain_recurrent_schedule_create_update"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/modify-offer-chain-step-model"
            },
            "type": "array"
          }
        },
        "required": [
          "name",
          "date_start",
          "steps",
          "is_enabled"
        ],
        "type": "object"
      },
      "modify-offer-chain-step-model": {
        "properties": {
          "is_free": {
            "$ref": "#/components/schemas/offer_chain_is_free"
          },
          "items": {
            "items": {
              "$ref": "#/components/schemas/modify-offer-chain-item-model"
            },
            "minItems": 1,
            "type": "array"
          },
          "step_id": {
            "$ref": "#/components/schemas/update_step_id"
          },
          "step_number": {
            "$ref": "#/components/schemas/offer_chain_step_number"
          }
        },
        "required": [
          "step_number",
          "is_free",
          "items"
        ],
        "type": "object"
      },
      "modify_reward_step": {
        "description": "Etapa da cadeia de recompensas.",
        "properties": {
          "image_url": {
            "$ref": "#/components/schemas/image_url"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "price": {
            "$ref": "#/components/schemas/reward_step_price"
          },
          "reward": {
            "items": {
              "properties": {
                "attribute_conditions": {
                  "$ref": "#/components/schemas/reward-chain-step-reward_user-attribute_conditions_model-post"
                },
                "quantity": {
                  "$ref": "#/components/schemas/reward_item_quantity"
                },
                "sku": {
                  "$ref": "#/components/schemas/sku"
                }
              },
              "required": [
                "sku",
                "quantity"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "step_id": {
            "$ref": "#/components/schemas/step_id"
          }
        },
        "required": [
          "name",
          "price",
          "reward",
          "step_id"
        ],
        "type": "object"
      },
      "name-localization-object": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/two-letter-locale"
          },
          {
            "$ref": "#/components/schemas/five-letter-locale"
          }
        ],
        "description": "Objeto com traduções para o nome do item. Aceita valores em um dos dois formatos: códigos de idioma minúsculos de duas letras (por exemplo, `en`) ou códigos de idioma de cinco caracteres (por exemplo, `en-US`). Embora ambos os formatos sejam aceitos, as respostas retornam códigos de idioma minúsculos de duas letras. Quando ambas as opções para o mesmo idioma são fornecidas (por exemplo, `en` e `en-US`), o último valor fornecido é armazenado. Você pode encontrar a lista completa de idiomas suportados na [documentação](/pt/doc/shop-builder/references/supported-languages/).",
        "type": [
          "object",
          "null"
        ]
      },
      "offer-chain-error-model": {
        "properties": {
          "errorCode": {
            "example": 1102,
            "type": "integer"
          },
          "errorMessage": {
            "example": "[0401-1102]: Unprocessable Entity. The property `property_name` is required",
            "type": "string"
          },
          "errorMessageExtended": {
            "type": [
              "object",
              "null"
            ]
          },
          "statusCode": {
            "example": 422,
            "type": "integer"
          },
          "transactionId": {
            "example": "x-x-x-x-transactionId-mock-x-x-x",
            "type": "string"
          }
        },
        "type": "object"
      },
      "offer_chain_date_end": {
        "description": "Data em que a cadeia de ofertas termina. Pode ser `null`. Se `date_end` for `null`, a cadeia de ofertas não terá um limite de tempo.",
        "example": "2020-04-15T18:16:00+05:00",
        "format": "date-time",
        "type": [
          "string",
          "null"
        ]
      },
      "offer_chain_date_start": {
        "description": "Data em que a cadeia de ofertas é iniciada.",
        "example": "2020-04-15T18:16:00+05:00",
        "format": "date-time",
        "type": "string"
      },
      "offer_chain_day_of_month": {
        "description": "O dia do mês em que a cadeia de ofertas é redefinida. Se um mês tiver menos dias do que o dia especificado, a redefinição ocorrerá no último dia do mês.",
        "maximum": 31,
        "minimum": 1,
        "type": "integer"
      },
      "offer_chain_day_of_week": {
        "description": "Dia da semana em que a cadeia de ofertas é redefinida, onde `1` é segunda-feira e `7` é domingo.",
        "maximum": 7,
        "minimum": 1,
        "type": "integer"
      },
      "offer_chain_displayable_reset_next_date": {
        "description": "Data e hora calculadas em que a cadeia de ofertas será redefinida da próxima vez de acordo com o formato <a href=\"https://en.wikipedia.org/wiki/ISO_8601\" target=\"_blank\">(ISO 8601).</a><br><br> Por exemplo, a redefinição da cadeia de ofertas mensal começa no dia 1º de março de 2024, às 01:00 (horário de Kuala Lumpur). A data e a hora da próxima redefinição será no dia 1º de abril de 2024 às 01:00 (horário de Kuala Lumpur), que equivale a '2024-04-01T01:00:00+08:00' no formato <a href=\"https://en.wikipedia.org/wiki/ISO_8601\" target=\"_blank\">ISO 8601</a>. <br><br> Exemplo: '2024-04-01T01:00:00+08:00'",
        "format": "date-time",
        "type": "string"
      },
      "offer_chain_displayable_reset_start_date": {
        "description": "Data e hora da primeira redefinição da cadeia de ofertas. <br><br> Por exemplo, a primeira redefinição programada para 1º de março de 2024, às 01:00 (horário de Kuala Lumpur) corresponde a '2024-03-01T01:00:00+08:00' no formato <a href=\"https://en.wikipedia.org/wiki/ISO_8601\" target=\"_blank\">ISO 8601</a>. <br><br> Exemplo: '2024-03-01T01:00:00+08:00'",
        "format": "date-time",
        "type": "string"
      },
      "offer_chain_hours_interval": {
        "description": "Intervalo em horas, após o qual a cadeia de ofertas é reiniciada. <br><br> A contagem regressiva começa a partir do parâmetro <a href=\"https://developers.xsolla.com/pt/api/shop-builder/operation/admin-create-offer-chain/#!path=date_start&t=request\">date_start</a>. <br><br> Por exemplo, se `date_start = \"2025-11-15T18:15:00+05:00\"` e `hours_interval = 2`, a cadeia de ofertas será redefinida a cada 2 horas, começando a partir de `\"2025-11-15T20:15:00+05:00\"`.",
        "maximum": 10000,
        "minimum": 1,
        "type": "integer"
      },
      "offer_chain_id": {
        "description": "ID exclusivo da cadeia de ofertas.",
        "example": 9,
        "type": "integer"
      },
      "offer_chain_interval_type_hourly": {
        "description": "Frequência da redefinição da cadeia de ofertas.",
        "enum": [
          "hourly"
        ],
        "type": "string"
      },
      "offer_chain_interval_type_monthly": {
        "description": "Frequência da redefinição da cadeia de ofertas.",
        "enum": [
          "monthly"
        ],
        "type": "string"
      },
      "offer_chain_interval_type_weekly": {
        "description": "Frequência da redefinição da cadeia de ofertas.",
        "enum": [
          "weekly"
        ],
        "type": "string"
      },
      "offer_chain_is_free": {
        "description": "Indica se a etapa da cadeia de ofertas é gratuita:<ul><li>Se <code>true</code>, a etapa deve ser resgatada usando a chamada <a href=\"/api/shop-builder/operation/claim-user-offer-chain-step-reward\">Resgate a etapa da cadeia de oferta gratuita</a>.</li><li>Se <code>false</code>, ela deve ser comprada usando a chamada <a href=\"/api/shop-builder/operation/order-user-offer-chain-step-reward\">Criar ordem para a etapa da cadeia de ofertas pagas</a>.</li></ul>",
        "type": "boolean"
      },
      "offer_chain_recurrent_schedule": {
        "description": "Período de reinicialização recorrente da cadeia de ofertas.",
        "oneOf": [
          {
            "description": "Redefinição semanal da cadeia de ofertas.",
            "properties": {
              "day_of_week": {
                "$ref": "#/components/schemas/offer_chain_day_of_week"
              },
              "displayable_reset_next_date": {
                "$ref": "#/components/schemas/offer_chain_displayable_reset_next_date"
              },
              "displayable_reset_start_date": {
                "$ref": "#/components/schemas/offer_chain_displayable_reset_start_date"
              },
              "interval_type": {
                "$ref": "#/components/schemas/offer_chain_interval_type_weekly"
              },
              "reset_next_date": {
                "$ref": "#/components/schemas/offer_chain_reset_next_date"
              },
              "time": {
                "$ref": "#/components/schemas/offer_chain_time"
              }
            },
            "title": "interval_type = weekly",
            "type": [
              "object",
              "null"
            ]
          },
          {
            "description": "Redefinição mensal da cadeia de ofertas.",
            "properties": {
              "day_of_month": {
                "$ref": "#/components/schemas/offer_chain_day_of_month"
              },
              "displayable_reset_next_date": {
                "$ref": "#/components/schemas/offer_chain_displayable_reset_next_date"
              },
              "displayable_reset_start_date": {
                "$ref": "#/components/schemas/offer_chain_displayable_reset_start_date"
              },
              "interval_type": {
                "$ref": "#/components/schemas/offer_chain_interval_type_monthly"
              },
              "reset_next_date": {
                "$ref": "#/components/schemas/offer_chain_reset_next_date"
              },
              "time": {
                "$ref": "#/components/schemas/offer_chain_time"
              }
            },
            "title": "interval_type = monthly",
            "type": "object"
          },
          {
            "description": "Redefinição da cadeia de ofertas realizada em um intervalo de tempo especificado em horas.",
            "properties": {
              "hours_interval": {
                "$ref": "#/components/schemas/offer_chain_hours_interval"
              },
              "interval_type": {
                "$ref": "#/components/schemas/offer_chain_interval_type_hourly"
              }
            },
            "title": "interval_type = a cada hora",
            "type": "object"
          }
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "offer_chain_recurrent_schedule_client_side": {
        "description": "Período de redefinição da cadeia de ofertas.",
        "properties": {
          "interval_type": {
            "description": "Frequência da redefinição da cadeia de ofertas.",
            "enum": [
              "weekly",
              "monthly",
              "hourly"
            ],
            "type": "string"
          },
          "reset_next_date": {
            "$ref": "#/components/schemas/offer_chain_reset_next_date"
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "offer_chain_recurrent_schedule_create_update": {
        "description": "Período de redefinição da cadeia de ofertas.",
        "oneOf": [
          {
            "description": "Redefinição semanal da cadeia de ofertas.",
            "properties": {
              "day_of_week": {
                "$ref": "#/components/schemas/offer_chain_day_of_week"
              },
              "interval_type": {
                "$ref": "#/components/schemas/offer_chain_interval_type_weekly"
              },
              "time": {
                "$ref": "#/components/schemas/offer_chain_time"
              }
            },
            "required": [
              "interval_type",
              "time",
              "day_of_week"
            ],
            "title": "interval_type = weekly",
            "type": [
              "object",
              "null"
            ]
          },
          {
            "description": "Redefinição mensal da cadeia de ofertas.",
            "properties": {
              "day_of_month": {
                "$ref": "#/components/schemas/offer_chain_day_of_month"
              },
              "interval_type": {
                "$ref": "#/components/schemas/offer_chain_interval_type_monthly"
              },
              "time": {
                "$ref": "#/components/schemas/offer_chain_time"
              }
            },
            "required": [
              "interval_type",
              "time",
              "day_of_month"
            ],
            "title": "interval_type = monthly",
            "type": "object"
          },
          {
            "description": "Redefinição da cadeia de ofertas realizada em um intervalo de tempo especificado em horas.",
            "properties": {
              "hours_interval": {
                "$ref": "#/components/schemas/offer_chain_hours_interval"
              },
              "interval_type": {
                "$ref": "#/components/schemas/offer_chain_interval_type_hourly"
              }
            },
            "required": [
              "interval_type",
              "hours_interval"
            ],
            "title": "interval_type = a cada hora",
            "type": "object"
          }
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "offer_chain_reset_next_date": {
        "description": "A data e hora calculadas em que a cadeia de ofertas será redefinida na próxima vez no formato <a href=\"https://en.wikipedia.org/wiki/Unix_time\" target=\"_blank\">Unix Timestamp</a>.<br><br> Por exemplo, a redefinição da cadeia de ofertas mensal começa dia 1º de março de 2024, às 01:00 no horário de Kuala Lumpur (GMT+8). A próxima redefinição ocorrerá dia 1º de abril de 2024 às 01:00 no horário de Kuala Lumpur (GMT+8), que corresponde a 31 de março de 2024 17:00 GMT+0 ou '1711904400000' no formato Unix Timestamp. <br><br> Exemplo: '1711904400000'",
        "type": "integer"
      },
      "offer_chain_step_id": {
        "description": "ID exclusivo da etapa da cadeia.",
        "example": 10,
        "minimum": 1,
        "type": [
          "integer",
          "null"
        ]
      },
      "offer_chain_step_number": {
        "description": "Número da etapa.",
        "example": 2,
        "minimum": 1,
        "nullable": false,
        "type": "integer"
      },
      "offer_chain_step_price": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/offer_chain_step_price_amount"
          },
          "currency": {
            "$ref": "#/components/schemas/offer_chain_step_price_currency"
          }
        },
        "required": [
          "amount",
          "currency"
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "offer_chain_step_price_amount": {
        "description": "Preço da etapa em moeda real.",
        "example": 99.99,
        "type": "number"
      },
      "offer_chain_step_price_currency": {
        "description": "Moeda do preço do item. Código de três letras de acordo com [a ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).",
        "example": "USD",
        "type": "string"
      },
      "offer_chain_time": {
        "description": "A hora em que a cadeia de ofertas é redefinida no fuso horário especificado (arredondamento para horas). <br><br> Por exemplo, a hora da redefinição é definida como 01:00 para o fuso horário de Kuala Lumpur (GMT+8), o valor do parâmetro `time` é `01:00:00+08:00`.",
        "example": "01:00:00+08:00",
        "pattern": "((0[0-9]|1[0-9]|2[0-3]):00:00)(\\+|-)(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9])",
        "type": "string"
      },
      "order": {
        "description": "Define a ordem do arranjo.",
        "example": 1,
        "type": "integer"
      },
      "periods": {
        "description": "Períodos de validade da cadeia de recompensas. Se múltiplos períodos forem especificados, tanto `date_from` quanto `date_until` são necessários.",
        "items": {
          "properties": {
            "date_from": {
              "description": "Data de início da cadeia de recompensas especificada.",
              "example": "2020-08-11T10:00:00+03:00",
              "format": "date-time",
              "nullable": false,
              "type": "string"
            },
            "date_until": {
              "description": "Data de término da cadeia de recompensas especificada. Pode ser `null` apenas se um único período de validade for especificado.",
              "example": "2020-08-11T20:00:00+03:00",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "date_from"
          ],
          "type": "object"
        },
        "nullable": false,
        "type": "array"
      },
      "personalized-catalog_user-attribute_conditions_model-get": {
        "allOf": [
          {
            "$ref": "#/components/schemas/user-attribute_conditions_model-get"
          },
          {
            "description": "Condições para validação de atributos do usuário.\nDetermine a disponibilidade do item no catálogo com base em se os atributos do usuário correspondem a todas as condições especificadas."
          }
        ]
      },
      "personalized-catalog_user-attribute_conditions_model-post": {
        "allOf": [
          {
            "$ref": "#/components/schemas/user-attribute_conditions_model-post"
          },
          {
            "description": "Condições para validação de atributos do usuário.\nDetermine a disponibilidade do item no catálogo com base em se os atributos do usuário correspondem a todas as condições especificadas."
          }
        ]
      },
      "popup_header-two-letter-locale": {
        "description": "Objeto com traduções para um cabeçalho de uma janela pop-up de dica sobre uma cadeia de recompensas de clã. Duas letras minúsculas [código de idioma](https://developers.xsolla.com/pt/doc/pay-station/features/localization/).",
        "properties": {
          "ar": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "bg": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "cn": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "cs": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "de": {
            "example": "Wie man Belohnungen freischaltet",
            "type": [
              "string",
              "null"
            ]
          },
          "en": {
            "example": "How to unlock rewards",
            "type": [
              "string",
              "null"
            ]
          },
          "es": {
            "example": "Cómo desbloquear recompensas",
            "type": [
              "string",
              "null"
            ]
          },
          "fr": {
            "example": "Comment débloquer des récompenses",
            "type": [
              "string",
              "null"
            ]
          },
          "he": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "it": {
            "example": "Come sbloccare ricompense",
            "type": [
              "string",
              "null"
            ]
          },
          "ja": {
            "example": "報酬をアンロックする方法",
            "type": [
              "string",
              "null"
            ]
          },
          "ko": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "pl": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "pt": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "ro": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "ru": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "th": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "tr": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "tw": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "vi": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "popup_image_url": {
        "description": "Imagem para a janela pop-up de dica de cadeia de recompensas de clã.",
        "example": "https://image.example.com",
        "format": "uri",
        "type": [
          "string",
          "null"
        ]
      },
      "popup_instruction-two-letter-locale": {
        "description": "Objeto com traduções para uma instrução de uma janela pop-up de dica sobre uma cadeia de recompensas de clã. Duas letras minúsculas [código de idioma](https://developers.xsolla.com/pt/doc/pay-station/features/localization/).",
        "properties": {
          "ar": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "bg": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "cn": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "cs": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "de": {
            "example": "Du musst ein Clanmitglied sein, um Clananreize zu erhalten. Du trittst einem Clan bei, wenn ein Clanmitglied dich einlädt, und du die Einladung annimmst. Du kannst auch deinen eigenen Clan erstellen.",
            "type": [
              "string",
              "null"
            ]
          },
          "en": {
            "example": "You must be a clan member to get clan rewards. You join a clan when a clan member invites you to the clan, and you accept the invite. You can also create your own clan.",
            "type": [
              "string",
              "null"
            ]
          },
          "es": {
            "example": "Debes ser miembro de un clan para obtener las recompensas del clan. Te unes a un clan cuando un miembro del clan te invita al clan y aceptas la invitación. También puedes crear tu propio clan.",
            "type": [
              "string",
              "null"
            ]
          },
          "fr": {
            "example": "Vous devez être membre d'un clan pour obtenir les récompenses du clan. Vous rejoignez un clan lorsque qu'un membre du clan vous invite au clan et que vous acceptez l'invitation. Vous pouvez également créer votre propre clan.",
            "type": [
              "string",
              "null"
            ]
          },
          "he": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "it": {
            "example": "Devi essere un membro del clan per ottenere le ricompense del clan. Ti unisci a un clan quando un membro del clan ti invita al clan e accetti l'invito. Puoi anche creare il tuo clan.",
            "type": [
              "string",
              "null"
            ]
          },
          "ja": {
            "example": "クランリワードを受け取るには、クランメンバーでなければなりません。 クランメンバーがあなたをクランに招待し、招待を受け入れると、クランに参加できます。 あなた自身のクランを作成することもできます。",
            "type": [
              "string",
              "null"
            ]
          },
          "ko": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "pl": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "pt": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "ro": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "ru": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "th": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "tr": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "tw": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          },
          "vi": {
            "example": null,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "price_conditions_bonus": {
        "description": "Matriz de objetos com condições que definem a faixa de preço para aplicar a promoção.<br> A promoção se aplica apenas a itens cujo preço atenda a todas as condições da matriz. Se você passar essa matriz, defina o valor do objeto [condition](/pt/api/shop-builder/operation/create-bonus-promotion/#!path=condition&t=request) como `null`.",
        "items": {
          "$ref": "#/components/schemas/price_conditions_items"
        },
        "type": [
          "array",
          "null"
        ]
      },
      "price_conditions_discount": {
        "description": "Matriz de objetos com condições que definem a faixa de preço para aplicar a promoção.<br> A promoção se aplica apenas a itens cujo preço atenda a todas as condições da matriz. Se você passar essa matriz, defina o valor do objeto [items](/pt/api/shop-builder/operation/create-item-promotion/#!path=items&t=request) como `null`.",
        "items": {
          "$ref": "#/components/schemas/price_conditions_items"
        },
        "type": [
          "array",
          "null"
        ]
      },
      "price_conditions_items": {
        "description": "Cada objeto descreve uma regra sobre qual deve ser o preço.",
        "properties": {
          "operator": {
            "description": "Comparison operator for setting the price range for applying the promotion.\n\nPossible values:\n- `ge` — Greater or equal\n- `gt` — Greater than\n- `le` — Less or equal\n- `lt` — Less than\n- `eq` — Equals\n- `ne` — Not equals",
            "enum": [
              "ge",
              "gt",
              "le",
              "lt",
              "eq",
              "ne"
            ],
            "type": "string"
          },
          "value": {
            "description": "Valor para determinar a faixa de preço para aplicar a promoção.",
            "pattern": "^\\d+(\\.\\d{1,4})?$",
            "type": "string"
          }
        },
        "required": [
          "operator",
          "value"
        ],
        "type": "object"
      },
      "price_conditions_promocode": {
        "description": "Matriz de objetos com condições que definem a faixa de preço para aplicar a promoção ao carrinho inteiro.<br>\n O preço total de todos os itens no carrinho do usuário é comparado com a faixa de preço especificada na condição. [Bônus](/pt/api/shop-builder/operation/create-promo-code/#!path=bonus&t=request) e [descontos](/pt/api/shop-builder/operation/create-promo-code/#!path=discount&t=request) são aplicados a todos os itens no carrinho se o preço do carrinho atender à condição especificada.<br>\n Se você passar esta matriz, defina o valor da matriz [discounted_items](/pt/api/shop-builder/operation/create-promo-code/#!path=discounted_items&t=request) como `null`.",
        "items": {
          "$ref": "#/components/schemas/price_conditions_items"
        },
        "type": [
          "array",
          "null"
        ]
      },
      "promotion_periods": {
        "description": "Períodos de validade da promoção. Se múltiplos períodos forem especificados, tanto `date_from` quanto `date_until` são necessários.",
        "items": {
          "properties": {
            "date_from": {
              "description": "Data de início da promoção especificada.",
              "example": "2020-08-11T10:00:00+03:00",
              "format": "date-time",
              "nullable": false,
              "type": "string"
            },
            "date_until": {
              "description": "Data de término da promoção especificada. Se definido como `null`, a promoção é indefinida. Pode ser `null` apenas se um único período de validade for especificado.",
              "example": "2020-08-11T20:00:00+03:00",
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "date_from"
          ],
          "type": "object"
        },
        "nullable": false,
        "type": "array"
      },
      "promotion_recurrent_schedule_response": {
        "description": "Limite o período de atualização.",
        "properties": {
          "per_user": {
            "description": "Período de atualização do limite do usuário.",
            "oneOf": [
              {
                "description": "Tipo diário de atualização de limites de usuário.",
                "properties": {
                  "displayable_reset_next_date": {
                    "description": "Data e hora em que os limites devem ser redefinidos (ISO 8601).",
                    "example": "2023-02-28T11:00:00+08:00",
                    "format": "date-time",
                    "type": "string"
                  },
                  "displayable_reset_start_date": {
                    "description": "Data e hora da primeira atualização de limite (ISO 8601).",
                    "example": "2023-02-28T11:00:00+08:00",
                    "format": "date-time",
                    "type": "string"
                  },
                  "interval_type": {
                    "description": "Tipo de período de atualização recorrente.",
                    "enum": [
                      "daily"
                    ],
                    "type": "string"
                  },
                  "reset_next_date": {
                    "description": "Data e hora em que os limites são atualizados (Unix Timestamp).",
                    "example": 1677553200,
                    "type": "integer"
                  },
                  "time": {
                    "description": "Tempo de atualização do limite no fuso horário desejado (arredondamento para horas).",
                    "example": "11:00:00+03:00",
                    "format": "full-time",
                    "type": "string"
                  }
                },
                "title": "interval_type = diariamente",
                "type": "object"
              },
              {
                "description": "Tipo semanal de atualização de limites de usuário.",
                "properties": {
                  "day_of_week": {
                    "description": "Dia da semana em que os limites se atualizam. Onde 1 é segunda-feira e 7 é domingo. Não `null` apenas para o tipo de período de atualização de limite `weekly`.",
                    "maximum": 7,
                    "minimum": 1,
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "displayable_reset_next_date": {
                    "description": "Data e hora em que os limites devem ser redefinidos (ISO 8601).",
                    "example": "2023-02-28T11:00:00+08:00",
                    "format": "date-time",
                    "type": "string"
                  },
                  "displayable_reset_start_date": {
                    "description": "Data e hora da primeira atualização de limite (ISO 8601).",
                    "example": "2023-02-28T11:00:00+08:00",
                    "format": "date-time",
                    "type": "string"
                  },
                  "interval_type": {
                    "description": "Tipo de período de atualização recorrente.",
                    "enum": [
                      "weekly"
                    ],
                    "type": "string"
                  },
                  "reset_next_date": {
                    "description": "Data e hora em que os limites são atualizados (Unix Timestamp).",
                    "example": 1677553200,
                    "type": "integer"
                  },
                  "time": {
                    "description": "Tempo de atualização do limite no fuso horário desejado (arredondamento para horas).",
                    "example": "11:00:00+03:00",
                    "format": "full-time",
                    "type": "string"
                  }
                },
                "title": "interval_type = weekly",
                "type": "object"
              },
              {
                "description": "Tipo mensal de atualização dos limites de usuário.",
                "properties": {
                  "day_of_month": {
                    "description": "Dia do mês em que os limites são atualizados. Se não houver um dia selecionado do mês por ser mais curto, a atualização ocorrerá no último dia do mês. Não `null` apenas para o tipo de período de atualização de limite `monthly`.",
                    "maximum": 31,
                    "minimum": 1,
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "displayable_reset_next_date": {
                    "description": "Data e hora em que os limites devem ser redefinidos (ISO 8601).",
                    "example": "2023-02-28T11:00:00+08:00",
                    "format": "date-time",
                    "type": "string"
                  },
                  "displayable_reset_start_date": {
                    "description": "Data e hora da primeira atualização de limite (ISO 8601).",
                    "example": "2023-02-28T11:00:00+08:00",
                    "format": "date-time",
                    "type": "string"
                  },
                  "interval_type": {
                    "description": "Tipo de período de atualização recorrente.",
                    "enum": [
                      "monthly"
                    ],
                    "type": "string"
                  },
                  "reset_next_date": {
                    "description": "Data e hora em que os limites são atualizados (Unix Timestamp).",
                    "example": 1677553200,
                    "type": "integer"
                  },
                  "time": {
                    "description": "Tempo de atualização do limite no fuso horário desejado (arredondamento para horas).",
                    "example": "11:00:00+03:00",
                    "format": "full-time",
                    "type": "string"
                  }
                },
                "title": "interval_type = monthly",
                "type": "object"
              }
            ],
            "type": [
              "object",
              "null"
            ]
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "promotion_user-attribute_conditions_model-get": {
        "allOf": [
          {
            "$ref": "#/components/schemas/user-attribute_conditions_model-get"
          },
          {
            "description": "Condições para validação de atributos do usuário.\nDetermine a disponibilidade da promoção com base em se os atributos do usuário correspondem a todas as condições especificadas."
          }
        ]
      },
      "promotion_user-attribute_conditions_model-post": {
        "allOf": [
          {
            "$ref": "#/components/schemas/user-attribute_conditions_model-post"
          },
          {
            "description": "Condições para validação de atributos do usuário.\nDetermine a disponibilidade da promoção com base em se os atributos do usuário correspondem a todas as condições especificadas."
          }
        ]
      },
      "recurrent_schedule_client_side": {
        "description": "Período de reinicialização recorrente da cadeia de recompensas.",
        "properties": {
          "interval_type": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/interval_type_weekly",
                "title": "interval_type = weekly"
              },
              {
                "$ref": "#/components/schemas/interval_type_monthly",
                "title": "interval_type = monthly"
              },
              {
                "$ref": "#/components/schemas/interval_type_hourly_rc",
                "title": "interval_type = a cada hora"
              }
            ]
          },
          "reset_next_date": {
            "$ref": "#/components/schemas/reset_next_date"
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "recurrent_schedule_create_update": {
        "description": "Período de reinicialização recorrente da cadeia de recompensas.",
        "oneOf": [
          {
            "description": "Tipo semanal de atualização da cadeia de recompensas.",
            "properties": {
              "day_of_week": {
                "$ref": "#/components/schemas/day_of_week"
              },
              "interval_type": {
                "$ref": "#/components/schemas/interval_type_weekly"
              },
              "time": {
                "$ref": "#/components/schemas/time"
              }
            },
            "required": [
              "interval_type",
              "time",
              "day_of_week"
            ],
            "title": "interval_type = weekly",
            "type": "object"
          },
          {
            "description": "Tipo mensal de atualização da cadeia de recompensas.",
            "properties": {
              "day_of_month": {
                "$ref": "#/components/schemas/day_of_month"
              },
              "interval_type": {
                "$ref": "#/components/schemas/interval_type_monthly"
              },
              "time": {
                "$ref": "#/components/schemas/time"
              }
            },
            "required": [
              "interval_type",
              "time",
              "day_of_month"
            ],
            "title": "interval_type = monthly",
            "type": "object"
          },
          {
            "description": "Redefinição da cadeia de recompensas realizada em um intervalo de tempo especificado em horas.",
            "properties": {
              "hours_interval": {
                "$ref": "#/components/schemas/reward_chain_hours_interval"
              },
              "interval_type": {
                "$ref": "#/components/schemas/interval_type_hourly_rc"
              }
            },
            "required": [
              "interval_type",
              "hours_interval"
            ],
            "title": "interval_type = a cada hora",
            "type": "object"
          }
        ],
        "type": [
          "object",
          "null"
        ]
      },
      "reset_next_date": {
        "description": "Data e hora calculadas em que a cadeia de recompensas será redefinida na próxima vez <a href=\"https://en.wikipedia.org/wiki/Unix_time\" target=\"_blank\">(Unix Timestamp)</a>.<br><br> Por exemplo, a cadeia de recompensas é redefinida mensalmente, a partir de 1º de março de 2024, às 01:00 no horário de Kuala Lumpur (GMT+8). A data e hora da próxima redefinição da cadeia de recompensas será 1º de abril de 2024 às 01:00 no horário de Kuala Lumpur (GMT+8), que equivale a 31 de março de 2024 17:00 GMT+0 ou '1711904400000' no formato Unix Timestamp. <br><br> Exemplo: '1711904400000'",
        "type": "integer"
      },
      "reward-chain-step-reward_user-attribute_conditions_model-get": {
        "allOf": [
          {
            "$ref": "#/components/schemas/user-attribute_conditions_model-get"
          },
          {
            "description": "Condições para validação de atributos do usuário.\nDetermine a disponibilidade da recompensa para as etapas da cadeia de recompensas com base em se os atributos do usuário correspondem a todas as condições especificadas."
          }
        ]
      },
      "reward-chain-step-reward_user-attribute_conditions_model-post": {
        "allOf": [
          {
            "$ref": "#/components/schemas/user-attribute_conditions_model-post"
          },
          {
            "description": "Condições para validação de atributos do usuário.\nDetermine a disponibilidade da recompensa para as etapas da cadeia de recompensas com base em se os atributos do usuário correspondem a todas as condições especificadas."
          }
        ]
      },
      "reward_chain_hours_interval": {
        "description": "Intervalo em horas, após o qual a cadeia de recompensas é reiniciada. <br><br>A contagem regressiva começa a partir do parâmetro <a href=\"https://developers.xsolla.com/pt/api/shop-builder/operation/admin-create-reward-chain/#!path=0/date_start&t=request\">date_start</a>. <br><br> Por exemplo, se `date_start = \"2025-11-15T18:15:00+05:00\"` e `hours_interval = 2`, a cadeia de recompensas será redefinida a cada 2 horas começando a partir de `\"2025-11-15T20:15:00+05:00\"`.",
        "maximum": 10000,
        "minimum": 1,
        "type": "integer"
      },
      "reward_chain_id": {
        "description": "ID de cadeia de recompensas exclusivo.",
        "example": 9,
        "type": "integer"
      },
      "reward_item_quantity": {
        "description": "Quantidade do item.",
        "example": 2,
        "type": "integer"
      },
      "reward_step_price": {
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/step_price_amount"
          }
        },
        "required": [
          "amount"
        ],
        "type": "object"
      },
      "reward_step_short": {
        "description": "Etapa da cadeia de recompensas.",
        "properties": {
          "image_url": {
            "$ref": "#/components/schemas/image_url"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "price": {
            "$ref": "#/components/schemas/reward_step_price"
          },
          "reward": {
            "items": {
              "properties": {
                "attribute_conditions": {
                  "$ref": "#/components/schemas/reward-chain-step-reward_user-attribute_conditions_model-get"
                },
                "quantity": {
                  "$ref": "#/components/schemas/reward_item_quantity"
                },
                "sku": {
                  "$ref": "#/components/schemas/sku"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "step_id": {
            "$ref": "#/components/schemas/step_id"
          }
        },
        "type": "object"
      },
      "rolling-skippable-daily-chain-base": {
        "description": "Propriedades básicas para o tipo de recompensa diária `rolling_skippable`.",
        "properties": {
          "date_end": {
            "$ref": "#/components/schemas/rolling_date_end"
          },
          "date_start": {
            "$ref": "#/components/schemas/daily_rolling_chain_date_start"
          },
          "is_recurrent": {
            "$ref": "#/components/schemas/rolling_is_recurrent"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/daily_chain_type"
              },
              {
                "enum": [
                  "rolling_skippable"
                ]
              }
            ]
          }
        },
        "type": "object"
      },
      "rolling-unskippable-daily-chain-base": {
        "description": "Propriedades básicas para o tipo de recompensa diária `rolling_unskippable`.",
        "properties": {
          "date_end": {
            "$ref": "#/components/schemas/rolling_date_end"
          },
          "date_start": {
            "$ref": "#/components/schemas/daily_rolling_chain_date_start"
          },
          "is_recurrent": {
            "$ref": "#/components/schemas/rolling_is_recurrent"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/daily_chain_type"
              },
              {
                "enum": [
                  "rolling_unskippable"
                ]
              }
            ]
          }
        },
        "type": "object"
      },
      "rolling_date_end": {
        "description": "Data em que sua cadeia de recompensas diárias termina.",
        "example": "2020-04-15T18:16:00+05:00",
        "format": "date-time",
        "type": [
          "string",
          "null"
        ]
      },
      "rolling_is_recurrent": {
        "default": false,
        "description": "Se a recompensa diária é recorrente ou não. Se `true`, a recompensa diária é redefinida quando o usuário conclui todas as etapas, permitindo que ele comece novamente a partir da etapa 1. A recorrência é válida apenas dentro do período de recompensa ativo, conforme definido por `date_start` e `date_end`.",
        "example": true,
        "type": "boolean"
      },
      "sku": {
        "description": "ID de item exclusivo. O SKU só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.",
        "example": "booster_mega_1",
        "maxLength": 255,
        "minLength": 1,
        "pattern": "^[a-zA-Z0-9_\\-–.]*$",
        "type": "string"
      },
      "step_id": {
        "description": "ID de etapa exclusivo.",
        "example": 10,
        "type": [
          "integer",
          "null"
        ]
      },
      "step_price_amount": {
        "description": "Preço da etapa em pontos de valor.",
        "example": 100,
        "type": "integer"
      },
      "time": {
        "description": "Hora em que a cadeia de recompensas é redefinida no fuso horário desejado (arredondamento para horas). <br><br> Por exemplo, a hora definida para a redefinição da cadeia de recompensas é 01:00 para o fuso horário de Kuala Lumpur (GMT+8). Nesse caso, o valor do parâmetro `time` é '01:00:00+08:00'.",
        "example": "01:00:00+08:00",
        "pattern": "((0[0-9]|1[0-9]|2[0-3]):00:00)(\\+|-)(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9])",
        "type": "string"
      },
      "top_contributors": {
        "properties": {
          "contributed_amount": {
            "description": "Quantidade de pontos de valor ganhos pelo usuário.",
            "example": 100,
            "type": "integer"
          },
          "name": {
            "description": "ID de usuário que é enviado à Xsolla durante o processo de autorização. O ID de usuário é usado para vincular o usuário ao seu projeto Login da Xsolla e é exibido como um apelido. Se você estiver usando autorização por [ID](https://developers.xsolla.com/pt/solutions/web-shop/create-web-shop/set-up-authentication/?tabs=100-UserIDAuth&link=100-UserIDAuth) de usuário, recomendamos passar o <code>name</code> parâmetro na [resposta do webhook](https://developers.xsolla.com/pt/webhooks/operation/user-validation-in-webshop/). Este parâmetro contém o nome de usuário que será usado como apelido.",
            "example": "Rocket",
            "type": "string"
          }
        },
        "type": [
          "object",
          "null"
        ]
      },
      "total_promotions_count": {
        "description": "Número total de promoções.",
        "type": "integer"
      },
      "two-letter-locale": {
        "description": "Códigos de idioma minúsculos de duas letras.",
        "properties": {
          "ar": {
            "description": "Árabe",
            "type": [
              "string",
              "null"
            ]
          },
          "bg": {
            "description": "Búlgaro",
            "type": [
              "string",
              "null"
            ]
          },
          "cn": {
            "description": "Chinês (Simplificado)",
            "type": [
              "string",
              "null"
            ]
          },
          "cs": {
            "description": "Tcheco",
            "type": [
              "string",
              "null"
            ]
          },
          "de": {
            "description": "Alemão",
            "type": [
              "string",
              "null"
            ]
          },
          "en": {
            "description": "Inglês",
            "type": [
              "string",
              "null"
            ]
          },
          "es": {
            "description": "Espanhol (Espanha)",
            "type": [
              "string",
              "null"
            ]
          },
          "fr": {
            "description": "Francês",
            "type": [
              "string",
              "null"
            ]
          },
          "he": {
            "description": "Hebraico",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Indonésio",
            "type": [
              "string",
              "null"
            ]
          },
          "it": {
            "description": "Italiano",
            "type": [
              "string",
              "null"
            ]
          },
          "ja": {
            "description": "Japonês",
            "type": [
              "string",
              "null"
            ]
          },
          "km": {
            "description": "Khmer",
            "type": [
              "string",
              "null"
            ]
          },
          "ko": {
            "description": "Coreano",
            "type": [
              "string",
              "null"
            ]
          },
          "lo": {
            "description": "Lao",
            "type": [
              "string",
              "null"
            ]
          },
          "my": {
            "description": "Birmanês",
            "type": [
              "string",
              "null"
            ]
          },
          "ne": {
            "description": "Nepalês",
            "type": [
              "string",
              "null"
            ]
          },
          "ph": {
            "description": "Filipino",
            "type": [
              "string",
              "null"
            ]
          },
          "pl": {
            "description": "Polonês",
            "type": [
              "string",
              "null"
            ]
          },
          "pt": {
            "description": "Português",
            "type": [
              "string",
              "null"
            ]
          },
          "ro": {
            "description": "Romeno",
            "type": [
              "string",
              "null"
            ]
          },
          "ru": {
            "description": "Russo",
            "type": [
              "string",
              "null"
            ]
          },
          "th": {
            "description": "Tailandês",
            "type": [
              "string",
              "null"
            ]
          },
          "tr": {
            "description": "Turco",
            "type": [
              "string",
              "null"
            ]
          },
          "tw": {
            "description": "Chinês (Tradicional)",
            "type": [
              "string",
              "null"
            ]
          },
          "vi": {
            "description": "Vietnamita",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "title": "two-letter",
        "type": [
          "object",
          "null"
        ]
      },
      "unit_type": {
        "description": "Tipo de unidade: `game`.",
        "example": "game",
        "type": "string"
      },
      "update-calendar-hard-daily-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/calendar-hard-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária pelo tipo `calendar_hard`.",
            "properties": {
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "id": {
                "$ref": "#/components/schemas/daily_chain_id"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "steps": {
                "items": {
                  "$ref": "#/components/schemas/modify-daily-chain-step-model"
                },
                "type": "array"
              }
            },
            "required": [
              "name",
              "date_start",
              "steps",
              "is_enabled",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "update-clan-reward-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/create-reward-chain-model"
          },
          {
            "description": "Cadeia de recompensas de clã.",
            "properties": {
              "clan_type": {
                "$ref": "#/components/schemas/clan_type"
              },
              "popup_header": {
                "$ref": "#/components/schemas/popup_header-two-letter-locale"
              },
              "popup_image_url": {
                "$ref": "#/components/schemas/popup_image_url"
              },
              "popup_instruction": {
                "$ref": "#/components/schemas/popup_instruction-two-letter-locale"
              }
            },
            "required": [
              "name",
              "periods",
              "steps",
              "is_enabled",
              "popup_header",
              "popup_instruction"
            ],
            "type": "object"
          }
        ]
      },
      "update-reward-chain-model": {
        "description": "Uma cadeia de recompensas.",
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/chain_user-attribute_conditions_model-post"
          },
          "description": {
            "$ref": "#/components/schemas/description-localization-object"
          },
          "image_url": {
            "$ref": "#/components/schemas/image_url"
          },
          "is_always_visible": {
            "$ref": "#/components/schemas/chain_is_always_visible"
          },
          "is_enabled": {
            "$ref": "#/components/schemas/is_enabled"
          },
          "is_reset_after_end": {
            "$ref": "#/components/schemas/is_reset_after_end"
          },
          "long_description": {
            "$ref": "#/components/schemas/long-description-localization-object"
          },
          "name": {
            "$ref": "#/components/schemas/name-localization-object"
          },
          "order": {
            "$ref": "#/components/schemas/order"
          },
          "periods": {
            "$ref": "#/components/schemas/periods"
          },
          "recurrent_schedule": {
            "$ref": "#/components/schemas/recurrent_schedule_create_update"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/modify_reward_step"
            },
            "type": "array"
          }
        },
        "required": [
          "name",
          "periods",
          "steps",
          "is_enabled"
        ],
        "type": "object"
      },
      "update-rolling-skippable-daily-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/rolling-skippable-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária pelo tipo `rolling_skippable`.",
            "properties": {
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "id": {
                "$ref": "#/components/schemas/daily_chain_id"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "steps": {
                "items": {
                  "$ref": "#/components/schemas/modify-daily-chain-step-model"
                },
                "type": "array"
              }
            },
            "required": [
              "name",
              "date_start",
              "steps",
              "is_enabled",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "update-rolling-unskippable-daily-chain-model": {
        "allOf": [
          {
            "$ref": "#/components/schemas/rolling-unskippable-daily-chain-base"
          },
          {
            "description": "Uma recompensa diária pelo tipo `rolling_unskippable`.",
            "properties": {
              "description": {
                "$ref": "#/components/schemas/description-localization-object"
              },
              "id": {
                "$ref": "#/components/schemas/daily_chain_id"
              },
              "is_enabled": {
                "$ref": "#/components/schemas/is_enabled"
              },
              "name": {
                "$ref": "#/components/schemas/name-localization-object"
              },
              "order": {
                "$ref": "#/components/schemas/order"
              },
              "steps": {
                "items": {
                  "$ref": "#/components/schemas/modify-daily-chain-step-model"
                },
                "type": "array"
              }
            },
            "required": [
              "name",
              "date_start",
              "steps",
              "is_enabled",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "update_step_id": {
        "description": "ID exclusivo da etapa da cadeia. Especifique-o durante a atualização para reter o progresso do usuário para esta etapa.",
        "example": 10,
        "minimum": 1,
        "type": [
          "integer",
          "null"
        ]
      },
      "user-attribute_condition_date_model-get": {
        "properties": {
          "attribute": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_attribute"
          },
          "can_be_missing": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_can_be_missing"
          },
          "operator": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_operator_date"
          },
          "type": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_type-date"
          },
          "value": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_value"
          }
        },
        "title": "tipo = data",
        "type": "object"
      },
      "user-attribute_condition_date_model-post": {
        "properties": {
          "attribute": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_attribute"
          },
          "can_be_missing": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_can_be_missing"
          },
          "operator": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_operator_date"
          },
          "type": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_type-date"
          },
          "value": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_value"
          }
        },
        "required": [
          "attribute",
          "operator",
          "value",
          "type"
        ],
        "title": "tipo = data",
        "type": "object"
      },
      "user-attribute_condition_number_model-get": {
        "properties": {
          "attribute": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_attribute"
          },
          "can_be_missing": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_can_be_missing"
          },
          "operator": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_operator_number"
          },
          "type": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_type-number"
          },
          "value": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_value"
          }
        },
        "title": "tipo = number",
        "type": "object"
      },
      "user-attribute_condition_number_model-post": {
        "properties": {
          "attribute": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_attribute"
          },
          "can_be_missing": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_can_be_missing"
          },
          "operator": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_operator_number"
          },
          "type": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_type-number"
          },
          "value": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_value"
          }
        },
        "required": [
          "attribute",
          "operator",
          "value",
          "type"
        ],
        "title": "tipo = number",
        "type": "object"
      },
      "user-attribute_condition_string_model-get": {
        "properties": {
          "attribute": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_attribute"
          },
          "can_be_missing": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_can_be_missing"
          },
          "operator": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_operator_string"
          },
          "type": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_type-string"
          },
          "value": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_value"
          }
        },
        "title": "tipo = string",
        "type": "object"
      },
      "user-attribute_condition_string_model-post": {
        "properties": {
          "attribute": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_attribute"
          },
          "can_be_missing": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_can_be_missing"
          },
          "operator": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_operator_string"
          },
          "type": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_type-string"
          },
          "value": {
            "$ref": "#/components/schemas/user-attribute_conditions_properties_value"
          }
        },
        "required": [
          "attribute",
          "operator",
          "value",
          "type"
        ],
        "title": "tipo = string",
        "type": "object"
      },
      "user-attribute_conditions_model-get": {
        "items": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/user-attribute_condition_string_model-get"
            },
            {
              "$ref": "#/components/schemas/user-attribute_condition_number_model-get"
            },
            {
              "$ref": "#/components/schemas/user-attribute_condition_date_model-get"
            }
          ]
        },
        "maxItems": 100,
        "minItems": 1,
        "type": "array"
      },
      "user-attribute_conditions_model-post": {
        "items": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/user-attribute_condition_string_model-post"
            },
            {
              "$ref": "#/components/schemas/user-attribute_condition_number_model-post"
            },
            {
              "$ref": "#/components/schemas/user-attribute_condition_date_model-post"
            }
          ]
        },
        "maxItems": 100,
        "minItems": 1,
        "type": "array"
      },
      "user-attribute_conditions_properties_attribute": {
        "description": "Código de atributo do usuário.",
        "maxLength": 255,
        "minLength": 1,
        "pattern": "^[-_.\\d\\w]+$",
        "type": "string"
      },
      "user-attribute_conditions_properties_can_be_missing": {
        "description": "Indica que a condição é atendida mesmo se o atributo estiver ausente dos atributos do usuário. Passe `true` para mostrar o item aos usuários que não têm esse atributo. Os usuários que têm o atributo, mas o valor não corresponder ao especificado na condição, não verão o item. `false` — os usuários que têm o atributo, mas o valor não corresponder ao especificado na condição, ou o atributo estiver ausente, não verão o item.",
        "type": "boolean"
      },
      "user-attribute_conditions_properties_operator_date": {
        "description": "Type of operation performed by condition. For <code>date</code> attribute type.\n\nPossible values:\n- `eq` — Equals\n- `ne` — Not equals\n- `lt` — Earlier\n- `gt` — Later\n- `le` — Earlier or equals\n- `ge` — Later or equals",
        "enum": [
          "eq",
          "ne",
          "lt",
          "gt",
          "le",
          "ge"
        ],
        "type": "string"
      },
      "user-attribute_conditions_properties_operator_number": {
        "description": "Type of operation performed by condition. For <code>number</code> attribute type.\n\nPossible values:\n- `eq` — Equals\n- `ne` — Not equals\n- `gt` — Greater\n- `ge` — Greater or equals\n- `lt` — Less\n- `le` — Less or equals",
        "enum": [
          "eq",
          "ne",
          "gt",
          "ge",
          "lt",
          "le"
        ],
        "type": "string"
      },
      "user-attribute_conditions_properties_operator_string": {
        "description": "Type of operation performed by condition. For <code>string</code> attribute type.\n\nPossible values:\n- `eq` — Equals\n- `ne` — Not equals",
        "enum": [
          "eq",
          "ne"
        ],
        "type": "string"
      },
      "user-attribute_conditions_properties_type-date": {
        "description": "Tipo de atributo de usuário.",
        "enum": [
          "date"
        ],
        "type": "string"
      },
      "user-attribute_conditions_properties_type-number": {
        "description": "Tipo de atributo de usuário.",
        "enum": [
          "number"
        ],
        "type": "string"
      },
      "user-attribute_conditions_properties_type-string": {
        "description": "Tipo de atributo de usuário.",
        "enum": [
          "string"
        ],
        "type": "string"
      },
      "user-attribute_conditions_properties_value": {
        "description": "Valor da condição com o qual o valor do atributo do usuário será comparado. O tipo depende do tipo de atributo.",
        "maxLength": 255,
        "type": "string"
      },
      "user-attribute_personalized-catalog": {
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/personalized-catalog_user-attribute_conditions_model-get"
          },
          "is_enabled": {
            "description": "Se a regra estiver habilitada.",
            "type": "boolean"
          },
          "is_satisfied_for_unauth": {
            "description": "Se o item é exibido para usuários não autorizados. Se `true`, o item será exibido para o usuário não autorizado, independentemente das regras de exibição do catálogo. `false` por padrão.",
            "type": "boolean"
          },
          "items": {
            "items": {
              "description": "Itens que serão mostrados para o usuário se seus valores de atributo atenderem às condições.",
              "properties": {
                "bundle_type": {
                  "description": "Tipo de pacote. Devolvido se o tipo de item for um pacote.",
                  "enum": [
                    "standard",
                    "virtual_currency_package"
                  ],
                  "type": "string"
                },
                "item_id": {
                  "description": "ID do item.",
                  "type": "number"
                },
                "name": {
                  "description": "Nome do item.",
                  "type": "string"
                },
                "sku": {
                  "description": "SKU do item.",
                  "type": "string"
                },
                "type": {
                  "description": "Tipo de item.",
                  "enum": [
                    "virtual_good",
                    "virtual_currency",
                    "bundle",
                    "physical_good",
                    "unit"
                  ],
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "name": {
            "description": "Nome legível de uma regra. Usado para exibir uma regra na Conta de Distribuidor.",
            "type": "string"
          },
          "rule_id": {
            "description": "ID da regra.",
            "type": "number"
          }
        },
        "required": [
          "rule_id",
          "name",
          "is_enabled",
          "attribute_conditions",
          "items"
        ],
        "type": "object"
      },
      "user-attribute_personalized-catalog-body": {
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/personalized-catalog_user-attribute_conditions_model-post"
          },
          "is_enabled": {
            "description": "Se a regra estiver habilitada.",
            "type": "boolean"
          },
          "is_satisfied_for_unauth": {
            "description": "Se o item é exibido para usuários não autorizados. Se `true`, o item será exibido para o usuário não autorizado, independentemente das regras de exibição do catálogo. `false` por padrão.",
            "type": "boolean"
          },
          "items": {
            "items": {
              "oneOf": [
                {
                  "description": "Itens que são mostrados a um usuário se seus valores de atributo atenderem às condições.",
                  "properties": {
                    "item_id": {
                      "description": "ID do item.",
                      "type": "number"
                    }
                  },
                  "required": [
                    "item_id"
                  ],
                  "type": "object"
                },
                {
                  "description": "Itens que são mostrados a um usuário se seus valores de atributo atenderem às condições.",
                  "properties": {
                    "sku": {
                      "description": "SKU do item.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "sku"
                  ],
                  "type": "object"
                }
              ]
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          },
          "name": {
            "description": "Nome legível de uma regra. Usado para exibir uma regra na Conta de Distribuidor.",
            "maxLength": 255,
            "minLength": 1,
            "pattern": "^\\S",
            "type": "string"
          }
        },
        "type": "object"
      },
      "user-attribute_personalized-catalog-body-required": {
        "properties": {
          "attribute_conditions": {
            "$ref": "#/components/schemas/personalized-catalog_user-attribute_conditions_model-post"
          },
          "is_enabled": {
            "description": "Se a regra estiver habilitada.",
            "type": "boolean"
          },
          "is_satisfied_for_unauth": {
            "description": "Se o item é exibido para usuários não autorizados. Se `true`, o item será exibido para o usuário não autorizado, independentemente das regras de exibição do catálogo. `false` por padrão.",
            "type": "boolean"
          },
          "items": {
            "items": {
              "oneOf": [
                {
                  "description": "Itens que são mostrados a um usuário se seus valores de atributo atenderem às condições.",
                  "properties": {
                    "item_id": {
                      "description": "ID do item.",
                      "type": "number"
                    }
                  },
                  "required": [
                    "item_id"
                  ],
                  "type": "object"
                },
                {
                  "description": "Itens que são mostrados a um usuário se seus valores de atributo atenderem às condições.",
                  "properties": {
                    "sku": {
                      "description": "SKU do item.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "sku"
                  ],
                  "type": "object"
                }
              ]
            },
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          },
          "name": {
            "description": "Nome legível de uma regra. Usado para exibir uma regra na Conta de Distribuidor.",
            "maxLength": 255,
            "minLength": 1,
            "pattern": "^\\S",
            "type": "string"
          }
        },
        "required": [
          "name",
          "is_enabled",
          "attribute_conditions",
          "items"
        ],
        "type": "object"
      },
      "user-attribute_personalized-catalog_all": {
        "properties": {
          "is_enabled": {
            "description": "Se a regra estiver habilitada.",
            "type": "boolean"
          },
          "is_satisfied_for_unauth": {
            "description": "Se o item é exibido para usuários não autorizados. Se `true`, o item será exibido para o usuário não autorizado, independentemente das regras de exibição do catálogo. `false` por padrão.",
            "type": "boolean"
          },
          "name": {
            "description": "Nome legível de uma regra. Usado para exibir uma regra na Conta de Distribuidor.",
            "type": "string"
          },
          "rule_id": {
            "description": "ID da regra.",
            "type": "number"
          }
        },
        "required": [
          "rule_id",
          "name",
          "is_enabled"
        ],
        "type": "object"
      },
      "value-external_id": {
        "description": "ID de valor exclusivo para um atributo. O `external_id` pode conter apenas caracteres alfanuméricos latinos minúsculos, traços e sublinhados.",
        "example": "attribute_value",
        "maxLength": 255,
        "minLength": 1,
        "pattern": "^[-_.\\d\\w]+$",
        "type": "string"
      },
      "value-is_free": {
        "default": false,
        "description": "Se o item é gratuito ou não.",
        "example": false,
        "type": "boolean"
      },
      "value-point-amount": {
        "description": "Quantidade de pontos de valor.",
        "type": "integer"
      },
      "value-point-description": {
        "description": "Descrição do ponto de valor.",
        "type": [
          "string",
          "null"
        ]
      },
      "value-point-long-description": {
        "description": "Descrição longa do ponto de valor.",
        "type": [
          "string",
          "null"
        ]
      },
      "value-point-name": {
        "description": "Nome do ponto de valor.",
        "type": "string"
      },
      "value-point-sku": {
        "description": "ID de ponto de valor exclusivo.",
        "type": "string"
      }
    },
    "securitySchemes": {
      "AuthForCart": {
        "description": "The `AuthForCart` authentication scheme is used for cart purchases and supports two modes:\n\n1. Authentication with a user's JWT. The token is passed in the Authorization header in the following format: `Authorization: Bearer <user_JWT>`, where `<user_JWT>` is the user token. The token identifies the user and provides access to personalized data.\n\nAlternatively, you can use a [token for opening the payment UI](/pt/api/pay-station/token/create-token).\n\n2. Simplified mode without `Authorization` header. This mode is used only for unauthorized users and can be applied only for [selling game keys](/pt/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users). Instead of a token, the request must include the following headers:\n* `x-unauthorized-id` with a request ID\n* `x-user` with the user’s email address encoded in Base64.",
        "scheme": "bearer",
        "type": "http"
      },
      "XsollaLoginUserJWT": {
        "bearerFormat": "JWT",
        "description": "Client-side calls use the `XsollaLoginUserJWT` authentication scheme. The request must include the user's JWT in the `Authorization` header in the following format: Bearer `<user_JWT>`. The token identifies the user and provides access to personalized data. For details on how to create a token, refer to the [Xsolla Login API documentation](/pt/api/login/authentication-schemes#getting-user-token).\n\nAlternatively, you can use a [token for opening the payment UI](/pt/api/pay-station/token/create-token).",
        "scheme": "bearer",
        "type": "http"
      },
      "basicAuth": {
        "description": "Server-side calls use the `basicAuth` authentication scheme. All requests to API must\ncontain the `Authorization: Basic <your_authorization_basic_key>`\nheader, where `your_authorization_basic_key` is the `project_id:api_key`\npair encoded according to the Base64 standard.\n\nYou can use `merchant_id` instead of `project_id` if you need. It doesn't affect functionality.\n\nGo to [Publisher Account](https://publisher.xsolla.com/) to find values of the parameters:\n\n* `merchant_id` is shown:\n  * In the **Company settings > Company** section\n  * In the URL in the browser address bar on any Publisher Account page. The URL has the following format: `https://publisher.xsolla.com/<merchant_id>`.\n* `api_key` is shown in Publisher Account only once when it is created and must be stored on your side. You can create a new key in the following section:\n  * [Company settings > API keys](https://publisher.xsolla.com/0/settings/api_key)\n  * [Project settings > API keys](https://publisher.xsolla.com/0/projects/0/edit/api_key)\n\n{% html name=\"div\" attrs={\"class\": \"notice\"} %}\n**Notice**\n\nIf a required API call doesn't include the `project_id` path parameter, use an API key that is valid across all company projects for authorization.\n{% /html %}\n\n* `project_id` is shown:\n  * In Publisher Account next to the name of the project.\n  * In the URL in the browser address bar when working on project in Publisher Account. The URL has the following format: `https://publisher.xsolla.com/<merchant_id>/projects/<project_id>`.\n\nFor more information about working with API keys, see the [API reference](https://developers.xsolla.com/pt/api/getting-started/#api_keys_overview).",
        "scheme": "basic",
        "type": "http"
      },
      "basicMerchantAuth": {
        "description": "Server-side calls use the `basicMerchantAuth` authentication scheme.  All requests to API must\ncontain the `Authorization: Basic <your_authorization_basic_key>`\nheader, where `your_authorization_basic_key` is the `merchant_id:api_key`\npair encoded according to the Base64 standard.\n\nGo to [Publisher Account](https://publisher.xsolla.com/) to find values of the parameters:\n\n* `merchant_id` is shown:\n  * In the **Company settings > Company** section\n  * In the URL in the browser address bar on any Publisher Account page. The URL has the following format: `https://publisher.xsolla.com/<merchant_id>`\n* `api_key` is shown in Publisher Account only once when it is created and must be stored on your side. You can create a new key in the [Company settings > API keys](https://publisher.xsolla.com/0/settings/api_key) section.\n\nFor more information about working with API keys, see the [API reference](https://developers.xsolla.com/pt/api/getting-started/#api_keys_overview).",
        "scheme": "basic",
        "type": "http"
      }
    }
  },
  "info": {
    "description": "# Overview\n\n* **Version:** 2.0.0\n* **Servers**: `https://store.xsolla.com/api`\n* **[Contact Us by Email](mailto:integration@xsolla.com)**\n* **Contact URL:** https://xsolla.com/\n* **Required TLS version:** 1.2\n\nLiveOps is a toolkit for driving ongoing player engagement through promotions and personalized offers.\n\nUse the API to manage the following features:\n\n* **Promotions** — create and manage coupons, promo codes, discounts, and bonus campaigns.\n* **Personalization** — specify the conditions for displaying the item catalog and applying promotions only for certain authorized users.\n* **Promotion limits** — set a limit on how many times a promotion can be used by a user and configure scheduled resets for these limits.\n* **Reward chains & Value points** — configure reward progressions tied to value point accumulation.\n* **Daily chains** — set up recurring daily rewards to motivate regular logins.\n* **Offer chains** — build sequential purchase offers with per-step pricing and free reward options.\n* **Upsell** — a sales method in which the user is offered to buy an item with additional value.\n\n## API calls\n\nThe API is divided into the **following groups**:\n\n* **<nt>Admin</nt>** — calls for creating, updating, activating, and deleting campaigns and chain configurations. Authenticated via [basic access authentication](https://developers.xsolla.com/pt/payment-ui-and-flow/payment-ui/how-to-get-payment-token/#payments_solution_get_user_auth_token_basic_auth) with your merchant or project credentials.\n* **<nt>Client</nt>** — calls for retrieving available promotions, getting active chains, redeeming codes, and claiming rewards on behalf of authenticated end users. Authenticated via user JWT.\n\n# Authentication\n\nAPI calls require authentication either on behalf of a user or on behalf of a project. The authentication scheme used is specified in the **Security** section in the description of each call.\n\n## Authentication using user's JWT\n\nUser's JWT authentication is used when a request is sent from a browser, mobile application, or game. By default, the `XsollaLoginUserJWT` scheme is applied. For details on how to create a token, see the [Xsolla Login API documentation](/pt/api/login/authentication-schemes#getting-user-token).\n\nThe token is passed in the `Authorization` header in the following format: `Authorization: Bearer <user_JWT>`, where `<user_JWT>` is the user token. The token identifies the user and provides access to personalized data.\n\nAlternatively, you can use a [token for opening the payment UI](/pt/api/pay-station/token/create-token).\n\n## Basic HTTP authentication\n\nBasic HTTP authentication is used for server-to-server interactions, when an API call is sent directly from your server rather than from a user's browser or mobile application. HTTP Basic authentication with an [API key](/pt/api/getting-started/#api_keys_overview) is typically used.\n\n<div class=\"note\"><b>Note</b><br><br>The API key is confidential and must not be stored or used in client applications.</div>\n\nWith basic server-side authentication, all API requests must include the following header:\n\n- for `basicAuth` — `Authorization: Basic <your_authorization_basic_key>`, where `your_authorization_basic_key` is the `project_id:api_key` pair encoded in Base64\n- for `basicMerchantAuth` — `Authorization: Basic <your_authorization_basic_key>`, where `your_authorization_basic_key` is the `merchant_id:api_key` pair encoded in Base64\n\nYou can find the parameter values in [Publisher Account](https://publisher.xsolla.com/):\n\n- `merchant_id` is displayed:\n  - In **Company settings > Company**.\n  - In the URL in the browser address bar on any Publisher Account page. The URL has the following format: `https://publisher.xsolla.com/<merchant_id>`.\n- `project_id` is displayed:\n  - Next to the project name in Publisher Account.\n  - In the URL in the browser address bar when working on a project in Publisher Account. The URL has the following format: `https://publisher.xsolla.com/<merchant_id>/projects/<project_id>`.\n- `api_key` is shown in Publisher Account only at the time of creation and must be stored securely on your side. You can create an API key in the following sections:\n  - [Company settings > API keys](https://publisher.xsolla.com/0/settings/api_key)\n  - [Project settings > API key](https://publisher.xsolla.com/0/projects/0/edit/api_key)\n\n<div class=\"notice\"><b>Notice</b><br><br>If a required API call doesn't include the <code>project_id</code> path parameter, use an API key that is valid across all company projects for authorization.</div>\n\nFor more information about working with API keys, see the [API references](/pt/api/getting-started/#api_keys_overview).\n\n## Authentication with guest access support\n\nThe `AuthForCart` authentication scheme is used for cart purchases and supports two modes:\n\n1. **Authentication with a user's JWT.** The token is passed in the `Authorization` header in the following format: `Authorization: Bearer <user_JWT>`, where `<user_JWT>` is the user token. The token identifies the user and provides access to personalized data. Alternatively, you can use a [token for opening the payment UI](/pt/api/pay-station/token/create-token).\n\n2. **Simplified mode without Authorization header.** This mode is used only for unauthorized users and can be applied only for [game key sales](/pt/doc/buy-button/how-to/set-up-authentication/#guides_buy_button_selling_items_not_authenticated_users). Instead of a token, the request must include the following headers:\n   - `x-unauthorized-id` with a request ID\n   - `x-user` with the user's email address encoded in Base64\n\n## Useful links\n\n- [API calls by interaction model](https://developers.xsolla.com/pt/api/catalog/)\n- [Endpoint types](https://developers.xsolla.com/pt/api/catalog/)\n- [Errors handling](https://developers.xsolla.com/pt/api/catalog/)\n- [API keys](https://developers.xsolla.com/pt/api/catalog/)\n\n# Core entity structure\n\nItems of all types (virtual items, bundles, virtual currency, and keys) use a similar data structure. Understanding the basic structure simplifies working with the API and helps you navigate the documentation more easily.\n\n<div class=\"note\"><b>Note</b><br><br>Some calls may include additional fields but they don't change the basic structure.</div>\n\n**Identification**\n\n- `merchant_id` — company ID in [Publisher Account](https://publisher.xsolla.com/)\n- `project_id` — project ID in Publisher Account\n- `sku` — item SKU, unique within the project\n\n**Store display**\n\n- `name` — item name\n- `description` — item description\n- `image_url` — image URL\n- `is_enabled` — item availability\n- `is_show_in_store` — whether the item is displayed in the catalog\n\nFor more information about managing item availability in the catalog, see the [documentation](/pt/items-catalog/catalog-features/items-availability/).\n\n**Organization**\n\n- `type` — item type, for example, a virtual item (`virtual_item`) or bundle (`bundle`)\n- `groups` — groups the item belongs to\n- `order` — display order in the catalog\n\n**Sale conditions**\n\n- `prices` — prices in real or virtual currency\n- `limits` — purchase limits\n- `periods` — availability periods\n- `regions` — regional restrictions\n\n**Example of core entity structure:**\n\n```json\n{\n  \"attributes\": [],\n  \"bundle_type\": \"virtual_currency_package\",\n  \"content\": [\n    {\n      \"description\": {\n        \"en\": \"Main in-game currency\"\n      },\n      \"image_url\": \"https://.../image.png\",\n      \"name\": {\n        \"en\": \"Crystals\",\n        \"de\": \"Kristalle\"\n      },\n      \"quantity\": 500,\n      \"sku\": \"com.xsolla.crystal_2\",\n      \"type\": \"virtual_currency\"\n    }\n  ],\n  \"description\": {\n    \"en\": \"Crystals x500\"\n  },\n  \"groups\": [],\n  \"image_url\": \"https://.../image.png\",\n  \"is_enabled\": true,\n  \"is_free\": false,\n  \"is_show_in_store\": true,\n  \"limits\": {\n    \"per_item\": null,\n    \"per_user\": null,\n    \"recurrent_schedule\": null\n  },\n  \"long_description\": null,\n  \"media_list\": [],\n  \"name\": {\n    \"en\": \"Medium crystal pack\"\n  },\n  \"order\": 1,\n  \"periods\": [\n    {\n      \"date_from\": null,\n      \"date_until\": \"2020-08-11T20:00:00+03:00\"\n    }\n  ],\n  \"prices\": [\n    {\n      \"amount\": 20,\n      \"country_iso\": \"US\",\n      \"currency\": \"USD\",\n      \"is_default\": true,\n      \"is_enabled\": true\n    }\n  ],\n  \"regions\": [],\n  \"sku\": \"com.xsolla.crystal_pack_2\",\n  \"type\": \"bundle\",\n  \"vc_prices\": []\n}\n```\n\n# Basic purchase flow\n\nThe Xsolla API allows you to implement in-game store logic, including retrieving the item catalog, managing the cart, creating orders, and tracking their status. Depending on the integration scenario, API calls are divided into **Admin** and **Catalog** subsections, which use different [authentication schemes](/pt/api/catalog/section/authentication).\n\nThe following example shows a basic flow for setting up and operating a store, from item creation to purchase.\n\n## Create items and groups (Admin)\n\nCreate an item catalog for your store, such as virtual items, bundles, or virtual currency.\n\nExample API calls:\n- [Create virtual item](/pt/api/catalog/virtual-items-currency-admin/admin-create-virtual-item)\n- [Create bundle](/pt/api/catalog/bundles-admin/admin-create-bundle)\n- [Create virtual currency](/pt/api/catalog/virtual-items-currency-admin/admin-create-virtual-currency)\n\n## Set up promotions, chains, and limits (Admin)\n\nConfigure user acquisition and monetization tools, such as discounts, bonuses, daily rewards, or offer chains.\n\nExample API calls:\n- [Create bonus promotion](/pt/api/liveops/promotions-bonuses/create-bonus-promotion)\n- [Create daily reward](/pt/api/liveops/daily-chain-admin/admin-create-daily-chain)\n- [Create unique catalog offer promotion](/pt/api/liveops/promotions-unique-catalog-offers/admin-create-unique-catalog-offer)\n\n## Get item information (Client)\n\nConfigure item display in your application.\n\n<div class=\"notice\">\n  <b>Notice</b><br><br>\n    Do not use API calls from the Admin subsection to build a user catalog. These API calls have <a href=\"https://developers.xsolla.com/pt/api/getting-started/#api_rate_limits\" target=\"_blank\">rate limits</a> and aren't intended for user traffic.\n</div>\n<br>\n\nExample API calls:\n- [Get virtual items list](/pt/api/catalog/virtual-items-currency-catalog/get-virtual-items)\n- [Get item group list](/pt/api/catalog/virtual-items-currency-catalog/get-item-groups)\n- [Get list of bundles](/pt/api/catalog/bundles-catalog/get-bundle-list)\n- [Get sellable items list](/pt/api/catalog/common-catalog/get-sellable-items)\n\n<div class=\"note\">\n  <b>Note</b><br><br>\n    By default, catalog API calls return items that are currently available in the store at the time of the request. To retrieve items that are not yet available or are no longer available, include the parameter <code>\"show_inactive_time_limited_items\": 1</code> in the catalog request.\n</div>\n\n## Sell items\n\nYou can sell items using the following methods:\n- Fast purchase — sell one SKU multiple times.\n- Cart purchase — the user adds items to the cart, removes items, and updates quantities within a single order.\n\nIf an item is purchased using virtual currency instead of real money, use the [Create order with specified item purchased by virtual currency](/pt/api/catalog/virtual-payment/create-order-with-item-for-virtual-currency) API call. The payment UI is not required, as the charge is processed when the API call is executed.\n\nFor free item purchase, use the [Create order with specified free item](/pt/api/catalog/free-item/create-free-order-with-item) API call or the [Create order with free cart](/pt/api/catalog/free-item/create-free-order) API call. The payment UI is not required — the order is immediately set to the <code>done</code> status.\n\n### Fast purchase\n\nUse the client-side API call to [create an order with a specified item](/pt/api/catalog/payment-client-side/create-order-with-item). The call returns a token used to open the payment UI.\n\n<div class=\"note\">\n  <b>Note</b><br><br>\n    Discount information is available to the user only in the payment UI. Promo codes are not supported.\n</div>\n\n### Cart purchase\n\nCart setup and purchase can be performed on the client or on the server side.\n\n**Set up and purchase a cart on the client**\n\nImplement the logic of adding and removing items by yourself. Before calling the API for setting up a cart, you will not have information about which promotions will be applied to the purchase. This means that the total cost and details of the added bonus items will not be known.\n\nImplement the following cart logic:\n1. After the player has filled a cart, use the [Fill cart with items](/pt/api/shop-builder/operation/cart-fill/) API call. The call returns the current information about the selected items (prices before and after discounts, bonus items).\n2. Update the cart contents based on user actions:\n   - To add an item or change item quantity, use the [Update cart item by cart ID](/pt/api/shop-builder/operation/put-item-by-cart-id/) API call.\n   - To remove an item, use the [Delete cart item by cart ID](/pt/api/shop-builder/operation/delete-item-by-cart-id/) API call.\n\n<div class=\"note\">\n  <b>Note</b><br><br>\n    To get the current status of the cart, use the Get current user's cart API call.\n</div>\n\n3. Use the [Create order with all items from current cart](/pt/api/shop-builder/operation/create-order/) API call. The call returns the order ID and payment token. The newly created order is set to <code>new</code> status by default.\n\n**Set up and purchase a cart on the server**\n\nThis setup option may take longer for setting the cart up, since each change to the cart must be accompanied by API calls.\n\nImplement the following cart logic:\n1. After the player has filled a cart, use the [Fill cart with items](/pt/api/catalog/cart-server-side) API call. The call returns current information about the selected items (prices before and after discounts, bonus items).\n2. Use the [Create order with all items from current cart](/pt/api/shop-builder/operation/create-order/) API call. The call returns the order ID and payment token. The newly created order is set to <code>new</code> status by default.\n\n## Open payment UI\n\nUse the returned token to open the payment UI in a new window. Other ways to open the payment UI are described in the [documentation](/pt/payment-ui-and-flow/payment-ui/how-to-open-payment-ui/#open_payment_ui).\n\n| Action                          | Endpoint                                                                  |\n|:--------------------------------|:--------------------------------------------------------------------------|\n| Open in production environment. | <code>https://secure.xsolla.com/paystation4/?token={token}</code>         |\n| Open in sandbox mode.           | <code>https://sandbox-secure.xsolla.com/paystation4/?token={token}</code> |\n\n<div class=\"note\">\n  <b>Note</b><br><br>\n    Use sandbox mode during development and testing. Test purchases don't charge real accounts. You can use <a href=\"https://developers.xsolla.com/pt/dev-resources/testing/test-cards/\">test bank cards</a>.\n\n    After the first real payment is made, a strict sandbox payment policy takes effect. A payment in sandbox mode is available only to users specified in [Publisher Account > Company settings > Users](https://publisher.xsolla.com/0/settings/users).\n\n    Buying virtual currency and items for real currency is possible only after signing a license agreement with Xsolla. To do this, in [Publisher Account](https://publisher.xsolla.com/), go to **Agreements & Taxes > Agreements**, complete the agreement form, and wait for confirmation. It may take up to 3 business days to review the agreement.\n</div>\n\nTo enable or disable sandbox mode, change the value of the `sandbox` parameter in the request for fast purchase and cart purchase. Sandbox mode is off by default.\n\nPossible order statuses:\n- `new` — order created\n- `paid` — payment received\n- `done` — item delivered\n- `canceled` — order canceled\n- `expired` — payment expired\n\nTrack order status using one of the following methods:\n- [webhooks configured on your server](/pt/virtual-goods/own-ui/server-side-token-generation/set-up-order-tracking/#payments_integration_order_tracking)\n- [short-polling](/pt/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_short_polling)\n- [WebSocket API](/pt/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/#guides_shop_builder_integrate_store_get_order_status_via_websocket_api)\n\n## Useful links\n\n- Authentication\n- [API calls by interaction model](/pt/api/catalog/section/authentication)\n- [Payment testing](/pt/dev-resources/testing/general-info/#general_overview)\n- [Set up order status tracking](/pt/virtual-goods/own-ui/client-side-token-generation/set-up-order-tracking/?link=200-api#payments_integration_order_tracking)\n- [Webhooks](/pt/webhooks/overview)\n- [Rate limits](/pt/api/login/rate-limits)\n- [Errors handling](/pt/api/getting-started/#api_errors_handling)\n- [API keys](/pt/api/getting-started/#api_keys_overview)\n\n# Pagination\n\nAPI calls that return large sets of records (for example, when building a catalog) return data in pages. Pagination is a mechanism that limits the number of items returned in a single API response and allows you to retrieve subsequent pages sequentially.\n\nUse the following parameters to control the number of returned items:\n\n- `limit` — number of items per page\n- `offset` — index of the first item on the page (numbering starts from 0)\n- `has_more` — indicates whether another page is available\n- `total_items_count` — total number of items\n\nExample request:\n\n```\nGET /items?limit=20&offset=40\n```\n\nResponse example:\n\n```json\n{\n  \"items\": [...],\n  \"has_more\": true,\n  \"total_items_count\": 135\n}\n```\n\nIt is recommended to send subsequent requests until the response returns `has_more = false`.\n\n# Date and time format\n\nDates and time values are passed in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.\n\nThe following are supported:\n\n- UTC offset\n- `null` value when there is no time restriction for displaying an item\n- [Unix timestamp](https://www.unixtimestamp.com/) (in seconds) used in some fields\n\nFormat: `YYYY-MM-DDTHH:MM:SS±HH:MM`\n\nExample: `2026-03-16T10:00:00+03:00`\n\n# Localization\n\nXsolla supports localization of user-facing fields such as item name and description. Localized values are passed as an object where the language code is used as the key. The full list of supported languages is available in the [documentation](/pt/doc/shop-builder/references/supported-languages/).\n\n**Supported fields**\n\nLocalization can be specified for the following parameters:\n\n- `name`\n- `description`\n- `long_description`\n\n**Locale format**\n\nThe locale key can be specified in one of the following formats:\n\n- Two-letter language code: `en`, `ru`\n- Five-letter language code: `en-US`, `ru-RU`, `de-DE`\n\n**Examples**\n\nExample with a two-letter language code:\n\n```json\n{\n  \"name\": {\n    \"en\": \"Starter Pack\",\n    \"ru\": \"Стартовый набор\"\n  }\n}\n```\n\nExample with a five-letter language code:\n\n```json\n{\n  \"description\": {\n    \"en-US\": \"Premium bundle\",\n    \"de-DE\": \"Premium-Paket\"\n  }\n}\n```\n\n# Error response format\n\nIf an error occurs, the API returns an HTTP status and a JSON response body. The full list of store-related errors is available in the [documentation](/pt/dev-resources/references/errors/store-errors/).\n\n**Response example:**\n\n```json\n{\n  \"errorCode\": 1102,\n  \"errorMessage\": \"Validation error\",\n  \"statusCode\": 422,\n  \"transactionId\": \"c9e1a...\"\n}\n```\n\n- `errorCode` — error code.\n- `errorMessage` — short error description.\n- `statusCode` — HTTP response status.\n- `transactionId` — request ID. Returned only in some cases.\n- `errorMessageExtended` — additional error details, such as request parameters. Returned only in some cases.\n\n**Extended response example:**\n\n```json\n{\n  \"errorCode\": 7001,\n  \"errorMessage\": \"Chain not found\",\n  \"errorMessageExtended\": {\n    \"chain_id\": \"test_chain_id\",\n    \"project_id\": \"test_project_id\",\n    \"step_number\": 2\n  },\n  \"statusCode\": 404\n}\n```\n\n**Common HTTP status codes**\n\n- `400` — invalid request\n- `401` — authentication error\n- `403` — insufficient permissions\n- `404` — resource not found\n- `422` — validation error\n- `429` — rate limit exceeded\n\n**Recommendations**\n\n- Handle the HTTP status and the response body together.\n- Use `errorCode` to process errors related to application logic.\n- Use `transactionId` to identify requests more quickly when analyzing errors.",
    "title": "LiveOps API",
    "version": "2.0.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/v2/project/{project_id}/admin/code/limit/coupon/external_id/{external_id}": {
      "get": {
        "description": "Obtém o número restante de vezes que os códigos podem ser usados. Para filtrar os códigos, use o parâmetro  de pesquisa `codes`.\n\nPara configurar o limite de código em si, vá para a seção Admin:\n* [Coupons](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-coupons/)",
        "operationId": "get-coupon-code-limit",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          },
          {
            "$ref": "#/components/parameters/codes-query-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-code-coupon-limits"
          },
          "401": {
            "$ref": "#/components/responses/Common_401-invalid-basic-auth"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "Coupon not found": {
                    "$ref": "#/components/examples/404-coupon-not-found"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Item não encontrado."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "errorMessageExtended": {
                      "type": "array"
                    },
                    "statusCode": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Solicitação inválida."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obtenha limites de código de cupom exclusivos",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/code/limit/promocode/external_id/{external_id}": {
      "get": {
        "description": "Obtém o número restante de vezes que os códigos podem ser usados. Para filtrar os códigos, use o parâmetro de consulta `codes`.\n\nPara configurar o limite de código em si, vá para a seção Admin:\n* [Promo Codes](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-promo-codes/)",
        "operationId": "get-promo-code-code-limit",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          },
          {
            "$ref": "#/components/parameters/codes-query-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-code-promo-code-limits"
          },
          "401": {
            "$ref": "#/components/responses/Common_401-invalid-basic-auth"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "Promo code not found": {
                    "$ref": "#/components/examples/404-coupon-not-found"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Item não encontrado."
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "errorMessageExtended": {
                      "type": "array"
                    },
                    "statusCode": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Solicitação inválida."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter limite de código promocional para códigos",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/coupon/{external_id}/activate": {
      "put": {
        "description": "Ativa uma promoção de cupom.\nA promoção de cupom criada está desabilitada por padrão.\nEle não estará pronto para resgate até que você o ative.\nUse esse ponto de extremidade para habilitar e ativar uma promoção de cupom.",
        "operationId": "activate-coupon",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "O cupom foi ativado com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-admin-promotion-error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Ativar promoção de cupom",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/coupon/{external_id}/code": {
      "get": {
        "description": "Obtém códigos de cupom.",
        "operationId": "get-coupon-codes",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-coupon-code-list"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter códigos de cupom",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Cria código de cupom.",
        "operationId": "create-coupon-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_create-coupon-promocode-code"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/Promotions_201-coupon-promocode-code-created"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-coupon-promocode-same-code-exists"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar código de cupom",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/coupon/{external_id}/code/generate": {
      "put": {
        "description": "Gera códigos de cupom.",
        "operationId": "generate-coupon-codes",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "count": {
                    "$ref": "#/components/schemas/Promotions_coupon-generate-count"
                  }
                },
                "required": [
                  "count"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "count": 10
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "count": {
                      "$ref": "#/components/schemas/Promotions_coupon-generate-count"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Os códigos foram gerados com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promocode"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Gerar códigos de cupom",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/coupon/{external_id}/deactivate": {
      "put": {
        "description": "Desativa uma promoção de cupom.\nA promoção de cupom criada está desabilitada por padrão.\nEle não estará pronto para resgate até que você o ative.\nUse esse ponto de extremidade para desativar e desativar uma promoção de cupom.",
        "operationId": "deactivate-coupon",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "O cupom foi desativado com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-admin-promotion-error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Desativar promoção de cupom",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/daily_chain": {
      "get": {
        "description": "Obtém uma lista de recompensas diárias para administração.\n<div class=\"notice\"><strong>Aviso</strong><br><br>Um método retorna uma lista paginada de itens. O valor máximo e padrão é de <strong>50 itens por resposta.</strong> Para obter mais itens da lista, use os parâmetros `limit` e `offset`, e busque mais páginas. Por exemplo, ao chamar um método com 'limit = 25' e 'offset = 100', a resposta retorna 25 itens a partir do 101º item na lista geral.</div>",
        "operationId": "admin-get-daily-chains",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          },
          {
            "$ref": "#/components/parameters/enabled-query-param"
          },
          {
            "$ref": "#/components/parameters/is_expired-daily-chain-query-param"
          },
          {
            "$ref": "#/components/parameters/type-daily-chain-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-list-daily-chains"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter lista de recompensas diárias",
        "tags": [
          "daily-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Cria uma recompensa diária.",
        "operationId": "admin-create-daily-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/create-daily-chain"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/201-admin-create-daily-chain"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/422-admin-create-error-list"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar recompensa diária",
        "tags": [
          "daily-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}": {
      "delete": {
        "description": "Exclui uma recompensa diária específica.",
        "operationId": "admin-delete-daily-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/daily_chain_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "content": {},
            "description": "Recompensa diária excluída com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-daily-chain-not-found"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Excluir recompensa diária",
        "tags": [
          "daily-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "get": {
        "description": "Obtém uma cadeia de recompensas específica para administração.",
        "operationId": "admin-get-daily-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/daily_chain_id-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-daily-chain"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-daily-chain-not-found"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter recompensa diária",
        "tags": [
          "daily-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Atualiza uma recompensa diária específica.",
        "operationId": "admin-update-daily-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/daily_chain_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/update-daily-chain"
        },
        "responses": {
          "204": {
            "content": {},
            "description": "Recompensa diária atualizada com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-daily-chain-not-found"
          },
          "422": {
            "$ref": "#/components/responses/422-admin-update-error-list"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Atualizar recompensa diária",
        "tags": [
          "daily-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}/reset": {
      "post": {
        "description": "Redefine o progresso para todos os usuários na recompensa diária. Aplica-se apenas a recompensas diárias do tipo `rolling`.",
        "operationId": "admin-reset-daily-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/daily_chain_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "content": {},
            "description": "A recompensa diária foi redefinida."
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-daily-chain-not-found"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Redefinir recompensa diária",
        "tags": [
          "daily-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/daily_chain/id/{daily_chain_id}/toggle": {
      "put": {
        "description": "Ativa ou desativa uma recompensa diária.",
        "operationId": "admin-toggle-daily-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/daily_chain_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "content": {},
            "description": "A recompensa diária foi desativada ou ativada."
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-daily-chain-not-found"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Alternar recompensa diária",
        "tags": [
          "daily-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/items/upsell": {
      "get": {
        "description": "Recupera as informações sobre a venda cruzada no projeto: se está habilitado, o tipo de venda cruzada e a lista de SKUs de itens que fazem parte dessa venda cruzada.",
        "operationId": "get-upsell-configurations-for-project-admin",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "upsell": {
                    "summary": "Projeto tem venda cruzada",
                    "value": [
                      {
                        "is_enabled": true,
                        "items": [
                          {
                            "item_id": 1,
                            "name": {
                              "de": "Name des Artikels",
                              "en": "Item's name"
                            },
                            "sku": "com.xsolla.booster_mega_1",
                            "type": "virtual_good"
                          },
                          {
                            "bundle_type": "standard",
                            "item_id": 2,
                            "name": {
                              "de": "Name des Artikels",
                              "en": "Item's name"
                            },
                            "sku": "com.xsolla.booster_mega_2",
                            "type": "bundle"
                          },
                          {
                            "item_id": 3,
                            "name": {
                              "en": "Mega game"
                            },
                            "sku": "com.xsolla.mega_game_1",
                            "type": "unit",
                            "unit_items": [
                              {
                                "drm_name": "Steam",
                                "drm_sku": "steam_key_1",
                                "item_id": 4,
                                "name": {
                                  "en": "Mega game steam"
                                },
                                "sku": "com.xsolla.mega_game_steam_1"
                              }
                            ],
                            "unit_type": "game"
                          }
                        ],
                        "type": "fixed_list"
                      }
                    ]
                  }
                },
                "schema": {
                  "items": {
                    "properties": {
                      "is_enabled": {
                        "description": "Se a venda cruzada está habilitada para o projeto.",
                        "example": true,
                        "type": "boolean"
                      },
                      "items": {
                        "description": "A lista de SKUs de itens que fazem parte da venda cruzada no projeto.",
                        "example": [
                          {
                            "item_id": 1,
                            "name": {
                              "de": "Name des Artikels",
                              "en": "Item's name"
                            },
                            "sku": "com.xsolla.booster_mega_1",
                            "type": "virtual_good"
                          }
                        ],
                        "items": {
                          "properties": {
                            "bundle_type": {
                              "$ref": "#/components/schemas/bundle_type"
                            },
                            "item_id": {
                              "$ref": "#/components/schemas/item_id"
                            },
                            "name": {
                              "$ref": "#/components/schemas/name-localization-object"
                            },
                            "sku": {
                              "$ref": "#/components/schemas/sku"
                            },
                            "type": {
                              "$ref": "#/components/schemas/item_type"
                            },
                            "unit_items": {
                              "description": "Chaves de jogo para diferentes DRMs.",
                              "items": {
                                "description": "Item de chave de jogo. Ele representa o jogo em uma determinada plataforma (Steam, GOG, etc.).",
                                "properties": {
                                  "drm_name": {
                                    "$ref": "#/components/schemas/drm_name"
                                  },
                                  "drm_sku": {
                                    "$ref": "#/components/schemas/drm_sku"
                                  },
                                  "item_id": {
                                    "$ref": "#/components/schemas/item_id"
                                  },
                                  "name": {
                                    "$ref": "#/components/schemas/name-localization-object"
                                  },
                                  "sku": {
                                    "$ref": "#/components/schemas/sku"
                                  },
                                  "type": {
                                    "$ref": "#/components/schemas/item_type"
                                  }
                                },
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "unit_type": {
                              "$ref": "#/components/schemas/unit_type"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "type": {
                        "description": "O tipo de venda cruzada.",
                        "enum": [
                          "fixed_list",
                          "most_sellable",
                          "only_promotions"
                        ],
                        "example": "fixed_list",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "A lista de detalhes de configuração e itens usados para venda cruzada no projeto."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Obter informações sobre venda cruzada no projeto",
        "tags": [
          "upsell-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Creates an upsell for a project. <br> <div class=\"notice\">\n  <strong>Notice</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "post-upsell",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/create-upsell"
        },
        "responses": {
          "202": {
            "description": "A venda cruzada foi criada para o projeto."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          },
          "404": {
            "$ref": "#/components/responses/Upsell-404-item-not-found"
          },
          "422": {
            "$ref": "#/components/responses/Upsell-422-invalid-request"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Criar venda cruzada",
        "tags": [
          "upsell-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Update an upsell for a project. <br> <div class=\"notice\">\n  <strong>Notice</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "put-upsell",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/update-upsell"
        },
        "responses": {
          "202": {
            "description": "A venda cruzada foi atualizada para o projeto."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          },
          "404": {
            "$ref": "#/components/responses/Upsell-404-item-not-found"
          },
          "422": {
            "$ref": "#/components/responses/Upsell-422-invalid-request"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Atualizar venda cruzada",
        "tags": [
          "upsell-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/items/upsell/{toggle}": {
      "put": {
        "description": "Changes an upsell’s status in a project to be either active or inactive. <br> <div class=\"notice\">\n  <strong>Notice</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "put-upsell-toggle-active-inactive",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "description": "Status de ativação.",
            "in": "path",
            "name": "toggle",
            "required": true,
            "schema": {
              "example": "activate",
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "Uma venda cruzada em um projeto foi ativada ou desativada."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Ativar/desativar a venda cruzada do projeto",
        "tags": [
          "upsell-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/items/value_points": {
      "get": {
        "description": "Obtém a lista de pontos de valor dentro de um projeto para administração.",
        "operationId": "admin-get-value-points-list",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-value-points"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter lista de pontos de valor",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Cria um ponto de valor.",
        "operationId": "admin-create-value-points",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/create-value-point"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/201-admin-create-value-point"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/422-admin-create-update-rc-vp-invalid-request"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar ponto de valor",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/items/value_points/sku/{item_sku}": {
      "delete": {
        "description": "Exclui um ponto de valor identificado por um SKU.",
        "operationId": "admin-delete-value-point",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/item_sku-path-param"
          }
        ],
        "responses": {
          "204": {
            "content": {},
            "description": "Ponto de valor excluído com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Excluir pontos de valor",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "get": {
        "description": "Obtém um ponto de valor pelo SKU dentro de um projeto para administração.",
        "operationId": "admin-get-value-point",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/item_sku-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-value-point"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter ponto de valor",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Atualiza um ponto de valor identificado por um SKU.",
        "operationId": "admin-update-value-point",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/item_sku-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/create-value-point"
        },
        "responses": {
          "204": {
            "content": {},
            "description": "Ponto de valor atualizado com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/422-admin-create-update-rc-vp-invalid-request"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Atualizar ponto de valor",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/items/{value_point_sku}/value_points/rewards": {
      "delete": {
        "description": "Remove recompensas de pontos de valor de TODOS os itens.",
        "operationId": "admin-delete-items-value-point-reward",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/value_point_sku-path-param"
          }
        ],
        "responses": {
          "204": {
            "content": {},
            "description": "As recompensas de pontos de valor para itens foram excluídas com êxito."
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Excluir pontos de valor de itens",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "get": {
        "description": "Obtém a lista de todos os itens com pontos de valor dentro de um projeto para administração.",
        "operationId": "admin-get-items-value-point-reward",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/value_point_sku-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-list-value-point-rewards"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter lista de itens com pontos de valor",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "patch": {
        "description": "Atualiza parcialmente o número de pontos de valor para um ou mais itens pelo SKU do item. Os usuários recebem esses pontos de valor após a compra dos itens especificados.\n\nPrincípios de atualização de pontos de valor:\n  * Se um item ainda não tiver pontos de valor, enviar um valor diferente de zero no campo `amount` os criará.\n  * Se um item já tiver pontos de valor, o envio de um valor diferente de zero no campo `amount` os atualizará.\n  * Se `amount` for definido como 0, os pontos de valor existentes para esse item serão excluídos.\n\nAo contrário do método `PUT` ([Definir pontos de valor para itens](https://developers.xsolla.com/pt/api/shop-builder/operation/admin-set-items-value-point-reward/)), este método `PATCH` não sobrescreve todos os pontos de valor existentes dos itens no projeto, apenas atualiza os itens especificados.\n\nUma única solicitação pode atualizar até 100 itens. SKUs de itens duplicados não podem ser incluídos na mesma solicitação.",
        "operationId": "admin-patch-items-value-point-reward",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/value_point_sku-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/set-item-value-point-reward-for-patch"
        },
        "responses": {
          "204": {
            "content": {},
            "description": "As recompensas de pontos de valor para itens foram atualizadas com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/sellable-item-by-sku_404"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Atualizar parcialmente os pontos de valor dos itens",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Atribui pontos de valor a um ou vários itens por um SKU. Os usuários recebem pontos de valor depois de comprar esses itens.\n\nObserve que essa solicitação PUT substitui todos os pontos de valor definidos anteriormente para itens no projeto.\n\nPara evitar a exclusão não intencional de pontos de valor, inclua todos os itens e seus respectivos pontos de valor em cada solicitação PUT.\n\nSe desejar atualizar apenas os pontos de valor de um item específico, preservando os pontos de valor de outros itens, recupere o conjunto atual de pontos de valor usando uma solicitação GET, modifique os pontos de valor do item desejado e envie o conjunto modificado de pontos de valor de volta com os pontos de valor atualizados para o item específico.",
        "operationId": "admin-set-items-value-point-reward",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/value_point_sku-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/set-item-value-point-reward"
        },
        "responses": {
          "204": {
            "content": {},
            "description": "As recompensas de pontos de valor para itens foram atualizadas com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/sellable-item-by-sku_404"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Definir pontos de valor para itens",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/offer_chain": {
      "get": {
        "description": "Obtém a lista de cadeias de ofertas para administração.\n<div class=\"notice\"><strong>Aviso</strong><br><br>Todos os projetos têm um limite no número de itens que podem ser retornados em uma única resposta. O valor padrão e máximo é de <strong>10 itens por resposta</strong>. Para obter mais dados, use os parâmetros de consulta <code>limit</code> e <code>offset</code> para a paginação.</div>",
        "operationId": "admin-get-offer-chains",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          },
          {
            "$ref": "#/components/parameters/enabled-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-list-offer-chains"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter lista de cadeias de ofertas",
        "tags": [
          "offer-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Cria uma cadeia de ofertas.",
        "operationId": "admin-create-offer-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/create-offer-chain"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/201-admin-create-offer-chain"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/422-create-error-list"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar cadeia de ofertas",
        "tags": [
          "offer-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/offer_chain/id/{offer_chain_id}": {
      "delete": {
        "description": "Exclui uma cadeia de ofertas específica.\n\nApós a exclusão:<ul><li>Todas as recompensas já recebidas pelos usuários são retidas.</li><li>Etapas não concluídas ficam indisponíveis e suas recompensas não podem mais ser obtidas.</li></ul>\n\nAo contrário de desabilitar a cadeia de ofertas por meio da chamada da chamada <a href=\"/api/shop-builder/operation/admin-toggle-offer-chain\">Alternar cadeia de ofertas</a>, a exclusão é irreversível e o progresso do usuário não é preservado.",
        "operationId": "admin-delete-offer-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/offer_chain_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "content": {},
            "description": "Cadeia de ofertas excluída com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-offer-chain-not-found"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Excluir cadeia de ofertas",
        "tags": [
          "offer-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "get": {
        "description": "Obtém uma cadeia de ofertas específica para administração.",
        "operationId": "admin-get-offer-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/offer_chain_id-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-offer-chain"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-offer-chain-not-found"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter cadeia de ofertas",
        "tags": [
          "offer-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Atualiza uma cadeia de ofertas específica.",
        "operationId": "admin-update-offer-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/offer_chain_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/update-offer-chain"
        },
        "responses": {
          "204": {
            "content": {},
            "description": "A cadeia de ofertas foi atualizada com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-offer-chain-not-found"
          },
          "422": {
            "$ref": "#/components/responses/422-update-error-list"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Atualizar cadeia de ofertas",
        "tags": [
          "offer-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/offer_chain/id/{offer_chain_id}/toggle": {
      "put": {
        "description": "Habilita ou desabilita uma cadeia de ofertas.\n\nQuando a cadeia de ofertas é desativada, os usuários perdem temporariamente o acesso a ela, mas seu progresso é preservado.\n\nDepois que a cadeia de ofertas for reativada, os usuários poderão continuar da etapa de onde pararam.",
        "operationId": "admin-toggle-offer-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/offer_chain_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "content": {},
            "description": "A cadeia de ofertas foi desativada/ativada."
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-offer-chain-not-found"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Alternar cadeia de ofertas",
        "tags": [
          "offer-chain-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/promocode/{external_id}/activate": {
      "put": {
        "description": "Ativa uma promoção de código promocional.\n\nA promoção de código promocional criada inicia desativada por padrão.\nEle não estará pronto para resgate até que você o ative.\nUse esse ponto de extremidade para habilitar e ativar uma promoção de código promocional.",
        "operationId": "activate-promo-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "O código promocional foi ativado com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promocode"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-admin-promotion-error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Ativar promoção de código promocional",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/promocode/{external_id}/code": {
      "get": {
        "description": "Obtém códigos de uma promoção de código promocional.",
        "operationId": "get-promocode-codes",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-promocode-code-list"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promocode"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter códigos de promoção de código promocional",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Cria código para uma promoção de código promocional.",
        "operationId": "create-promo-code-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_create-coupon-promocode-code"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/Promotions_201-coupon-promocode-code-created"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promocode"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-coupon-promocode-same-code-exists"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar código para promoção de código promocional",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/promocode/{external_id}/code/generate": {
      "put": {
        "description": "Gera códigos para uma promoção de código promocional.",
        "operationId": "generate-promo-code-codes",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "count": {
                    "$ref": "#/components/schemas/Promotions_coupon-generate-count"
                  }
                },
                "required": [
                  "count"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "count": 10
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "count": {
                      "$ref": "#/components/schemas/Promotions_coupon-generate-count"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Os códigos foram gerados com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promocode"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Gerar códigos para promoção de código promocional",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/promocode/{external_id}/deactivate": {
      "put": {
        "description": "Desativa uma promoção de código promocional.\n\nA promoção de código promocional criada inicia desativada por padrão.\nEle não estará pronto para resgate até que você o ative.\nUse esse ponto de extremidade para desabilitar e desativar uma promoção de código promocional.",
        "operationId": "deactivate-promo-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "O cupom foi desativado com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promocode"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-admin-promotion-error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Desativar promoção de código promocional",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/promotion/{promotion_id}/activate": {
      "put": {
        "description": "Ativa uma promoção.",
        "operationId": "activate-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "A promoção foi ativada com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-activate-deactivate-promotion"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Ativar promoção",
        "tags": [
          "promotions-common"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/promotion/{promotion_id}/deactivate": {
      "put": {
        "description": "Desativa uma promoção.",
        "operationId": "deactivate-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "Promoção desativada com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-activate-deactivate-promotion"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Desativar promoção",
        "tags": [
          "promotions-common"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/activate": {
      "put": {
        "description": "Ativa uma promoção de oferta de catálogo exclusiva.\nA promoção de oferta de catálogo exclusiva criada está desativada por padrão.\nEle não pode ser resgatado até que você o ative.\nUse esse ponto de extremidade para habilitar e ativar uma promoção de cupom.",
        "operationId": "activate-unique-catalog-offer",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "A oferta de catálogo exclusiva foi ativada com êxito."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-admin-promotion-error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Ativar promoção de oferta de catálogo exclusiva",
        "tags": [
          "promotions-unique-catalog-offers"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/code": {
      "get": {
        "description": "Obtém códigos de oferta de catálogo exclusivos.",
        "operationId": "get-unique-catalog-offer-codes",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-unique-catalog-offer-code-list"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obtenha códigos de oferta de catálogo exclusivos",
        "tags": [
          "promotions-unique-catalog-offers"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Cria um código de oferta de catálogo exclusivo.",
        "operationId": "create-unique-catalog-offer-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_create-coupon-promocode-code"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/Promotions_201-coupon-promocode-code-created"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-coupon-promocode-same-code-exists"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar código de oferta de catálogo exclusivo",
        "tags": [
          "promotions-unique-catalog-offers"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/code/generate": {
      "put": {
        "description": "Gera códigos de oferta de catálogo exclusivos.",
        "operationId": "generate-unique-catalog-offer-codes",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "count": {
                    "$ref": "#/components/schemas/Promotions_coupon-generate-count"
                  }
                },
                "required": [
                  "count"
                ],
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "count": 10
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "count": {
                      "$ref": "#/components/schemas/Promotions_coupon-generate-count"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Os códigos foram gerados com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promocode"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Gerar códigos de oferta de catálogo exclusivos",
        "tags": [
          "promotions-unique-catalog-offers"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/unique_catalog_offer/{external_id}/deactivate": {
      "put": {
        "description": "Desativa uma promoção exclusiva de oferta de catálogo.\nA promoção exclusiva de oferta de catálogo criada está desativada por padrão.\nEla não pode ser resgatada até que você a ative.\nUse esse ponto de extremidade para desativar e desativar uma promoção de cupom.",
        "operationId": "deactivate-unique-catalog-offer",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "A oferta de catálogo exclusiva foi desativada com êxito."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-admin-promotion-error"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Desativar promoção exclusiva de oferta de catálogo",
        "tags": [
          "promotions-unique-catalog-offers"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/user/attribute/rule": {
      "get": {
        "description": "Obtém todas as regras aplicadas aos atributos do usuário.",
        "operationId": "get-filter-rules",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          },
          {
            "$ref": "#/components/parameters/is_enabled-query-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "has_more": true,
                      "items": [
                        {
                          "attribute_conditions": [
                            {
                              "attribute": "race",
                              "can_be_missing": false,
                              "operator": "eq",
                              "type": "string",
                              "value": "ork"
                            }
                          ],
                          "is_enabled": true,
                          "is_satisfied_for_unauth": false,
                          "items": [
                            {
                              "item_id": 1,
                              "name": "Ork Armor",
                              "sku": "com.xsolla.ork_armor_1",
                              "type": "virtual_good"
                            },
                            {
                              "bundle_type": "standard",
                              "item_id": 2,
                              "name": "Potion pack",
                              "sku": "com.xsolla.potion_pack_1",
                              "type": "bundle"
                            }
                          ],
                          "name": "Ork race armor rule",
                          "rule_id": 1
                        }
                      ],
                      "total_items_count": 20
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "has_more": {
                      "description": "Se existir outra página com regras.",
                      "type": "boolean"
                    },
                    "items": {
                      "items": {
                        "$ref": "#/components/schemas/user-attribute_personalized-catalog"
                      },
                      "type": "array"
                    },
                    "total_items_count": {
                      "description": "Número total de regras.",
                      "type": "number"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "As regras foram recebidas com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Common_401-complex"
          },
          "403": {
            "$ref": "#/components/responses/403-auth-header-not-sent"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter lista de regras de filtro de catálogo",
        "tags": [
          "personalized-catalog"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Criar regra para atributos de usuário.",
        "operationId": "create-filter-rule",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/personalized-catalog_create-update-body"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "rule_id": 1
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "rule_id": {
                      "description": "ID da regra.",
                      "type": "number"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Regra criada com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Common_401-complex"
          },
          "422": {
            "$ref": "#/components/responses/Common_422-body-validation"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar regra de filtro de catálogo",
        "tags": [
          "personalized-catalog"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/user/attribute/rule/all": {
      "get": {
        "description": "Obtém uma lista de todas as regras de catálogo para pesquisa no lado do cliente.\n<div class=\"notice\"><strong>Atenção</strong><br><br>Retorna apenas ID de regra, nome e is_enabled</div>",
        "operationId": "get-all-filter-rules",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "items": [
                        {
                          "is_enabled": true,
                          "is_satisfied_for_unauth": false,
                          "name": "Ork race armor rule",
                          "rule_id": 1
                        },
                        {
                          "is_enabled": false,
                          "is_satisfied_for_unauth": false,
                          "name": "Age",
                          "rule_id": 2
                        }
                      ]
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "items": {
                      "items": {
                        "$ref": "#/components/schemas/user-attribute_personalized-catalog_all"
                      },
                      "type": "array"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "As regras foram recebidas com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Common_401-complex"
          },
          "403": {
            "$ref": "#/components/responses/403-auth-header-not-sent"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter todas as regras de catálogo para pesquisa no lado do cliente",
        "tags": [
          "personalized-catalog"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/user/attribute/rule/{rule_id}": {
      "delete": {
        "description": "Exclui uma regra específica.",
        "operationId": "delete-filter-rule-by-id",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/personalized-catalog-rule_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "Exclusão bem-sucedida."
          },
          "401": {
            "$ref": "#/components/responses/Common_401-complex"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Regra de filtro de exclusão de catálogo",
        "tags": [
          "personalized-catalog"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "get": {
        "description": "Obtenha regras específicas aplicáveis aos atributos do usuário.",
        "operationId": "get-filter-rule-by-id",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/personalized-catalog-rule_id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "attribute_conditions": [
                        {
                          "attribute": "race",
                          "can_be_missing": false,
                          "operator": "eq",
                          "type": "string",
                          "value": "ork"
                        }
                      ],
                      "is_enabled": true,
                      "is_satisfied_for_unauth": true,
                      "items": [
                        {
                          "item_id": 1,
                          "name": "Ork Armor",
                          "sku": "com.xsolla.ork_armor_1"
                        }
                      ],
                      "name": "Ork race armor rule",
                      "rule_id": 1
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/user-attribute_personalized-catalog"
                }
              }
            },
            "description": "Regra recebida com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Common_401-complex"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter regra de filtro de catálogo",
        "tags": [
          "personalized-catalog"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "patch": {
        "description": "Atualiza uma regra específica que se aplica aos atributos do usuário. O valor atual será usado para uma propriedade não especificada.",
        "operationId": "patch-filter-rule-by-id",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/personalized-catalog-rule_id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "is_enabled": false
              },
              "schema": {
                "$ref": "#/components/schemas/user-attribute_personalized-catalog-body"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Atualização bem-sucedida."
          },
          "401": {
            "$ref": "#/components/responses/Common_401-complex"
          },
          "422": {
            "$ref": "#/components/responses/Common_422-body-validation"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Regra de filtro do catálogo de atualizações",
        "tags": [
          "personalized-catalog"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Atualiza uma regra específica que se aplica aos atributos do usuário. O valor padrão será usado para uma propriedade não especificada (se a propriedade não for necessária).",
        "operationId": "update-filter-rule-by-id",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/personalized-catalog-rule_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/personalized-catalog_create-update-body"
        },
        "responses": {
          "204": {
            "description": "Atualização bem-sucedida."
          },
          "401": {
            "$ref": "#/components/responses/Common_401-complex"
          },
          "422": {
            "$ref": "#/components/responses/Common_422-body-validation"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Atualizar regra de filtro de catálogo",
        "tags": [
          "personalized-catalog"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/user/limit/coupon/external_id/{external_id}": {
      "get": {
        "description": "Obtém o número restante de vezes que o usuário especificado pode usar o cupom.\n\nA API User limit permite limitar o número de vezes que os usuários podem usar um cupom. Para configurar o próprio limite de usuário, vá para a seção Admin:\n* [Cupons](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-coupons/)",
        "operationId": "get-coupon-user-limit",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          },
          {
            "$ref": "#/components/parameters/user_external_id-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-user-coupon-limits"
          },
          "401": {
            "$ref": "#/components/responses/Common_401-invalid-basic-auth"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "Coupon not found": {
                    "$ref": "#/components/examples/404-coupon-not-found"
                  },
                  "User not found": {
                    "$ref": "#/components/examples/404-user-not-found"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Item não encontrado."
          },
          "422": {
            "content": {
              "application/json": {
                "examples": {
                  "Invalid user_external_id": {
                    "$ref": "#/components/examples/Promotions_422-invalid-coupon"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "errorMessageExtended": {
                      "type": "array"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Solicitação inválida."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter limite de cupons de um usuário específico",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/user/limit/promocode/external_id/{external_id}": {
      "get": {
        "description": "Obtém o número restante de vezes que o usuário especificado pode usar o código promocional.\n\nA API User limit permite limitar o número de vezes que os usuários podem usar um código promocional. Para configurar o limite de usuário em si, vá para a seção Admin:\n* [Códigos Promocionais](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-promo-codes/)",
        "operationId": "get-promo-code-user-limit",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          },
          {
            "$ref": "#/components/parameters/user_external_id-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-user-promo-code-limits"
          },
          "401": {
            "$ref": "#/components/responses/Common_401-invalid-basic-auth"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "Promo code not found": {
                    "$ref": "#/components/examples/404-coupon-not-found"
                  },
                  "User not found": {
                    "$ref": "#/components/examples/404-user-not-found"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Item não encontrado."
          },
          "422": {
            "content": {
              "application/json": {
                "examples": {
                  "Invalid user_external_id": {
                    "$ref": "#/components/examples/Promotions_422-invalid-coupon"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "errorMessageExtended": {
                      "type": "array"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Solicitação inválida."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter limite de código promocional para o usuário especificado",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/user/limit/promotion/all": {
      "delete": {
        "description": "Atualiza todos os limites em todas as promoções para o usuário especificado para que ele possa usar essas promoções novamente.\n\nA API User limit permite limitar o número de vezes que os usuários podem usar uma promoção. Para configurar o limite de usuário em si, vá para a seção Admin do tipo de promoção desejado:\n* [Promoções de Desconto](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-discounts/)\n* [Promoções de Bônus](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-bonuses/)",
        "operationId": "reset-all-user-promotions-limit",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/reset-user-limits"
        },
        "responses": {
          "200": {
            "description": "O limite da promoção foi atualizado com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Common_401-invalid-basic-auth"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "User not found": {
                    "$ref": "#/components/examples/404-user-not-found"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Item não encontrado."
          },
          "422": {
            "content": {
              "application/json": {
                "examples": {
                  "Invalid user_external_id": {
                    "$ref": "#/components/examples/422-user_external_id_invalid"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "errorMessageExtended": {
                      "type": "array"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Solicitação inválida."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Atualizar todos os limites de promoção para o usuário especificado",
        "tags": [
          "user-limits-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/user/limit/promotion/id/{promotion_id}": {
      "delete": {
        "description": "Diminui o número restante de vezes que o usuário especificado pode usar uma promoção dentro do limite aplicado.\n\nA API User limit permite limitar o número de vezes que os usuários podem usar uma promoção. Para configurar o limite de usuário em si, vá para a seção Admin do tipo de promoção desejado:\n* [Promoções de Desconto](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-discounts/)\n* [Promoções de Bônus](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-bonuses/)",
        "operationId": "remove-user-promotion-limit",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/update-user-limits-strict"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-user-promotion-limits"
          },
          "401": {
            "$ref": "#/components/responses/Common_401-invalid-basic-auth"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "Item not found": {
                    "$ref": "#/components/examples/404-promotion-by-id-not-found"
                  },
                  "User not found": {
                    "$ref": "#/components/examples/404-user-not-found"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Item não encontrado."
          },
          "422": {
            "content": {
              "application/json": {
                "examples": {
                  "Available promotion limit is out of range": {
                    "$ref": "#/components/examples/422-promotion-out-of-range-available-user-limit"
                  },
                  "Invalid user_external_id": {
                    "$ref": "#/components/examples/422-user_external_id_invalid"
                  },
                  "Promotion does not have configured user limits": {
                    "$ref": "#/components/examples/422-promotion-without-user-limit"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "errorMessageExtended": {
                      "type": "array"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Solicitação inválida."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Diminuir o limite de promoção para o usuário especificado",
        "tags": [
          "user-limits-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "get": {
        "description": "Obtém o número restante de vezes que o usuário especificado pode usar a promoção dentro do limite aplicado.\n\nA API User limit permite limitar o número de vezes que os usuários podem usar uma promoção. Para configurar o limite de usuário em si, vá para a seção Admin do tipo de promoção desejado:\n* [Promoções de Desconto](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-discounts/)\n* [Promoções de Bônus](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-bonuses/)",
        "operationId": "get-user-promotion-limit",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          },
          {
            "$ref": "#/components/parameters/user_external_id-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-user-promotion-limits"
          },
          "401": {
            "$ref": "#/components/responses/Common_401-invalid-basic-auth"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "Item not found": {
                    "$ref": "#/components/examples/404-promotion-by-id-not-found"
                  },
                  "User not found": {
                    "$ref": "#/components/examples/404-user-not-found"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Item não encontrado."
          },
          "422": {
            "content": {
              "application/json": {
                "examples": {
                  "Invalid user_external_id": {
                    "$ref": "#/components/examples/422-user_external_id_invalid"
                  },
                  "Promotion does not have configured user limits": {
                    "$ref": "#/components/examples/422-promotion-without-user-limit"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "errorMessageExtended": {
                      "type": "array"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Solicitação inválida."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter limite de promoção para o usuário especificado",
        "tags": [
          "user-limits-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Aumenta o número restante de vezes que o usuário especificado pode usar a promoção dentro do limite aplicado.\n\nA API User limit permite limitar o número de vezes que os usuários podem usar uma promoção. Para configurar o limite de usuário em si, vá para a seção Admin do tipo de promoção desejado:\n* [Promoções de Desconto](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-discounts/)\n* [Promoções de Bônus](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-bonuses/)",
        "operationId": "add-user-promotion-limit",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/update-user-limits-strict"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-user-promotion-limits"
          },
          "401": {
            "$ref": "#/components/responses/Common_401-invalid-basic-auth"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "Item not found": {
                    "$ref": "#/components/examples/404-promotion-by-id-not-found"
                  },
                  "User not found": {
                    "$ref": "#/components/examples/404-user-not-found"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Item não encontrado."
          },
          "422": {
            "content": {
              "application/json": {
                "examples": {
                  "Available promotion limit is out of range": {
                    "$ref": "#/components/examples/422-promotion-out-of-range-available-user-limit"
                  },
                  "Invalid user_external_id": {
                    "$ref": "#/components/examples/422-user_external_id_invalid"
                  },
                  "Promotion does not have configured user limits": {
                    "$ref": "#/components/examples/422-promotion-without-user-limit"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "errorMessageExtended": {
                      "type": "array"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Solicitação inválida."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Aumentar o limite de promoção para o usuário especificado",
        "tags": [
          "user-limits-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Define o número de vezes que o usuário especificado pode usar uma promoção dentro do limite aplicado depois que ela foi aumentada ou diminuída.\n\nA API User limit permite limitar o número de vezes que os usuários podem usar uma promoção. Para configurar o limite de usuário em si, vá para a seção Admin do tipo de promoção desejado:\n* [Promoções de Desconto](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-discounts/)\n* [Promoções de Bônus](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-bonuses/)",
        "operationId": "set-user-promotion-limit",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/update-user-limits-flexible"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-user-promotion-limits"
          },
          "401": {
            "$ref": "#/components/responses/Common_401-invalid-basic-auth"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "Item not found": {
                    "$ref": "#/components/examples/404-promotion-by-id-not-found"
                  },
                  "User not found": {
                    "$ref": "#/components/examples/404-user-not-found"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Item não encontrado."
          },
          "422": {
            "content": {
              "application/json": {
                "examples": {
                  "Invalid user_external_id": {
                    "$ref": "#/components/examples/422-user_external_id_invalid"
                  },
                  "Promotion does not have configured user limits": {
                    "$ref": "#/components/examples/422-promotion-without-user-limit"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "errorMessageExtended": {
                      "type": "array"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Solicitação inválida."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Definir limite de promoção para o usuário especificado",
        "tags": [
          "user-limits-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/admin/user/limit/promotion/id/{promotion_id}/all": {
      "delete": {
        "description": "Atualiza o limite da promoção para que um usuário possa usar essa promoção novamente. Se o parâmetro *user* for `null`, essa chamada atualizará esse limite para todos os usuários.\n\nA API User limit permite limitar o número de vezes que os usuários podem usar uma promoção. Para configurar o limite de usuário em si, vá para a seção Admin do tipo de promoção desejado:\n* [Promoções de Desconto](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-discounts/)\n* [Promoções de Bônus](https://developers.xsolla.com/pt/api/shop-builder/tag/promotions-bonuses/)",
        "operationId": "reset-user-promotion-limit",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/reset-user-limits-flexible"
        },
        "responses": {
          "200": {
            "description": "O limite da promoção foi atualizado com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Common_401-invalid-basic-auth"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "Item not found": {
                    "$ref": "#/components/examples/404-promotion-by-id-not-found"
                  },
                  "User not found": {
                    "$ref": "#/components/examples/404-user-not-found"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Item não encontrado."
          },
          "422": {
            "content": {
              "application/json": {
                "examples": {
                  "Invalid user_external_id": {
                    "$ref": "#/components/examples/422-user_external_id_invalid"
                  },
                  "Promotion does not have configured user limits": {
                    "$ref": "#/components/examples/422-promotion-without-user-limit"
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "type": "integer"
                    },
                    "errorMessage": {
                      "type": "string"
                    },
                    "errorMessageExtended": {
                      "type": "array"
                    },
                    "statusCode": {
                      "type": "integer"
                    },
                    "transactionId": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Solicitação inválida."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Atualizar limite de promoção para usuários",
        "tags": [
          "user-limits-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v2/project/{project_id}/coupon/code/{coupon_code}/rewards": {
      "get": {
        "description": "Gets coupons rewards by its code.\nCan be used to allow users to choose one of many items as a bonus.\nThe usual case is choosing a DRM if the coupon contains a game as a bonus (`type=unit`). <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "get-coupon-rewards-by-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/coupon_code-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-coupon-rewards"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          },
          "403": {
            "$ref": "#/components/responses/Promotions_403-auth-header"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-coupon"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-rewards"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Obter recompensas de cupom",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/coupon/redeem": {
      "post": {
        "description": "Redeems a coupon code. The user gets a bonus after a coupon is redeemed. <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "redeem-coupon",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_redeem-coupon-model"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-coupon-redeemed"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          },
          "403": {
            "$ref": "#/components/responses/Promotions_403-auth-header"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-coupon"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-redeem-coupon"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Resgatar código de cupom",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/items/upsell": {
      "get": {
        "description": "Gets a list of upsell items in a project if they have already been set up. <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "get-upsell-for-project-client",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Upsell-200-get-client-list"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Obter lista de itens de venda cruzada no projeto",
        "tags": [
          "upsell-client"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/promocode/code/{promocode_code}/rewards": {
      "get": {
        "description": "Gets promo code rewards by its code.\nCan be used to allow users to choose one of many items as a bonus.\nThe usual case is choosing a DRM if the promo code contains a game as a bonus (`type=unit`). <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "get-promo-code-rewards-by-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promocode_code-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-promocode-rewards"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          },
          "403": {
            "$ref": "#/components/responses/Promotions_403-auth-header"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-promo-code"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-rewards"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Obter recompensas de código promocional",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/promocode/redeem": {
      "post": {
        "description": "Resgata um código promocional de promoção.\nDepois de resgatar um código promocional, o usuário receberá itens gratuitos e/ou o preço do carrinho e/ou itens específicos será diminuído.",
        "operationId": "redeem-promo-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_redeem-promo-code-model"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-promo-code-redeemed"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          },
          "403": {
            "$ref": "#/components/responses/Promotions_403-auth-header"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-promo-code"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-redeem-coupon"
          }
        },
        "security": [
          {
            "AuthForCart": []
          }
        ],
        "summary": "Resgatar código promocional",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/promocode/remove": {
      "put": {
        "description": "Remove um código promocional de um carrinho.\nDepois que o código promocional for removido, o preço total de todos os itens no carrinho será recalculado sem bônus e descontos fornecidos por um código promocional.",
        "operationId": "remove-cart-promo-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_cancel-promo-code-model"
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-promo-code-canceled"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          },
          "403": {
            "$ref": "#/components/responses/Promotions_403-auth-header"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-cancel-promo-code"
          }
        },
        "security": [
          {
            "AuthForCart": []
          }
        ],
        "summary": "Remover código promocional do carrinho",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/promotion/code/{code}/verify": {
      "get": {
        "description": "Determines if the code is a promo code or coupon code and if the user can apply it. <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "verify-promotion-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/code-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-verify-promo-code"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          },
          "403": {
            "$ref": "#/components/responses/Promotions_403-auth-header"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-verify-promo-code"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-verify-promo-code"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Verificar o código promocional",
        "tags": [
          "promotions-common"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/user/clan/contributors/{reward_chain_id}/top": {
      "get": {
        "description": "Retrieves the list of top 10 contributors to the specific reward chain under the current user's clan. If a user doesn't belong to a clan, the call returns an empty array. <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "get-user-clan-top-contributors",
        "parameters": [
          {
            "description": "ID do projeto.",
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "example": 44056,
              "type": "integer"
            }
          },
          {
            "description": "ID da cadeia de recompensas.",
            "in": "path",
            "name": "reward_chain_id",
            "required": true,
            "schema": {
              "example": 101,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "clan": {
                    "summary": "O usuário tem um clã",
                    "value": [
                      {
                        "contributed_amount": 555,
                        "name": "winner"
                      },
                      {
                        "contributed_amount": 398,
                        "name": "Rocket"
                      },
                      {
                        "contributed_amount": 201,
                        "name": "MrJoe"
                      },
                      {
                        "contributed_amount": 1,
                        "name": "beginner"
                      }
                    ]
                  },
                  "without-clan": {
                    "summary": "O usuário não pertence a um clã",
                    "value": []
                  }
                },
                "schema": {
                  "items": {
                    "properties": {
                      "contributed_amount": {
                        "description": "A quantidade de pontos de valor contribuídos pelo usuário.",
                        "example": 100,
                        "type": "integer"
                      },
                      "name": {
                        "description": "ID de usuário. Este é o ID enviado à Xsolla durante a autorização e vincula o usuário ao seu projeto Xsolla Login.",
                        "example": "Rocket",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "A lista dos 10 principais contribuintes para a cadeia de recompensas do clã."
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Obter os 10 maiores contribuintes da cadeia de recompensas no clã",
        "tags": [
          "clan-reward-chain-client"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/user/clan/update": {
      "put": {
        "description": "Updates a current user's clan via user attributes. Claims all rewards from reward chains that were not claimed for a previous clan and returns them in the response. If the user was in a clan and now is not — their inclusion in the clan will be revoked. If the user changed the clan — the clan will be changed. <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "user-clan-update",
        "parameters": [
          {
            "description": "ID do projeto.",
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "default": 44056,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-client-update-user-clan"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Atualizar o clã do usuário atual",
        "tags": [
          "clan-reward-chain-client"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/user/daily_chain": {
      "get": {
        "description": "Client endpoint. Gets the current user's daily rewards.\n<div class=\"notice\"><strong>Notice</strong><br><br>A method returns a paginated list of items. The maximum and default value is <strong>50 items per response.</strong> To get more items from the list, use the <code>limit</code> and <code>offset</code> parameters and fetch more pages. For example, when calling a method with <code>limit = 25</code> and <code>offset = 100</code>, the response returns 25 items starting from the 101st item in the overall list.</div> <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "get-daily-chains-list",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-client-get-daily-chains-list"
          },
          "401": {
            "$ref": "#/components/responses/401-client-auth-error"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Obter recompensas diárias do usuário atual",
        "tags": [
          "daily-chain-client"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/user/daily_chain/{daily_chain_id}": {
      "get": {
        "description": "Client endpoint. Gets the current user’s daily reward by its ID. <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "get-user-daily-chain-by-id",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/daily_chain_id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "$ref": "#/components/examples/200-client-daily-chain"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/client-daily-chain-model"
                }
              }
            },
            "description": "As recompensa diária do usuário foi recuperada com sucesso."
          },
          "404": {
            "$ref": "#/components/responses/404-daily-chain-not-found"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Obtém a recompensa diária do usuário atual por seu ID",
        "tags": [
          "daily-chain-client"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/user/daily_chain/{daily_chain_id}/step/number/{step_number}/claim": {
      "post": {
        "description": "Client endpoint. Claims the current user's step reward from a daily reward. All steps can only be claimed in sequential order. The reward for a missed step cannot be obtained for virtual or real currency, or by watching an ad <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "claim-user-daily-chain-step-reward",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/daily_chain_id-path-param"
          },
          {
            "$ref": "#/components/parameters/daily_chain_step_number-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "Resgatou a recompensa de etapa do usuário atual por uma etapa de recompensa diária com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/401-client-auth-error"
          },
          "404": {
            "$ref": "#/components/responses/404-daily-chain-step-not-found"
          },
          "422": {
            "content": {
              "application/json": {
                "examples": {
                  "invalid-step": {
                    "$ref": "#/components/examples/422-daily-chain-claim-error-invalid-step"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/daily-chain-error-model"
                }
              }
            },
            "description": "A etapa não pode ser resgatada."
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Resgatar etapa da recompensa diária",
        "tags": [
          "daily-chain-client"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/user/offer_chain": {
      "get": {
        "description": "Gets the current user’s offer chains.\n<div class=\"notice\"><strong>Notice</strong><br><br>All projects have a limit on the number of items that can be returned in a single response. The default and maximum value is <strong>30 items per response</strong>. To get more data, use the <code>limit</code> and <code>offset</code> query parameters for pagination.</div> <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "get-offer-chains-list",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-client-get-offer-chains-list"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Obtenha as cadeias de ofertas do usuário atual",
        "tags": [
          "offer-chain-client"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/user/offer_chain/{offer_chain_id}": {
      "get": {
        "description": "Gets the current user’s offer chain by the offer chain's ID. <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "get-user-offer-chain-by-id",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/offer_chain_id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "$ref": "#/components/examples/200-client-offer-chain"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/client-offer-chain-model"
                }
              }
            },
            "description": "A cadeia de ofertas do usuário foi recuperada com sucesso."
          },
          "404": {
            "$ref": "#/components/responses/404-offer-chain-not-found"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Obter a cadeia de ofertas do usuário atual por ID",
        "tags": [
          "offer-chain-client"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/user/offer_chain/{offer_chain_id}/step/number/{step_number}/claim": {
      "post": {
        "description": "Completes the current user’s progression through the offer chain step and grants the associated reward.\n<div class=\"notice\">\n  <strong>Notice</strong><br><br>\n    Use this call only for free steps in the offer chain.\n    For steps that require payment in real currency, use the <a href=\"/api/shop-builder/operation/order-user-offer-chain-step-reward\">Create order for paid offer chain step</a> call instead.\n</div> <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "claim-user-offer-chain-step-reward",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/offer_chain_id-path-param"
          },
          {
            "$ref": "#/components/parameters/offer_chain_step_number-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "order_id": 641
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "order_id": {
                      "description": "ID de pedido.",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "A etapa gratuita foi resgatada com sucesso e a recompensa concedida."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-offer-chain-step-not-found"
          },
          "422": {
            "content": {
              "application/json": {
                "examples": {
                  "invalid-step": {
                    "$ref": "#/components/examples/422-offer-chain-claim-error-invalid-step"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/offer-chain-error-model"
                }
              }
            },
            "description": "A etapa não pode ser resgatada. Certifique-se de que todas as etapas anteriores foram concluídas e que a etapa está marcada como gratuita."
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Resgate a etapa da cadeia de oferta gratuita",
        "tags": [
          "offer-chain-client"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/user/offer_chain/{offer_chain_id}/step/number/{step_number}/order": {
      "post": {
        "description": "Creates an order for the item associated with the specified paid offer chain step. The created order gets the `new` order status.\n\nTo open the payment UI in a new window, use the following link: `https://secure.xsolla.com/paystation4/?token={token}`, where `{token}` is the received token.\n\nFor testing purposes, use this URL: `https://sandbox-secure.xsolla.com/paystation4/?token={token}`.\n\n<div class=\"notice\">\n  <strong>Notice</strong> <br><br>\n    This method must be used on the client side. The user's IP address is used to determine the country, which affects the currency and available payment methods. Using this method from the server side may result in incorrect currency detection and affect payment methods in <a href=\"https://developers.xsolla.com/pt/doc/pay-station/\">Pay Station</a>.\n</div><br>\n\n<div class=\"notice\">\n  <strong>Notice</strong><br><br>\n    Use this call only for paid offer chain steps.\n    For free steps, use the <a href=\"/api/shop-builder/operation/claim-user-offer-chain-step-reward\">Claim free offer chain step</a> call instead.\n</div>\n<br>\n<div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "order-user-offer-chain-step-reward",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/offer_chain_id-path-param"
          },
          {
            "$ref": "#/components/parameters/offer_chain_step_number-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Cart-Payment_200-order-created"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-offer-chain-step-not-found"
          },
          "422": {
            "content": {
              "application/json": {
                "examples": {
                  "invalid-step": {
                    "$ref": "#/components/examples/422-offer-chain-claim-error-invalid-step"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/offer-chain-error-model"
                }
              }
            },
            "description": "A etapa não pode ser comprada."
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Criar ordem para a etapa da cadeia de ofertas pagas",
        "tags": [
          "offer-chain-client",
          "payment-client-side"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/user/reward_chain": {
      "get": {
        "description": "Client endpoint. Gets the current user’s reward chains.\n<div class=\"notice\">\n  <strong>Attention</strong><br><br>\n    All projects have the limitation to the number of items that you can\n    get in the response. The default and maximum value is <strong>50 items\n    per response.</strong> To get more data page by page, use <b>limit</b>\n    and <b>offset</b> fields.\n</div> <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "get-reward-chains-list",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-client-get-reward-chains-list"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Obtenha as cadeias de recompensa do usuário atual",
        "tags": [
          "reward-chain-client"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/user/reward_chain/{reward_chain_id}/balance": {
      "get": {
        "description": "Client endpoint. Gets the current user’s value point balance. <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "get-user-reward-chain-balance",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/reward_chain_id-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-client-get-user-reward-chain-balance"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Obter o saldo de pontos de valor do usuário atual",
        "tags": [
          "reward-chain-client"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v2/project/{project_id}/user/reward_chain/{reward_chain_id}/step/{step_id}/claim": {
      "post": {
        "description": "Client endpoint. Claims the current user’s step reward from a reward chain. <br> <div class=\"note\">\n  <strong>Note</strong><br><br>\n    This API call uses a user JWT for authorization.<br><br>\n    Include the token in the <code>Authorization</code> header in the following format: <code>Bearer &lt;user_JWT&gt;</code>. For more information about user JWT, see the <strong>Security</strong> block for this call.\n</div>",
        "operationId": "claim-user-reward-chain-step-reward",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/reward_chain_id-path-param"
          },
          {
            "$ref": "#/components/parameters/reward_chain_step_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "Reivindicou com sucesso a recompensa de passo do usuário atual de uma cadeia de recompensas."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-client-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-reward-chain-step-not-found"
          },
          "422": {
            "$ref": "#/components/responses/422-reward-chain-step-reward-can-not-claimed"
          }
        },
        "security": [
          {
            "XsollaLoginUserJWT": []
          }
        ],
        "summary": "Resgatar recompensa por etapa",
        "tags": [
          "reward-chain-client"
        ],
        "x-badges": [
          {
            "color": "#80eaff",
            "name": "Client-side"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/coupon": {
      "get": {
        "description": "Obtém a lista de promoções de cupons de um projeto.",
        "operationId": "get-coupons",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-get-coupons"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter lista de promoções de cupons",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Cria uma promoção de cupom.",
        "operationId": "admin-create-coupon",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_coupon-create"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "external_id": "coupon_external_id"
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "external_id": {
                      "$ref": "#/components/schemas/Promotions_coupon-external_id"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "O cupom foi criado com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-invalid-coupon"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar promoção de cupom",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/coupon/{external_id}": {
      "delete": {
        "description": "Exclui a [promoção de cupom](https://developers.xsolla.com/pt/doc/shop-builder/features/coupons/). A promoção excluída:\n* Desaparece da lista de promoções configuradas em seu projeto.\n* Não é mais aplicada ao catálogo de itens. O usuário não pode obter itens bônus com esta promoção.\n\nApós a exclusão, a promoção não pode ser restaurada.\nOs códigos de cupom da promoção excluída podem ser [adicionados](https://developers.xsolla.com/pt/api/shop-builder/operation/create-coupon-code/) às promoções existentes.",
        "operationId": "delete-coupon-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "A promoção do cupom foi excluída com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Excluir promoção de cupom",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "get": {
        "description": "Obtém uma promoção de cupom especificada.",
        "operationId": "get-coupon",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "bonus": [
                        {
                          "quantity": 100,
                          "sku": "com.xsolla.diamonds_1"
                        }
                      ],
                      "external_id": "summer20221",
                      "is_enabled": true,
                      "name": {
                        "en-US": "Coupon name",
                        "ru-RU": "Название купона"
                      },
                      "promotion_periods": [
                        {
                          "date_from": "2020-04-15T18:16:00+05:00",
                          "date_until": "2020-04-25T18:16:00+05:00"
                        },
                        {
                          "date_from": "2020-05-15T18:16:00+05:00",
                          "date_until": "2020-05-25T18:16:00+05:00"
                        }
                      ],
                      "redeem_code_limit": null,
                      "redeem_total_limit": 100,
                      "redeem_user_limit": null,
                      "total_limit_state": {
                        "available": 50,
                        "reserved": 10,
                        "used": 40
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/admin-promotions_200-get-coupon-promotion-model"
                }
              }
            },
            "description": "O cupom foi recebido com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Ganhe promoção de cupom",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Atualiza uma promoção de cupom.",
        "operationId": "update-coupon-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_coupon-update"
        },
        "responses": {
          "204": {
            "description": "O cupom foi atualizado com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-invalid-coupon"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Promoção de cupom de atualização",
        "tags": [
          "promotions-coupons"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/promocode": {
      "get": {
        "description": "Obtém a lista de códigos promocionais de um projeto.",
        "operationId": "get-promo-codes",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-get-promocodes"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter lista de promoções de códigos promocionais",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Cria uma promoção de código promocional.",
        "operationId": "create-promo-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_promocode-create"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "external_id": "coupon_external_id"
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "external_id": {
                      "$ref": "#/components/schemas/Promotions_coupon-external_id"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "O código promocional foi criado com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-invalid-coupon"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar promoção de código promocional",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/promocode/{external_id}": {
      "delete": {
        "description": "Exclui a [promoção de código promocional](https://developers.xsolla.com/pt/doc/shop-builder/features/promo-codes/). A promoção excluída:\n* Desaparece da lista de promoções configuradas em seu projeto.\n* Não é mais aplicada ao catálogo de itens e ao carrinho. O usuário não pode obter itens bônus ou comprar itens usando esta promoção.\n\nApós a exclusão, a promoção não pode ser restaurada.\nOs códigos promocionais da promoção excluída podem ser [adicionados](https://developers.xsolla.com/pt/api/shop-builder/operation/create-promo-code-code/) às promoções existentes.",
        "operationId": "delete-promo-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "A promoção do código promocional foi excluída com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promocode"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Excluir promoção de código promocional",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "get": {
        "description": "Obtém uma promoção de código promocional especificada.",
        "operationId": "get-promo-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "simple": {
                    "value": {
                      "bonus": [
                        {
                          "quantity": 100,
                          "sku": "com.xsolla.diamonds_1"
                        }
                      ],
                      "discount": {
                        "percent": "10.99"
                      },
                      "discounted_items": null,
                      "excluded_promotions": [
                        23,
                        45
                      ],
                      "external_id": "summer20221",
                      "is_enabled": true,
                      "name": {
                        "en-US": "Coupon name",
                        "ru-RU": "Название купона"
                      },
                      "promotion_periods": [
                        {
                          "date_from": "2020-04-15T18:16:00+05:00",
                          "date_until": "2020-04-25T18:16:00+05:00"
                        },
                        {
                          "date_from": "2020-05-15T18:16:00+05:00",
                          "date_until": "2020-05-25T18:16:00+05:00"
                        }
                      ],
                      "redeem_code_limit": 1,
                      "redeem_total_limit": 100,
                      "redeem_user_limit": null,
                      "total_limit_state": {
                        "available": 50,
                        "reserved": 10,
                        "used": 40
                      }
                    }
                  },
                  "with item price conditions": {
                    "value": {
                      "bonus": [
                        {
                          "quantity": 100,
                          "sku": "com.xsolla.diamonds_3"
                        }
                      ],
                      "discount": {
                        "percent": "10.99"
                      },
                      "discounted_items": null,
                      "excluded_promotions": [
                        23,
                        45
                      ],
                      "external_id": "summer20221",
                      "is_enabled": true,
                      "item_price_conditions": [
                        {
                          "operator": "gt",
                          "value": "10.0000"
                        },
                        {
                          "operator": "lt",
                          "value": "50.0000"
                        }
                      ],
                      "name": {
                        "en-US": "Coupon name",
                        "ru-RU": "Название купона"
                      },
                      "promotion_periods": [
                        {
                          "date_from": "2020-04-15T18:16:00+05:00",
                          "date_until": "2020-04-25T18:16:00+05:00"
                        }
                      ],
                      "redeem_code_limit": 1,
                      "redeem_total_limit": 100,
                      "redeem_user_limit": null,
                      "total_limit_state": {
                        "available": 50,
                        "reserved": 10,
                        "used": 40
                      }
                    }
                  },
                  "with price conditions": {
                    "value": {
                      "bonus": [
                        {
                          "quantity": 100,
                          "sku": "com.xsolla.diamonds_2"
                        }
                      ],
                      "discount": {
                        "percent": "10.99"
                      },
                      "discounted_items": null,
                      "external_id": "summer20221",
                      "is_enabled": true,
                      "name": {
                        "en-US": "Coupon name",
                        "ru-RU": "Название купона"
                      },
                      "price_conditions": [
                        {
                          "operator": "gt",
                          "value": "10.0000"
                        },
                        {
                          "operator": "lt",
                          "value": "50.0000"
                        }
                      ],
                      "promotion_periods": [
                        {
                          "date_from": "2020-04-15T18:16:00+05:00",
                          "date_until": "2020-04-25T18:16:00+05:00"
                        }
                      ],
                      "redeem_code_limit": 1,
                      "redeem_total_limit": 100,
                      "redeem_user_limit": null,
                      "total_limit_state": {
                        "available": 50,
                        "reserved": 10,
                        "used": 40
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Promotions_200-get-promocode-promotion-model"
                }
              }
            },
            "description": "O código promocional foi recebido com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promocode"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter promoção de código promocional",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Atualiza uma promoção de código promocional.",
        "operationId": "update-promo-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_promocode-update"
        },
        "responses": {
          "204": {
            "description": "O código promocional foi atualizado com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promocode"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-invalid-coupon"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Atualizar promoção de código promocional",
        "tags": [
          "promotions-promo-codes"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/promotion": {
      "get": {
        "description": "Obtém a lista de promoções de um projeto.",
        "operationId": "get-promotion-list",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          },
          {
            "$ref": "#/components/parameters/enabled-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-get-promotions"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter toda a lista de promoções",
        "tags": [
          "promotions-common"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/promotion/bonus": {
      "get": {
        "description": "Obtém a lista de promoções bônus de um projeto.\n\nA promoção adiciona itens bônus gratuitos à compra feita por um usuário.\nA promoção pode ser aplicada a cada compra dentro de um projeto ou a uma compra que inclua itens específicos.",
        "operationId": "get-bonus-promotion-list",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-get-bonus-promotions"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter lista de promoções de bônus",
        "tags": [
          "promotions-bonuses"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Cria a promoção de bônus.\n\nA promoção adiciona itens bônus gratuitos à compra feita por um usuário.\nA promoção pode ser aplicada a cada compra dentro de um projeto ou a uma compra que inclua itens específicos.",
        "operationId": "create-bonus-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_create-update-bonus-promotion"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/Promotions_201-create-promotion"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-admin-promotion-missed-bonus-property"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar promoção de bônus",
        "tags": [
          "promotions-bonuses"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/promotion/item": {
      "get": {
        "description": "Obtenha a lista de promoções de itens de um projeto.\n\nAs promoções oferecem um desconto (%) nos itens.\nO desconto será aplicado a todos os preços dos itens especificados.",
        "operationId": "get-item-promotion-list",
        "parameters": [
          {
            "description": "ID do projeto.",
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "default": 59080,
              "type": "integer"
            }
          },
          {
            "description": "Limite da quantidade de elementos na página.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Número do elemento a partir do qual a lista é gerada (a quantidade começa a partir de 0).",
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-get-item-promotions"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter lista de promoções de itens",
        "tags": [
          "promotions-discounts"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Cria uma promoção de desconto para um item.\n\nAs promoções oferecem um desconto (%) nos itens.\nO desconto será aplicado a todos os preços dos itens especificados.",
        "operationId": "create-item-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_create-update-item-promotion"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/Promotions_201-create-promotion"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-admin-promotion-missed-items-property"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar promoção de desconto para item",
        "tags": [
          "promotions-discounts"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/promotion/redeemable/code/{code}": {
      "get": {
        "description": "Obtém a promoção por um código promocional ou código de cupom.",
        "operationId": "get-redeemable-promotion-by-code",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/code-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-redeemable-by-code"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-code-not-found"
          },
          "405": {
            "$ref": "#/components/responses/405-method-not-found"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obtenha promoção resgatável por código",
        "tags": [
          "promotions-common"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/promotion/{promotion_id}/bonus": {
      "delete": {
        "description": "Exclui a [promoção bônus](https://developers.xsolla.com/pt/doc/shop-builder/features/bonuses/). A promoção excluída:\n* Desaparece da lista de promoções configuradas no seu projeto.\n* Não se aplica mais ao catálogo de itens e ao carrinho. O usuário não pode obter itens bônus com esta promoção.\n\nApós a exclusão, a promoção não poderá ser restaurada.",
        "operationId": "delete-bonus-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "A promoção foi excluída com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promotion"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Excluir promoção bônus",
        "tags": [
          "promotions-bonuses"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "get": {
        "description": "Recebe a promoção bônus.\n\nA promoção adiciona itens bônus gratuitos à compra feita por um usuário.\nA promoção pode ser aplicada a cada compra dentro de um projeto ou a uma compra que inclua itens específicos.",
        "operationId": "get-bonus-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-admin-get-bonus-promotion"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promotion"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter promoção bônus",
        "tags": [
          "promotions-bonuses"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Atualiza a promoção.\n\n<div class='note'><b>Observação</b><br><br>Novos dados substituirão dados antigos. Se você quiser atualizar apenas uma parte de uma promoção, você deve transferir todos os dados necessários na solicitação também.</div>\n\nA promoção adiciona itens bônus gratuitos à compra feita por um usuário.\nA promoção pode ser aplicada a cada compra dentro de um projeto ou a uma compra que inclua itens específicos.",
        "operationId": "update-bonus-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_create-update-bonus-promotion"
        },
        "responses": {
          "204": {
            "description": "A promoção foi atualizada com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-admin-promotion-missed-bonus-property"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Atualizar promoção bônus",
        "tags": [
          "promotions-bonuses"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/promotion/{promotion_id}/item": {
      "delete": {
        "description": "Exclui a [promoção de desconto](https://developers.xsolla.com/pt/doc/shop-builder/features/discounts/). A promoção excluída:\n* Desaparece da lista de promoções configuradas no seu projeto.\n* Não se aplica mais ao catálogo de itens e ao carrinho. O usuário não pode comprar itens com esta promoção.\n\nApós a exclusão, a promoção não poderá ser restaurada.",
        "operationId": "delete-item-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "A promoção foi excluída com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promotion"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Excluir promoção de item",
        "tags": [
          "promotions-discounts"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "get": {
        "description": "Obtém a promoção aplicada a itens específicos.\n\nAs promoções oferecem um desconto (%) nos itens.\nO desconto será aplicado a todos os preços dos itens especificados.",
        "operationId": "get-item-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "discount": {
                        "percent": "20.00"
                      },
                      "excluded_promotions": [
                        23,
                        45
                      ],
                      "id": 1,
                      "is_enabled": true,
                      "items": [
                        {
                          "sku": "com.xsolla.elven_helmet_1"
                        },
                        {
                          "sku": "com.xsolla.elven_armor_1"
                        }
                      ],
                      "limits": {
                        "per_item": null,
                        "per_user": {
                          "total": 10
                        },
                        "recurrent_schedule": {
                          "per_user": {
                            "day_of_month": null,
                            "day_of_week": null,
                            "displayable_reset_next_date": "2023-02-28T11:00:00+08:00",
                            "displayable_reset_start_date": "2023-02-28T11:00:00+08:00",
                            "interval_type": "daily",
                            "reset_next_date": 1677553200,
                            "time": "11:00:00+08:00"
                          }
                        }
                      },
                      "name": {
                        "en-US": "Promotion",
                        "ru-RU": "Акция"
                      },
                      "price_conditions": [
                        {
                          "operator": "ge",
                          "value": "10.0000"
                        },
                        {
                          "operator": "le",
                          "value": "50.0000"
                        }
                      ],
                      "promotion_periods": [
                        {
                          "date_from": "2020-04-15T18:16:00+05:00",
                          "date_until": "2020-04-25T18:16:00+05:00"
                        }
                      ]
                    }
                  }
                },
                "schema": {
                  "example": {
                    "discount": {
                      "percent": "15.00"
                    },
                    "id": 1,
                    "is_enabled": true,
                    "items": [
                      {
                        "sku": "com.xsolla.elven_sword_1"
                      },
                      {
                        "sku": "com.xsolla.elven_helmet_1"
                      },
                      {
                        "sku": "com.xsolla.elven_armor_1"
                      }
                    ],
                    "name": {
                      "en-US": "Promotion",
                      "ru-RU": "Акция"
                    },
                    "promotion_periods": [
                      {
                        "date_from": "2020-04-15T18:16:00+05:00",
                        "date_until": "2020-04-25T18:16:00+05:00"
                      }
                    ]
                  },
                  "properties": {
                    "attribute_conditions": {
                      "$ref": "#/components/schemas/promotion_user-attribute_conditions_model-get"
                    },
                    "discount": {
                      "properties": {
                        "percent": {
                          "default": "10.00",
                          "description": "Percentual de desconto.\nO preço do item será diminuído usando um valor que foi calculado usando essa porcentagem.",
                          "type": [
                            "string",
                            "null"
                          ]
                        }
                      },
                      "type": "object"
                    },
                    "excluded_promotions": {
                      "$ref": "#/components/schemas/excluded_promotions"
                    },
                    "id": {
                      "description": "ID de promoção. Identificador exclusivo da promoção dentro do projeto.",
                      "type": "integer"
                    },
                    "is_enabled": {
                      "$ref": "#/components/schemas/Promotions_is_enabled"
                    },
                    "items": {
                      "items": {
                        "description": "A lista de itens que serão afetados pelo desconto.",
                        "properties": {
                          "sku": {
                            "default": "elven_sword",
                            "description": "SKU do item.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "limits": {
                      "$ref": "#/components/schemas/Promotions_promotion_limits_response"
                    },
                    "name": {
                      "additionalProperties": {
                        "example": {
                          "en-US": "Promotion",
                          "ru-RU": "Акция"
                        },
                        "type": "string"
                      },
                      "description": "Nome da promoção. Deve conter pares chave/valor,\nonde chave é a localidade com o formato \"^[a-z]{2}-[A-Z]{2}$\", e o valor é uma cadeia de caracteres.",
                      "type": "object"
                    },
                    "price_conditions": {
                      "$ref": "#/components/schemas/price_conditions_discount"
                    },
                    "promotion_periods": {
                      "$ref": "#/components/schemas/promotion_periods"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "A promoção do item foi recebida com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "errorCode": 9502,
                      "errorMessage": "[0401-9502]: Can not find promotion with ID = 111425 in project 59080",
                      "statusCode": 404
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "errorCode": {
                      "example": 9502,
                      "type": "integer"
                    },
                    "errorMessage": {
                      "example": "[0401-9502]: Can not find promotion with ID = 111425 in project 59080",
                      "type": "string"
                    },
                    "statusCode": {
                      "example": 404,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Promoção não encontrada. Certifique-se de que `promotion_id` está correto."
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter promoção de itens",
        "tags": [
          "promotions-discounts"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Atualiza a promoção.\n\n<div class='note'><b>Observação</b><br><br>Novos dados substituirão dados antigos. Se você quiser atualizar apenas uma parte de uma promoção, você deve transferir todos os dados necessários na solicitação também.</div>\n\nAs promoções oferecem um desconto (%) nos itens.\nO desconto será aplicado a todos os preços dos itens especificados.",
        "operationId": "update-item-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_create-update-item-promotion"
        },
        "responses": {
          "204": {
            "description": "A promoção foi atualizada com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-promotion"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-admin-promotion-missed-items-property"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Atualizar promoção de item",
        "tags": [
          "promotions-discounts"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/reward_chain": {
      "get": {
        "description": "Obtém lista de cadeias de recompensa.\n\n<div class=\"notice\"><strong>Atenção</strong><br><br>Todos os projetos têm a limitação do número de itens que você pode obter na resposta. O valor padrão e máximo é de <strong>10 itens por resposta.</strong> Para obter mais dados página por página, use os campos <b>limit</b> e <b>offset</b>.</div>",
        "operationId": "admin-get-reward-chains",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          },
          {
            "$ref": "#/components/parameters/enabled-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-list-reward-chains"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter lista de cadeias de recompensas",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Cria cadeias de recompensas.",
        "operationId": "admin-create-reward-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/create-reward-chain"
        },
        "responses": {
          "201": {
            "$ref": "#/components/responses/201-admin-create-reward-chain"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/422-admin-create-update-rc-vp-invalid-request"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar cadeia de recompensas",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}": {
      "delete": {
        "description": "Exclui uma cadeia de recompensas específica.",
        "operationId": "admin-delete-reward-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/reward_chain_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204-admin-delete-reward-chain"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Excluir cadeia de recompensas",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "get": {
        "description": "Obtém uma cadeia de recompensa específica.",
        "operationId": "admin-get-reward-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/reward_chain_id-path-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/200-admin-get-reward-chain"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-admin-reward-chain-not-found"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obtenha a cadeia de recompensas",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Atualiza a cadeia de recompensas específica.",
        "operationId": "admin-update-reward-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/reward_chain_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/update-reward-chain"
        },
        "responses": {
          "204": {
            "$ref": "#/components/responses/204-admin-update-reward-chain"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/404-admin-reward-chain-not-found"
          },
          "422": {
            "$ref": "#/components/responses/422-admin-create-update-rc-vp-invalid-request"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Atualizar cadeia de recompensas",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}/reset": {
      "post": {
        "description": "Resets the value points balance and progress of all users in the reward chain.<br> The balance is tied to the value points type, not to a specific reward chain. If these value points are used in other chains, the balance will be reset in all chains that use these value points.<br> After the reset, you can update the reward chain’s validity period, and users will be able to progress through it again.<br> The clan balance is calculated as the sum of its members’ balances. Therefore, after the reset, the clan balance is also reset.<br> This request is irreversible and applies to all users of the project.\n\n<div class=\"notice\"><strong>Notice</strong>\n  <br><br>\n  You should not reset the reward chain during its validity period. In this case, users may lose earned value points before they claim their reward.\n</div>",
        "operationId": "admin-reset-reward-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/reward_chain_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204-admin-reset-reward-chain"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Redefinir cadeia de recompensas",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/reward_chain/id/{reward_chain_id}/toggle": {
      "put": {
        "description": "Ativar/desativar a cadeia de recompensas.",
        "operationId": "admin-toggle-reward-chain",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/reward_chain_id-path-param"
          }
        ],
        "responses": {
          "204": {
            "$ref": "#/components/responses/204-admin-toggle-reward-chain"
          },
          "401": {
            "$ref": "#/components/responses/401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Alternar cadeia de recompensas",
        "tags": [
          "reward-chain-value-points-admin"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/unique_catalog_offer": {
      "get": {
        "description": "Obtém a lista de promoções de ofertas de catálogo exclusivas de um projeto.",
        "operationId": "get-unique-catalog-offers",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/Promotions_200-get-unique-catalog-offers"
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter lista de promoções exclusivas de ofertas de catálogo",
        "tags": [
          "promotions-unique-catalog-offers"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "post": {
        "description": "Cria uma promoção exclusiva de oferta de catálogo.",
        "operationId": "admin-create-unique-catalog-offer",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_unique_catalog_offer-create"
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "external_id": "coupon_external_id"
                    }
                  }
                },
                "schema": {
                  "properties": {
                    "external_id": {
                      "$ref": "#/components/schemas/Promotions_coupon-external_id"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "A oferta de catálogo exclusiva foi criada com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-invalid-coupon"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Criar promoção de oferta de catálogo exclusiva",
        "tags": [
          "promotions-unique-catalog-offers"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    },
    "/v3/project/{project_id}/admin/unique_catalog_offer/{external_id}": {
      "delete": {
        "description": "Exclui a [promoção de oferta de catálogo único](https://developers.xsolla.com/pt/doc/shop-builder/features/unique-offer/). A promoção excluída:\n* Desaparece da lista de promoções configuradas no seu projeto.\n* Não se aplica mais ao catálogo de itens e ao carrinho. O usuário não pode comprar itens com esta promoção.\n\nApós a exclusão, a promoção não poderá ser restaurada.",
        "operationId": "delete-unique-catalog-offer-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "Oferta de catálogo exclusiva excluída com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Excluir promoção de oferta de catálogo exclusiva",
        "tags": [
          "promotions-unique-catalog-offers"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "get": {
        "description": "Obtém a promoção de oferta de catálogo exclusiva especificada.",
        "operationId": "get-unique-catalog-offer",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "examples": {
                  "response": {
                    "value": {
                      "external_id": "secret_shop",
                      "is_enabled": true,
                      "items": [
                        "helmet",
                        "sword",
                        "shield"
                      ],
                      "name": {
                        "en-US": "Secret shop",
                        "ru-RU": "Секретный магазин"
                      },
                      "promotion_periods": [
                        {
                          "date_from": "2020-04-15T18:16:00+05:00",
                          "date_until": "2020-04-25T18:16:00+05:00"
                        },
                        {
                          "date_from": "2020-05-15T18:16:00+05:00",
                          "date_until": "2020-05-25T18:16:00+05:00"
                        }
                      ],
                      "redeem_code_limit": 1,
                      "redeem_total_limit": 100,
                      "redeem_user_limit": 1,
                      "total_limit_state": {
                        "available": 50,
                        "reserved": 10,
                        "used": 40
                      }
                    }
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/Promotions_200-get-unique-catalog-offer-promotion-model"
                }
              }
            },
            "description": "Oferta de catálogo exclusiva recebida com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Obter promoção de oferta de catálogo exclusiva",
        "tags": [
          "promotions-unique-catalog-offers"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      },
      "put": {
        "description": "Atualiza a promoção de oferta de catálogo exclusiva.",
        "operationId": "update-unique-catalog-offer-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/project_id-path-param"
          },
          {
            "$ref": "#/components/parameters/external_id-promotion-path-param"
          }
        ],
        "requestBody": {
          "$ref": "#/components/requestBodies/Promotions_unique_catalog_offer-update"
        },
        "responses": {
          "204": {
            "description": "A oferta de catálogo exclusiva foi atualizada com sucesso."
          },
          "401": {
            "$ref": "#/components/responses/Promotions_401-invalid-basic-auth"
          },
          "404": {
            "$ref": "#/components/responses/Promotions_404-admin-coupon"
          },
          "422": {
            "$ref": "#/components/responses/Promotions_422-invalid-coupon"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Atualiza a promoção de oferta de catálogo exclusiva",
        "tags": [
          "promotions-unique-catalog-offers"
        ],
        "x-badges": [
          {
            "color": "#95ff80",
            "name": "Server-side"
          },
          {
            "color": "#d7dee0",
            "name": "Admin"
          }
        ]
      }
    }
  },
  "servers": [
    {
      "url": "https://store.xsolla.com/api"
    }
  ],
  "tags": [
    {
      "description": "Promotions are marketing tools designed to attract new users and increase sales. Using Xsolla API, you can configure the following promotions:\n\n* Discounts — reduced prices on selected items.\n* Bonuses — items granted to users along with their purchase.\n* Coupons — codes that allow users to receive one or more bonus items when redeeming.\n* Promo codes — codes that allow users to receive bonus items, a discount on a specific item, or a discount on the entire cart. Unlike coupons that are redeemed after the user enters them, promo codes are redeemed during a purchase (at checkout).\n* Unique offers — hidden items displayed in the catalog to users who have entered a unique offer code. If the code is not entered, the items are not displayed.\n\nExample flow for configuring a discount promotion:\n1. Create items using the calls from the **Admin** subsection of the [Virtual items and currency](/pt/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list/), [Bundles](/pt/api/catalog/bundles-admin/admin-create-bundle), or [Game keys](/pt/api/catalog/game-keys-admin) groups.\n2. Create a promotion using the [Create discount promotion for item](/pt/api/liveops/promotions-discounts/create-item-promotion/) call. In the `items` array, pass the necessary item SKUs.\n3. Set up promotion validity periods. To do this, call the [Create discount promotion for item](/pt/api/liveops/promotions-discounts/create-item-promotion/) or [Update item promotion](/pt/api/liveops/promotions-discounts/update-item-promotion/) methods, and pass the `promotion_periods` field as an array of objects where `date_from` defines the start, and `date_until` defines the end date of the validity period.\n4. Activate a promotion using the [Update item promotion](/pt/api/liveops/promotions-discounts/update-item-promotion/) call. Pass the `\"is_enabled\": true` parameter.\n5. To get information about item prices, including discounted prices, call the client API methods for getting an item catalog from the [Common > Catalog](/pt/api/catalog/tag/common-catalog/), [Virtual Items and Currency > Catalog](/pt/api/catalog/virtual-items-currency-catalog/get-virtual-items/), and [Bundles > Catalog](/pt/api/catalog/bundles-catalog/get-bundle-list/) subsections.\n\n![Promotion configuration example](https://cdn.xsolla.net/developers/current/images/api_docs/promo-overview.svg)\n\nRefer to our documentation for detailed information about configuring promotions:\n* [Discounts](https://developers.xsolla.com/pt/liveops/promotion-tools/discounts/)\n* [Bonuses](https://developers.xsolla.com/pt/liveops/promotion-tools/bonuses/)\n* [Coupons](https://developers.xsolla.com/pt/liveops/promotion-tools/coupons/)\n* [Promo codes](https://developers.xsolla.com/pt/liveops/promotion-tools/promo-codes/)\n* [Unique catalog offers](https://developers.xsolla.com/pt/liveops/promotion-tools/unique-offer/)",
      "name": "promotions-overview",
      "x-displayName": "Overview"
    },
    {
      "description": "You can call API methods from this subsection to manage different types of promotions.",
      "name": "promotions-common",
      "x-displayName": "Common API calls"
    },
    {
      "description": "Call API methods from this subsection to configure and manage coupon promotions.\n\n<div class=\"note\">\n  <p><b>Note</b></p>\n  <p>Refer to our <a href=\"https://developers.xsolla.com/pt/liveops/promotion-tools/coupons/\">documentation</a> for detailed information about coupons.</p>\n</div>",
      "name": "promotions-coupons",
      "x-displayName": "Cupons"
    },
    {
      "description": "Call API methods from this subsection to configure and manage promo code promotions.\n\n<div class=\"note\">\n  <p><b>Note</b></p>\n  <p>Refer to our <a href=\"https://developers.xsolla.com/pt/liveops/promotion-tools/promo-codes/\">documentation</a> for detailed information about promo codes.</p>\n</div>",
      "name": "promotions-promo-codes",
      "x-displayName": "Códigos promocionais"
    },
    {
      "description": "Call API methods from this subsection to configure and manage unique catalog offers.\n\n<div class=\"note\">\n  <p><b>Note</b></p>\n  <p>Refer to our <a href=\"https://developers.xsolla.com/pt/liveops/promotion-tools/unique-offer/\">documentation</a> for detailed information about unique offers.</p>\n</div>",
      "name": "promotions-unique-catalog-offers",
      "x-displayName": "Ofertas de catálogo exclusivas"
    },
    {
      "description": "Call API methods from this subsection to configure and manage discount promotions.\n\n<div class=\"note\">\n  <p><b>Note</b></p>\n  <p>Refer to our <a href=\"https://developers.xsolla.com/pt/liveops/promotion-tools/discounts/\">documentation</a> for detailed information about discounts.</p>\n</div>",
      "name": "promotions-discounts",
      "x-displayName": "Descontos"
    },
    {
      "description": "Call API methods from this subsection to configure and manage bonus promotions.\n\n<div class=\"note\">\n  <p><b>Note</b></p>\n  <p>Refer to our <a href=\"https://developers.xsolla.com/pt/liveops/promotion-tools/bonuses/\">documentation</a> for detailed information about bonuses.</p>\n</div>",
      "name": "promotions-bonuses",
      "x-displayName": "Bônus"
    },
    {
      "description": "Personalization allows you to specify the conditions for displaying the item catalog and applying promotions only for specific authorized users. Conditions are defined based on user attributes and allow you to offer items and promotions that are most relevant to particular users.\n\nThe following personalization types are available:\n\n\n* [Xsolla-side personalization](/pt/liveops/promotion-tools/personalization/#guides_personalization_on_xsolla_side). Personalization rules and logic are configured and stored on the Xsolla side. You pass user attributes, and Xsolla uses them to generate a personalized catalog.\n* [Partner-side personalization](/pt/liveops/promotion-tools/personalization/#guides_personalization_on_partner_side). You configure personalization rules and logic on your side and send a final catalog payload for a specific user to Xsolla.\n\n<div class=\"note\">\n  <b>Note</b><br><br>\n  You can use only one personalization type. To change it, follow the\n  <a href=\"/liveops/promotion-tools/personalization/#guides_personalization_change\">instructions</a>.\n</div>\n\n\nTo configure personalization on the Xsolla side using the Xsolla API:\n\n1. Create items using the API calls from the **Admin** subsection of the [Virtual items and currency](/pt/api/catalog/virtual-items-currency-admin/admin-get-virtual-items-list/), [Bundles](/pt/api/catalog/bundles-admin/admin-create-bundle) or [Game keys](/pt/api/catalog/game-keys-admin) groups.\n2. [Set up user attributes using the Xsolla Login API](/pt/liveops/promotion-tools/personalization/#web_shop_guide_personalization_setting_attributes) and keep them synchronized by updating data in Xsolla whenever changes occur in your game.\n3. Configure personalization for items or promotions:\n    * To personalize the item catalog, define catalog display rules using the [Create catalog filter rule](/pt/api/liveops/personalized-catalog/create-filter-rule) API call:\n        * In the [attribute_conditions](/pt/api/liveops/personalized-catalog/create-filter-rule#personalized-catalog/create-filter-rule/t=request&path=attribute_conditions) array, specify the conditions that determine item availability based on user attributes.\n        * In the [items](/pt/api/liveops/personalized-catalog/create-filter-rule#personalized-catalog/create-filter-rule/t=request&path=items) array, provide the list of items that should be visible to the user if their attributes match the specified conditions.\n    * To configure personalized promotions, use the [create and update API calls for the required promotion type](/pt/api/liveops/promotions-discounts/create-item-promotion). In the [attribute_conditions](/pt/api/liveops/promotions-discounts/create-item-promotion) array, specify the conditions that determine promotion availability based on user attributes.\n\n4. Pass the [user JWT](/pt/api/login/getting-user-token#getting-user-token) with user attributes to the [catalog retrieval API calls](https://developers.xsolla.com/pt/api/catalog/virtual-items-currency-catalog/get-virtual-items) to receive a personalized catalog.\n\n**Sequence for configuring and applying Xsolla-side personalization for item catalog:**\n\n![Personalization for item catalog](https://cdn.xsolla.net/developers/current/images/api_docs/personalization-catalog.png)\n\n**Sequence for configuring and applying Xsolla-side personalization for promotions:**\n\n![Personalization for promotions](https://cdn.xsolla.net/developers/current/images/api_docs/personalization-liveops.png)\n\n<div class=\"note\">\n<b>Note</b><br><br>\nDetailed information is provided:\n<ul>\n  <li>in the <a href=\"/liveops/promotion-tools/personalization/\">guide to configuring personalization on the Xsolla side and the partner side</a></li>\n  <li>in the step-by-step tutorial on <a href=\"/doc/shop-builder/tutorials/personalization-tutorial/\">item catalog personalization on the Xsolla side</a></li>\n</ul>\n</div>",
      "name": "personalized-catalog",
      "x-displayName": "Catálogo personalizado"
    },
    {
      "name": "user-limits-admin",
      "x-displayName": "Gestão"
    },
    {
      "name": "reward-chain-value-points-admin",
      "x-displayName": "Admin"
    },
    {
      "name": "reward-chain-client",
      "x-displayName": "Cliente"
    },
    {
      "name": "clan-reward-chain-client",
      "x-displayName": "Cliente de clãs"
    },
    {
      "name": "daily-chain-admin",
      "x-displayName": "Admin"
    },
    {
      "name": "daily-chain-client",
      "x-displayName": "Cliente"
    },
    {
      "name": "offer-chain-admin",
      "x-displayName": "Admin"
    },
    {
      "name": "offer-chain-client",
      "x-displayName": "Cliente"
    },
    {
      "name": "upsell-admin",
      "x-displayName": "Admin"
    },
    {
      "name": "upsell-client",
      "x-displayName": "Cliente"
    }
  ],
  "x-tagGroups": [
    {
      "name": "PROMOÇÕES",
      "tags": [
        "promotions-overview",
        "promotions-common",
        "promotions-coupons",
        "promotions-promo-codes",
        "promotions-unique-catalog-offers",
        "promotions-discounts",
        "promotions-bonuses"
      ]
    },
    {
      "name": "PERSONALIZAÇÃO",
      "tags": [
        "personalized-catalog"
      ]
    },
    {
      "name": "LIMITES",
      "tags": [
        "user-limits-admin"
      ]
    },
    {
      "name": "CADEIAS DE RECOMPENSA E PONTOS DE VALOR",
      "tags": [
        "reward-chain-value-points-admin",
        "reward-chain-client",
        "clan-reward-chain-client"
      ]
    },
    {
      "name": "CORRENTES DIÁRIAS",
      "tags": [
        "daily-chain-admin",
        "daily-chain-client"
      ]
    },
    {
      "name": "CADEIAS DE OFERTAS",
      "tags": [
        "offer-chain-admin",
        "offer-chain-client"
      ]
    },
    {
      "name": "VENDA CRUZADA",
      "tags": [
        "upsell-admin",
        "upsell-client"
      ]
    }
  ]
}