{
  "components": {
    "parameters": {
      "array-group-id-query-param": {
        "description": "プランがリンクされているグループIDのリスト。",
        "in": "query",
        "name": "group_id[]",
        "schema": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "array-plan-id-query-param": {
        "description": "サブスクリプションプランIDのリスト。",
        "in": "query",
        "name": "plan_id[]",
        "schema": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        }
      },
      "array-product-id-query-param": {
        "description": "プランがリンクされている製品IDのリスト。",
        "in": "query",
        "name": "product_id[]",
        "schema": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        }
      },
      "array-project-id-query-param": {
        "description": "プロジェクトIDのリスト。",
        "in": "query",
        "name": "project_id[]",
        "schema": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        }
      },
      "campaign-id-path-param": {
        "description": "キャンペーンID。",
        "in": "path",
        "name": "campaign_id",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "code-path-param": {
        "description": "クーポンコード。",
        "in": "path",
        "name": "code",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "datetime-from-query-param": {
        "description": "サンプル日付。リクエストよりも後に作成されたサブスクリプションを見つけるのに役立ちます。",
        "in": "query",
        "name": "datetime_from",
        "schema": {
          "format": "datetime",
          "type": "string"
        }
      },
      "datetime-from-query-param2": {
        "description": "期間開始日。",
        "in": "query",
        "name": "datetime_from",
        "schema": {
          "format": "datetime",
          "type": "string"
        }
      },
      "datetime-to-query-param": {
        "description": "サンプル日付。リクエストよりも後に作成されたサブスクリプションを見つけるのに役立ちます。",
        "in": "query",
        "name": "datetime_to",
        "schema": {
          "format": "datetime",
          "type": "string"
        }
      },
      "datetime-to-query-param2": {
        "description": "期間終了日。",
        "in": "query",
        "name": "datetime_to",
        "schema": {
          "format": "datetime",
          "type": "string"
        }
      },
      "external-id-query-param": {
        "description": "プラン外部ID（32文字）。",
        "in": "query",
        "name": "external_id",
        "schema": {
          "type": "string"
        }
      },
      "group-id-query-param": {
        "description": "プランがリンクされているグループのID。",
        "in": "query",
        "name": "group_id",
        "schema": {
          "type": "string"
        }
      },
      "limit-query-param": {
        "description": "ページにあるエレメント数の制限。",
        "in": "query",
        "name": "limit",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "merchant-id-path-param": {
        "description": "マーチャントID。",
        "in": "path",
        "name": "merchant_id",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "offset-query-param": {
        "description": "リスト生成元のエレメントの番号です（カウントは0から始まります）。",
        "in": "query",
        "name": "offset",
        "schema": {
          "type": "integer"
        }
      },
      "plan-id-path-param": {
        "description": "プランID。",
        "in": "path",
        "name": "plan_id",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "plan-id-query-param": {
        "description": "サブスクリプションプラン ID。",
        "in": "query",
        "name": "plan_id",
        "schema": {
          "type": "integer"
        }
      },
      "product-id-path-param": {
        "description": "プランがリンクされている製品のID。",
        "in": "path",
        "name": "product_id",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "product-id-query-param": {
        "description": "プランがリンクされている製品のID。",
        "in": "query",
        "name": "product_id",
        "schema": {
          "type": "integer"
        }
      },
      "project-id-path-param": {
        "description": "プロジェクトID。",
        "in": "path",
        "name": "project_id",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "promotion-id-path-param": {
        "description": "プロモーションID。",
        "in": "path",
        "name": "promotion_id",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "query-query-param": {
        "description": "検索クエリ（name.en（デフォルトのロケール）を検索する）。",
        "in": "query",
        "name": "query",
        "schema": {
          "type": "string"
        }
      },
      "status-id-query-param": {
        "description": "トランザクションステータス。",
        "in": "query",
        "name": "status",
        "schema": {
          "enum": [
            "done",
            "fail"
          ],
          "type": "string",
          "x-enumDescriptions": {
            "done": "支払いが正常に処理されました。",
            "fail": "支払いが正常に処理されなかったか、または返金が行われました。"
          }
        }
      },
      "status-query-param-array": {
        "description": "ステータス。",
        "in": "query",
        "name": "status[]",
        "schema": {
          "items": {
            "enum": [
              "active",
              "canceled",
              "non_renewing"
            ],
            "type": "string"
          },
          "type": "array"
        }
      },
      "subscription-id-path-param": {
        "description": "サブスクリプションID。",
        "in": "path",
        "name": "subscription_id",
        "required": true,
        "schema": {
          "type": "integer"
        }
      },
      "subscription-id-query-param": {
        "description": "サブスクリプションID。",
        "in": "query",
        "name": "subscription_id",
        "schema": {
          "type": "integer"
        }
      },
      "user-id-path-param": {
        "description": "ユーザーID。",
        "in": "path",
        "name": "user_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "user-id-query-param": {
        "description": "ユーザーID。",
        "in": "query",
        "name": "user_id",
        "schema": {
          "type": "string"
        }
      }
    },
    "schemas": {
      "BillingAccountResponse": {
        "properties": {
          "id": {
            "example": "12345",
            "type": "integer"
          },
          "name": {
            "example": "PP_saved_account",
            "nullable": true,
            "type": "string"
          },
          "payment_system": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PaymentSystemResponse"
              }
            ]
          },
          "type": {
            "example": "paypal",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "BillingAccountsListResponse": {
        "properties": {
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/BillingAccountResponse"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "Campaign": {
        "properties": {
          "campaign_code": {
            "description": "キャンペーンの名前。",
            "type": "string"
          },
          "campaign_names": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocalizedStringPairs"
              },
              {
                "description": "ローカライズしたキャンペーン名を含むオブジェクト。"
              }
            ]
          },
          "campaign_redeems_count_for_user": {
            "description": "キャンペーン内で、ユーザーごとに交換できるクーポンの最大数。`null`が渡されたら、交換数に制限はありません。",
            "type": "integer"
          },
          "expiration_date": {
            "description": "[ISO8601](https://en.wikipedia.org/wiki/ISO_8601)に準拠した「YYYY-MM-DD’T’HH:MM:SS」形式のキャンペーンの有効期限。",
            "format": "datetime",
            "type": "string"
          },
          "project_id": {
            "description": "プロジェクトID。",
            "type": "integer"
          },
          "redeems_count": {
            "description": "クーポンの最大交換数。`null`が渡されると、交換数に制限はありません。",
            "type": "integer"
          },
          "redeems_count_for_user": {
            "description": "ユーザーごとに交換できるクーポンの最大数。`null`が渡されたら、交換数に制限はありません。",
            "type": "integer"
          },
          "subscription_coupon": {
            "description": "Object containing subscription parameters in a reward.",
            "properties": {
              "plan_id": {
                "description": "サブスクリプションプラン ID。",
                "type": "integer"
              },
              "product_id": {
                "description": "サブスクリプション製品 ID。",
                "type": "integer"
              },
              "trial_period": {
                "description": "試用期間（日数）。",
                "type": "integer"
              }
            },
            "required": [
              "plan_id",
              "product_id",
              "trial_period"
            ],
            "type": "object"
          },
          "virtual_currency_amount": {
            "description": "報酬の仮想通貨額。",
            "format": "float",
            "type": "number"
          },
          "virtual_items": {
            "description": "報酬の仮想アイテムパラメーターの配列。",
            "properties": {
              "quantity": {
                "description": "仮想アイテム数量。",
                "type": "integer"
              },
              "sku": {
                "description": "仮想アイテムSKU。",
                "type": "string"
              }
            },
            "required": [
              "sku",
              "quantity"
            ],
            "type": "object"
          }
        },
        "type": "object"
      },
      "ChangePlanPaymentDetailsResponse": {
        "properties": {
          "charge": {
            "$ref": "#/components/schemas/Charge2"
          },
          "payment_details": {
            "$ref": "#/components/schemas/PaymentDetails"
          },
          "period": {
            "$ref": "#/components/schemas/Period2"
          },
          "plan_description": {
            "example": "Localized plan description",
            "type": "string"
          },
          "plan_end_date": {
            "example": "2031-04-11T13:51:02+03:00",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "plan_external_id": {
            "example": "PlanExternalId",
            "type": "string"
          },
          "plan_group_id": {
            "example": "TestGroupId",
            "nullable": true,
            "type": "string"
          },
          "plan_id": {
            "example": "54321",
            "type": "integer"
          },
          "plan_name": {
            "example": "Localized plan name",
            "type": "string"
          },
          "plan_start_date": {
            "example": "2021-04-11T13:51:02+03:00",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "plan_type": {
            "example": "all",
            "type": "string"
          },
          "promotion": {
            "$ref": "#/components/schemas/Promotion"
          },
          "trial_period": {
            "example": "7",
            "nullable": true,
            "type": "integer"
          }
        },
        "required": [
          "plan_id",
          "plan_external_id",
          "plan_type",
          "plan_name",
          "plan_description",
          "period",
          "charge",
          "promotion",
          "payment_details"
        ],
        "type": "object"
      },
      "Charge": {
        "properties": {
          "amount": {
            "example": "4.99",
            "format": "float",
            "type": "number"
          },
          "amount_with_promotion": {
            "default": null,
            "example": "3.99",
            "format": "float",
            "nullable": true,
            "type": "number"
          },
          "currency": {
            "example": "USD",
            "type": "string"
          }
        },
        "required": [
          "amount",
          "currency"
        ],
        "type": "object"
      },
      "Charge2": {
        "properties": {
          "amount": {
            "example": "4.99",
            "format": "float",
            "type": "number"
          },
          "currency": {
            "example": "USD",
            "type": "string"
          },
          "setup_fee": {
            "example": "0.99",
            "format": "float",
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "amount",
          "currency"
        ],
        "type": "object"
      },
      "Charge3": {
        "properties": {
          "amount": {
            "example": "4.99",
            "format": "float",
            "type": "number"
          },
          "amount_with_promotion": {
            "default": null,
            "example": "3.99",
            "format": "float",
            "nullable": true,
            "type": "number"
          },
          "currency": {
            "example": "USD",
            "type": "string"
          }
        },
        "required": [
          "amount",
          "currency"
        ],
        "type": "object"
      },
      "Charge4": {
        "properties": {
          "amount": {
            "example": "4.99",
            "format": "float",
            "type": "number"
          },
          "currency": {
            "example": "USD",
            "type": "string"
          },
          "setup_fee": {
            "example": "0.99",
            "format": "float",
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "amount",
          "currency"
        ],
        "type": "object"
      },
      "Coupon": {
        "properties": {
          "campaign_code": {
            "type": "string"
          },
          "coupon_code": {
            "type": "string"
          },
          "coupon_id": {
            "type": "integer"
          },
          "expiration_date": {
            "type": "string"
          },
          "is_active": {
            "type": "boolean"
          },
          "project_id": {
            "type": "integer"
          },
          "redeems_count_for_user": {
            "type": "integer"
          },
          "redeems_count_remain": {
            "type": "integer"
          },
          "subscription_coupon": {
            "nullable": true,
            "type": "string"
          },
          "virtual_currency_amount": {
            "type": "integer"
          },
          "virtual_items": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "CouponAttribute": {
        "properties": {
          "key": {
            "description": "ユーザー属性のキー。",
            "type": "string"
          },
          "list_of_values": {
            "description": "type=enumの可能な値（配列）。",
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocalizedStringPairs"
              },
              {
                "description": "ローカライズされた属性名。"
              }
            ]
          },
          "skip_condition_on_nonexistent_key": {
            "description": "キーが存在しない場合は条件をスキップするかどうかを示します。",
            "type": "boolean"
          },
          "type": {
            "description": "キータイプ。",
            "enum": [
              "int",
              "string",
              "enum",
              "date"
            ],
            "type": "string"
          },
          "visible": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "CreatePromotion": {
        "properties": {
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocalizedStringPairs"
              },
              {
                "description": "ローカライズされたプロモーション記述の配列。"
              }
            ]
          },
          "label": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocalizedStringPairs"
              },
              {
                "description": "決済インターフェースに表示するローカライズされたラベルの配列。"
              }
            ]
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocalizedStringPairs"
              },
              {
                "description": "ローカライズされたプロモーション名の配列。"
              }
            ]
          },
          "project_id": {
            "description": "プロジェクトID。",
            "type": "integer"
          },
          "technical_name": {
            "description": "プロモーションの名称。",
            "type": "string"
          }
        },
        "type": "object"
      },
      "GetPromotion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CreatePromotion"
          },
          {
            "properties": {
              "enabled": {
                "type": "boolean"
              },
              "id": {
                "type": "integer"
              },
              "read_only": {
                "type": "boolean"
              },
              "show_banner": {
                "type": "boolean"
              }
            },
            "type": "object"
          }
        ]
      },
      "LastSuccessfulCharge": {
        "properties": {
          "amount": {
            "example": "3.99",
            "format": "float",
            "nullable": true,
            "type": "number"
          },
          "currency": {
            "example": "USD",
            "nullable": true,
            "type": "string"
          },
          "date": {
            "example": "2031-04-11T13:51:02+03:00",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "date"
        ],
        "type": "object"
      },
      "ListManagementSubscriptionsResponse": {
        "properties": {
          "has_more": {
            "example": "false",
            "type": "boolean"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/ManagementSubscriptionResponse2"
            },
            "type": "array"
          }
        },
        "required": [
          "has_more"
        ],
        "type": "object"
      },
      "ListPlansResponse": {
        "properties": {
          "has_more": {
            "example": "false",
            "type": "boolean"
          },
          "items": {
            "default": [],
            "items": {
              "$ref": "#/components/schemas/PlanResponse"
            },
            "type": "array"
          }
        },
        "required": [
          "has_more"
        ],
        "type": "object"
      },
      "LocalizedStringPairs": {
        "properties": {
          "ar": {
            "description": "アラビア語。",
            "type": "string"
          },
          "bg": {
            "description": "ブルガリア語。",
            "type": "string"
          },
          "cn": {
            "description": "中国語（簡体字）。",
            "type": "string"
          },
          "cs": {
            "description": "チェコ語。",
            "type": "string"
          },
          "de": {
            "description": "ドイツ語。",
            "type": "string"
          },
          "en": {
            "description": "英語。",
            "type": "string"
          },
          "es": {
            "description": "スペイン語。",
            "type": "string"
          },
          "fr": {
            "description": "フランス語。",
            "type": "string"
          },
          "he": {
            "description": "ヘブライ語。",
            "type": "string"
          },
          "it": {
            "description": "イタリア語。",
            "type": "string"
          },
          "ja": {
            "description": "日本語。",
            "type": "string"
          },
          "ko": {
            "description": "韓国語。",
            "type": "string"
          },
          "pl": {
            "description": "ポーランド語。",
            "type": "string"
          },
          "pt": {
            "description": "ポルトガル語。",
            "type": "string"
          },
          "ro": {
            "description": "ルーマニア語。",
            "type": "string"
          },
          "ru": {
            "description": "ロシア語。",
            "type": "string"
          },
          "th": {
            "description": "タイ語。",
            "type": "string"
          },
          "tr": {
            "description": "トルコ語。",
            "type": "string"
          },
          "tw": {
            "description": "中国語（繁体字）。",
            "type": "string"
          },
          "vi": {
            "description": "ベトナム語。",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ManagementSubscriptionResponse": {
        "properties": {
          "charge": {
            "$ref": "#/components/schemas/Charge"
          },
          "date_create": {
            "example": "2031-04-11T13:51:02+03:00",
            "format": "date-time",
            "type": "string"
          },
          "date_end": {
            "example": "2031-04-11T13:51:02+03:00",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "date_last_charge": {
            "example": "2031-04-11T13:51:02+03:00",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "date_next_charge": {
            "example": "2031-04-11T13:51:02+03:00",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "example": "12345",
            "type": "integer"
          },
          "is_change_plan_allowed": {
            "example": "false",
            "type": "boolean"
          },
          "is_change_to_non_renew_possible": {
            "example": "true",
            "type": "boolean"
          },
          "is_in_trial": {
            "example": "false",
            "type": "boolean"
          },
          "is_renew_possible": {
            "example": "true",
            "type": "boolean"
          },
          "last_successful_charge": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/LastSuccessfulCharge"
              }
            ]
          },
          "payment_account": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PaymentRecurrentAccountResponse2"
              }
            ]
          },
          "period": {
            "$ref": "#/components/schemas/Period"
          },
          "plan_description": {
            "example": "Localized plan description",
            "type": "string"
          },
          "plan_name": {
            "example": "Localized plan name",
            "type": "string"
          },
          "product_description": {
            "example": "Localized product description",
            "nullable": true,
            "type": "string"
          },
          "product_name": {
            "example": "Product name",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "example": "active",
            "type": "string"
          },
          "trial_period": {
            "example": "0",
            "nullable": true,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "plan_name",
          "plan_description",
          "status",
          "is_in_trial",
          "date_create",
          "charge",
          "period",
          "is_renew_possible",
          "is_change_to_non_renew_possible",
          "is_change_plan_allowed"
        ],
        "type": "object"
      },
      "ManagementSubscriptionResponse2": {
        "properties": {
          "charge": {
            "$ref": "#/components/schemas/Charge3"
          },
          "date_create": {
            "example": "2031-04-11T13:51:02+03:00",
            "format": "date-time",
            "type": "string"
          },
          "date_last_charge": {
            "example": "2031-04-11T13:51:02+03:00",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "date_next_charge": {
            "example": "2031-04-11T13:51:02+03:00",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "example": "12345",
            "type": "integer"
          },
          "is_in_trial": {
            "example": "false",
            "type": "boolean"
          },
          "payment_account": {
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/PaymentRecurrentAccountResponse3"
              }
            ]
          },
          "period": {
            "$ref": "#/components/schemas/Period3"
          },
          "plan_description": {
            "example": "Localized plan description",
            "type": "string"
          },
          "plan_name": {
            "example": "Localized plan name",
            "type": "string"
          },
          "product_description": {
            "example": "Localized product description",
            "nullable": true,
            "type": "string"
          },
          "product_name": {
            "example": "Product name",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "example": "active",
            "type": "string"
          },
          "trial_period": {
            "example": "0",
            "nullable": true,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "plan_name",
          "plan_description",
          "status",
          "is_in_trial",
          "date_create",
          "charge",
          "period"
        ],
        "type": "object"
      },
      "PayStationLinkResponse": {
        "properties": {
          "link_to_ps": {
            "example": "https://secure.xsolla.com/paystation2/?access_token=<access_token>",
            "type": "string"
          }
        },
        "required": [
          "link_to_ps"
        ],
        "type": "object"
      },
      "PaymentDetails": {
        "properties": {
          "surcharge": {
            "default": null,
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Surcharge"
              }
            ]
          },
          "unused": {
            "default": null,
            "nullable": true,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Unused"
              }
            ]
          }
        },
        "type": "object"
      },
      "PaymentRecurrentAccountResponse": {
        "properties": {
          "card_expiry_date": {
            "nullable": true,
            "properties": {
              "month": {
                "example": "09",
                "type": "string"
              },
              "year": {
                "example": "2023",
                "type": "string"
              }
            },
            "type": "object"
          },
          "id": {
            "example": "123",
            "type": "integer"
          },
          "name": {
            "example": "** 7398",
            "nullable": true,
            "type": "string"
          },
          "ps_name": {
            "example": "Mastercard",
            "nullable": true,
            "type": "string"
          },
          "switch_icon_name": {
            "example": "mastercard.svg",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "example": "card",
            "type": "string"
          }
        },
        "required": [
          "id",
          "type"
        ],
        "type": "object"
      },
      "PaymentRecurrentAccountResponse2": {
        "properties": {
          "card_expiry_date": {
            "nullable": true,
            "properties": {
              "month": {
                "example": "09",
                "type": "string"
              },
              "year": {
                "example": "2023",
                "type": "string"
              }
            },
            "type": "object"
          },
          "id": {
            "example": "123",
            "type": "integer"
          },
          "name": {
            "example": "** 7398",
            "nullable": true,
            "type": "string"
          },
          "ps_name": {
            "example": "Mastercard",
            "nullable": true,
            "type": "string"
          },
          "switch_icon_name": {
            "example": "mastercard.svg",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "example": "card",
            "type": "string"
          }
        },
        "required": [
          "id",
          "type"
        ],
        "type": "object"
      },
      "PaymentRecurrentAccountResponse3": {
        "properties": {
          "card_expiry_date": {
            "nullable": true,
            "properties": {
              "month": {
                "example": "09",
                "type": "string"
              },
              "year": {
                "example": "2023",
                "type": "string"
              }
            },
            "type": "object"
          },
          "id": {
            "example": "123",
            "type": "integer"
          },
          "name": {
            "example": "** 7398",
            "nullable": true,
            "type": "string"
          },
          "ps_name": {
            "example": "Mastercard",
            "nullable": true,
            "type": "string"
          },
          "switch_icon_name": {
            "example": "mastercard.svg",
            "nullable": true,
            "type": "string"
          },
          "type": {
            "example": "card",
            "type": "string"
          }
        },
        "required": [
          "id",
          "type"
        ],
        "type": "object"
      },
      "PaymentSystemResponse": {
        "properties": {
          "id": {
            "example": "12345",
            "type": "integer"
          },
          "name": {
            "example": "PayPal",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "Period": {
        "properties": {
          "unit": {
            "default": null,
            "example": "month",
            "nullable": true,
            "type": "string"
          },
          "value": {
            "default": null,
            "example": "1",
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Period2": {
        "properties": {
          "unit": {
            "default": null,
            "example": "month",
            "nullable": true,
            "type": "string"
          },
          "value": {
            "default": null,
            "example": "1",
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Period3": {
        "properties": {
          "unit": {
            "default": null,
            "example": "month",
            "nullable": true,
            "type": "string"
          },
          "value": {
            "default": null,
            "example": "1",
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Period4": {
        "properties": {
          "unit": {
            "default": null,
            "example": "month",
            "nullable": true,
            "type": "string"
          },
          "value": {
            "default": null,
            "example": "1",
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "PlanResponse": {
        "properties": {
          "charge": {
            "$ref": "#/components/schemas/Charge4"
          },
          "period": {
            "$ref": "#/components/schemas/Period4"
          },
          "plan_description": {
            "example": "Localized plan description",
            "type": "string"
          },
          "plan_end_date": {
            "example": "2031-04-11T13:51:02+03:00",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "plan_external_id": {
            "example": "PlanExternalId",
            "type": "string"
          },
          "plan_group_id": {
            "example": "TestGroupId",
            "nullable": true,
            "type": "string"
          },
          "plan_id": {
            "example": "54321",
            "type": "integer"
          },
          "plan_name": {
            "example": "Localized plan name",
            "type": "string"
          },
          "plan_start_date": {
            "example": "2021-04-11T13:51:02+03:00",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "plan_type": {
            "example": "all",
            "type": "string"
          },
          "promotion": {
            "$ref": "#/components/schemas/Promotion2"
          },
          "trial_period": {
            "example": "7",
            "nullable": true,
            "type": "integer"
          }
        },
        "required": [
          "plan_id",
          "plan_external_id",
          "plan_type",
          "plan_name",
          "plan_description",
          "period",
          "charge",
          "promotion"
        ],
        "type": "object"
      },
      "ProjectManageSubscriptionSettingsResponse": {
        "properties": {
          "allow_change_package": {
            "example": "true",
            "type": "boolean"
          },
          "recurrent_cancel_possible": {
            "example": "true",
            "type": "boolean"
          }
        },
        "required": [
          "recurrent_cancel_possible",
          "allow_change_package"
        ],
        "type": "object"
      },
      "Promotion": {
        "properties": {
          "promotion_charge_amount": {
            "default": null,
            "example": "3.99",
            "format": "float",
            "nullable": true,
            "type": "number"
          },
          "promotion_remaining_charges": {
            "default": null,
            "example": "3",
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "Promotion2": {
        "properties": {
          "promotion_charge_amount": {
            "default": null,
            "example": "3.99",
            "format": "float",
            "nullable": true,
            "type": "number"
          },
          "promotion_remaining_charges": {
            "default": null,
            "example": "3",
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "PromotionPaymentSystem": {
        "properties": {
          "payment_systems": {
            "description": "決済システム。",
            "items": {
              "properties": {
                "id": {
                  "description": "決済システムID。",
                  "type": "integer"
                },
                "name": {
                  "description": "決済システム名。",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PromotionPeriod": {
        "properties": {
          "periods": {
            "description": "日時範囲。",
            "items": {
              "properties": {
                "from": {
                  "description": "期間開始日。",
                  "format": "datetime",
                  "type": "string"
                },
                "offset": {
                  "description": "リスト生成元のエレメントの番号です（カウントは0から始まります）。",
                  "type": "string"
                },
                "to": {
                  "description": "期間終了日。",
                  "format": "datetime",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PromotionReward": {
        "properties": {
          "item": {
            "description": "特定の仮想アイテムの報酬を設定します。",
            "properties": {
              "bonus": {
                "description": "ボーナスとして仮想アイテムが与えられます。",
                "items": {
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "localized_name": {
                      "description": "既定の言語（英語）でプラン名を表示し、name.en値を複製します。",
                      "type": "string"
                    },
                    "quantity": {
                      "description": "ボーナスとして与えられた仮想アイテムの数。",
                      "type": "integer"
                    },
                    "sku": {
                      "description": "アイテムSKU。",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              },
              "discount": {
                "description": "特定の仮想アイテムの割引。",
                "items": {
                  "properties": {
                    "discount_percent": {
                      "description": "割引率。",
                      "format": "float",
                      "type": "number"
                    },
                    "localized_name": {
                      "description": "既定の言語（英語）でプラン名を表示し、name.en値を複製します。",
                      "type": "string"
                    },
                    "max_amount": {
                      "description": "プロモーションを適用するアイテムの最大数。",
                      "format": "integer",
                      "type": "number"
                    },
                    "sku": {
                      "description": "アイテムSKU。",
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "array"
              }
            },
            "type": "object"
          },
          "package": {
            "description": "仮想通貨パッケージの報酬を設定します。",
            "properties": {
              "bonus_amount": {
                "description": "仮想通貨の絶対量として報酬を与える。",
                "format": "float",
                "type": "number"
              },
              "bonus_percent": {
                "description": "パッケージ金額のパーセンテージとして報酬を与える。",
                "format": "float",
                "type": "number"
              }
            },
            "type": "object"
          },
          "purchase": {
            "description": "購入全体の報酬を設定します。",
            "properties": {
              "discount_percent": {
                "description": "割引率。",
                "format": "float",
                "type": "number"
              }
            },
            "type": "object"
          },
          "subscription": {
            "description": "サブスクリプションの報酬を設定します。",
            "properties": {
              "trial_days": {
                "description": "試用期間（日）。",
                "type": "integer"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "PromotionSubject": {
        "properties": {
          "digital_contents": {
            "nullable": true,
            "type": "object"
          },
          "items": {
            "description": "プロモーションに適用される仮想アイテムの配列。",
            "items": {
              "properties": {
                "id": {
                  "type": "integer"
                },
                "localized_name": {
                  "description": "既定の言語（英語）でプラン名を表示し、name.en値を複製します。",
                  "type": "string"
                },
                "sku": {
                  "description": "アイテムSKU。",
                  "type": "string"
                }
              },
              "type": "object"
            },
            "type": "array"
          },
          "packages": {
            "description": "プロモーションに適用される仮想通貨パッケージの配列。",
            "items": {
              "type": "object"
            },
            "nullable": true,
            "type": "array"
          },
          "purchase": {
            "description": "プロモーションが購入全体に適用されるかどうかを示します。",
            "type": "boolean"
          },
          "subscriptions": {
            "description": "プロモーションに適用されるサブスクリプションプランまたは製品。",
            "nullable": true,
            "properties": {
              "max_charges_count": {
                "description": "プロモーションに適用される請求の最大数。",
                "type": "integer"
              },
              "plans": {
                "items": {
                  "description": "プロモーションが適用されるサブスクリプションプランの配列。",
                  "type": "string"
                },
                "type": "array"
              },
              "products": {
                "items": {
                  "description": "プロモーションに適用されるサブスクリプションベースの製品の配列。",
                  "type": "string"
                },
                "type": "array"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "Subscription": {
        "properties": {
          "cancel_subscription_payment": {
            "description": "`true`に設定すると、このサブスクリプションで最後に支払った決済分が払い戻されます。**`canceled`に設定したステータスと共にのみ実行できます**。",
            "type": "boolean"
          },
          "status": {
            "description": "ステータス。",
            "enum": [
              "active",
              "canceled",
              "non_renewing"
            ],
            "type": "string"
          },
          "timeshift": {
            "description": "請求の延期。",
            "properties": {
              "type": {
                "description": "請求時間の単位。`day`または`month`にすることができます。",
                "enum": [
                  "day",
                  "month"
                ],
                "type": "string"
              },
              "value": {
                "description": "課金を延期する時間単位の数。値はタイプパラメータに依存し、次のようになります：<br>-`type`は`day`の場合 、1から366まで<br>-`type`は`month`の場合、1から12までです",
                "type": "string"
              }
            },
            "type": "object"
          },
          "xsolla_network": {
            "properties": {
              "collaborator_id": {
                "description": "コラボレーター ID — [インフルエンサー](https://developers.xsolla.com/ja/doc/partner-network/#guides_network_glossary_influencer)または[アフィリエイトネットワーク](https://developers.xsolla.com/ja/doc/partner-network/#guides_network_glossary_affiliate_network)識別子。あなたの**アドミンページ>パートナーネットワーク>インフルエンサー**セクションで見つけることができます。",
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "SubscriptionResponse": {
        "properties": {
          "charge_amount": {
            "description": "請求額。",
            "format": "float",
            "type": "number"
          },
          "comment": {
            "description": "サブスクリプション状態を変更する理由",
            "type": "string"
          },
          "currency": {
            "description": "購入通貨。ISO 4217に基づく3文字の通貨コード。",
            "type": "string"
          },
          "date_create": {
            "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)に基づく`YYYY-MM-DD’T’HH:MM:SS`フォーマットのサブスクリプション作成日。",
            "format": "datetime",
            "type": "string"
          },
          "date_end": {
            "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)に基づく`YYYY-MM-DD’T’HH:MM:SS`フォーマットのサブスクリプション終了日。",
            "format": "datetime",
            "type": "string"
          },
          "date_last_charge": {
            "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)に基づく`YYYY-MM-DD’T’HH:MM:SS`フォーマットのサブスクリプション最終請求日。",
            "format": "datetime",
            "nullable": true,
            "type": "string"
          },
          "date_next_charge": {
            "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)に基づく`YYYY-MM-DD’T’HH:MM:SS`フォーマットの次回のサブスクリプション請求日。",
            "format": "datetime",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "サブスクリプションID",
            "type": "integer"
          },
          "plan": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubscriptionsPlan"
              }
            ]
          },
          "product": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SubscriptionsProductWithId"
              }
            ]
          },
          "status": {
            "description": "状態",
            "enum": [
              "new",
              "active",
              "canceled",
              "non_renewing",
              "freeze"
            ],
            "type": "string"
          },
          "user": {
            "allOf": [
              {
                "$ref": "#/components/schemas/User"
              }
            ]
          }
        },
        "type": "object"
      },
      "SubscriptionsPlan": {
        "properties": {
          "billing_retry": {
            "description": "請求再試行の詳細。",
            "properties": {
              "value": {
                "description": "請求の再試行回数。",
                "type": "integer"
              }
            },
            "required": [
              "value"
            ],
            "type": "object"
          },
          "charge": {
            "description": "請求の詳細。",
            "properties": {
              "amount": {
                "description": "請求額。",
                "format": "float",
                "type": "number"
              },
              "currency": {
                "description": "購入通貨。[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)に準拠した3文字の通貨コード。",
                "type": "string"
              },
              "period": {
                "description": "請求期間。",
                "properties": {
                  "type": {
                    "description": "時間の単位。`day`、`month`または`lifetime`にすることができます。",
                    "enum": [
                      "day",
                      "month",
                      "lifetime"
                    ],
                    "type": "string"
                  },
                  "value": {
                    "description": "時間単位の数。値はタイプパラメータに依存し、次のようになります：<br>-`type`は`day`の場合 、1から366まで<br>-`type`は`month`の場合、1から12まで、<br>-`type`は`lifetime`の場合、０です",
                    "type": "integer"
                  }
                },
                "required": [
                  "value",
                  "type"
                ],
                "type": "object"
              },
              "prices": {
                "description": "異なる通貨での価格を一覧表示します。",
                "items": {
                  "properties": {
                    "amount": {
                      "description": "請求額。",
                      "format": "float",
                      "type": "number"
                    },
                    "currency": {
                      "description": "購入通貨。[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)に準拠した3文字の通貨コード。",
                      "type": "string"
                    },
                    "setup_fee": {
                      "description": "最初の請求書の一部として請求される1回のセットアップ費用。",
                      "format": "float",
                      "type": "number"
                    }
                  },
                  "required": [
                    "amount",
                    "currency"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "period"
            ],
            "type": "object"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocalizedStringPairs"
              },
              {
                "description": "プランの説明文。\"localization\":\"plan description\"のペアで構成されます。"
              }
            ]
          },
          "expiration": {
            "description": "サブスクリプションの有効期限の詳細。",
            "properties": {
              "type": {
                "description": "時間の単位。`day`または`month`にすることができます。",
                "enum": [
                  "day",
                  "month"
                ],
                "type": "string"
              },
              "value": {
                "description": "有効期間。",
                "nullable": true,
                "type": "integer"
              }
            },
            "required": [
              "value",
              "type"
            ],
            "type": "object"
          },
          "external_id": {
            "description": "プラン外部ID（32文字）。",
            "type": "string"
          },
          "grace_period": {
            "description": "猶予期間の詳細。",
            "properties": {
              "type": {
                "description": "時間の単位。`day`にすることができます。",
                "enum": [
                  "day"
                ],
                "type": "string"
              },
              "value": {
                "description": "時間単位の数。",
                "type": "integer"
              }
            },
            "required": [
              "value",
              "type"
            ],
            "type": "object"
          },
          "group_id": {
            "description": "プランがリンクされているグループID。",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "サブスクリプションプラン ID。",
            "type": "integer"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocalizedStringPairs"
              },
              {
                "description": "プラン名。\"localization\":\"plan name\"のペアで構成されます。"
              }
            ]
          },
          "project_id": {
            "description": "プロジェクトID。",
            "type": "integer"
          },
          "refund_period": {
            "description": "ユーザーがサブスクリプションプランの支払いを返金できる期間（日単位）。",
            "nullable": true,
            "type": "integer"
          },
          "status": {
            "properties": {
              "value": {
                "description": "サブスクリプションプランのステータス",
                "enum": [
                  "active",
                  "disabled"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "tags": {
            "description": "プランのタグ。",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "trial": {
            "description": "試用期間の詳細。",
            "properties": {
              "type": {
                "description": "時間の単位。`day`にすることができます。",
                "enum": [
                  "day"
                ],
                "type": "string"
              },
              "value": {
                "description": "時間単位の数。",
                "type": "integer"
              }
            },
            "required": [
              "value",
              "type"
            ],
            "type": "object"
          }
        },
        "type": "object"
      },
      "SubscriptionsPlanRequest": {
        "properties": {
          "billing_retry": {
            "description": "請求再試行の詳細。",
            "properties": {
              "value": {
                "description": "請求の再試行回数。",
                "type": "integer"
              }
            },
            "required": [
              "value"
            ],
            "type": "object"
          },
          "charge": {
            "description": "請求の詳細。",
            "properties": {
              "amount": {
                "description": "請求額。",
                "format": "float",
                "type": "number"
              },
              "currency": {
                "description": "購入通貨。[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)に準拠した3文字の通貨コード。",
                "type": "string"
              },
              "period": {
                "description": "請求期間。",
                "properties": {
                  "type": {
                    "description": "時間の単位。`day`、`month`または`lifetime`にすることができます。",
                    "enum": [
                      "day",
                      "month",
                      "lifetime"
                    ],
                    "type": "string"
                  },
                  "value": {
                    "description": "時間単位の数。値はタイプパラメータに依存し、次のようになります：<br>-`type`は`day`の場合 、1から366まで<br>-`type`は`month`の場合、1から12まで、<br>-`type`は`lifetime`の場合、０です",
                    "type": "integer"
                  }
                },
                "required": [
                  "value",
                  "type"
                ],
                "type": "object"
              },
              "prices": {
                "description": "異なる通貨での価格を一覧表示します。",
                "items": {
                  "properties": {
                    "amount": {
                      "description": "請求額。",
                      "format": "float",
                      "type": "number"
                    },
                    "currency": {
                      "description": "購入通貨。[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)に準拠した3文字の通貨コード。",
                      "type": "string"
                    },
                    "setup_fee": {
                      "description": "最初の請求書の一部として請求される1回のセットアップ費用。",
                      "format": "float",
                      "type": "number"
                    }
                  },
                  "required": [
                    "amount",
                    "currency"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "required": [
              "period"
            ],
            "type": "object"
          },
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocalizedStringPairs"
              },
              {
                "description": "プランの説明文。\"localization\":\"plan description\"のペアで構成されます。"
              }
            ]
          },
          "expiration": {
            "description": "サブスクリプションの有効期限の詳細。",
            "properties": {
              "type": {
                "description": "時間の単位。`day`または`month`にすることができます。",
                "enum": [
                  "day",
                  "month"
                ],
                "type": "string"
              },
              "value": {
                "description": "有効期間。",
                "nullable": true,
                "type": "integer"
              }
            },
            "required": [
              "value",
              "type"
            ],
            "type": "object"
          },
          "external_id": {
            "description": "プラン外部ID（32文字）。",
            "type": "string"
          },
          "grace_period": {
            "description": "猶予期間の詳細。",
            "properties": {
              "type": {
                "description": "時間の単位。`day`にすることができます。",
                "enum": [
                  "day"
                ],
                "type": "string"
              },
              "value": {
                "description": "時間単位の数。",
                "type": "integer"
              }
            },
            "required": [
              "value",
              "type"
            ],
            "type": "object"
          },
          "group_id": {
            "description": "プランがリンクされているグループID。",
            "type": "string"
          },
          "name": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocalizedStringPairs"
              },
              {
                "description": "プラン名。\"localization\":\"plan name\"のペアで構成されます。"
              }
            ]
          },
          "refund_period": {
            "description": "ユーザーがサブスクリプションプランの支払いを返金できる期間（日単位）。",
            "nullable": true,
            "type": "integer"
          },
          "status": {
            "properties": {
              "value": {
                "description": "サブスクリプションプランのステータス",
                "enum": [
                  "active",
                  "disabled"
                ],
                "type": "string"
              }
            },
            "type": "object"
          },
          "tags": {
            "description": "プランのタグ。",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "trial": {
            "description": "試用期間の詳細。このパラメータが渡されない場合、デフォルト値（0日）が使用されます。",
            "properties": {
              "type": {
                "description": "時間の単位。`day`にすることができます。",
                "enum": [
                  "day"
                ],
                "type": "string"
              },
              "value": {
                "description": "時間単位の数。",
                "type": "integer"
              }
            },
            "required": [
              "value",
              "type"
            ],
            "type": "object"
          }
        },
        "type": "object"
      },
      "SubscriptionsProduct": {
        "nullable": true,
        "properties": {
          "description": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocalizedStringPairs"
              },
              {
                "description": "ローカライズされたアイテムの説明。"
              }
            ]
          },
          "group_id": {
            "description": "製品がリンクされているグループID。",
            "type": "string"
          },
          "name": {
            "description": "製品名。",
            "type": "string"
          }
        },
        "type": "object"
      },
      "SubscriptionsProductWithId": {
        "allOf": [
          {
            "properties": {
              "id": {
                "description": "プランがリンクされている製品のID。",
                "nullable": true,
                "type": "integer"
              }
            },
            "type": "object"
          },
          {
            "$ref": "#/components/schemas/SubscriptionsProduct"
          }
        ]
      },
      "Surcharge": {
        "properties": {
          "surcharge_amount": {
            "default": null,
            "example": "1.99",
            "format": "float",
            "nullable": true,
            "type": "number"
          },
          "surcharge_currency": {
            "default": null,
            "example": "USD",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "Unused": {
        "properties": {
          "unused_amount": {
            "default": null,
            "example": "1.99",
            "format": "float",
            "nullable": true,
            "type": "number"
          },
          "unused_currency": {
            "default": null,
            "example": "USD",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "User": {
        "properties": {
          "id": {
            "description": "ユーザーID",
            "type": "string"
          },
          "name": {
            "description": "ユーザー名",
            "type": "string"
          }
        },
        "type": "object"
      },
      "token": {
        "example": {
          "purchase": {
            "checkout": {
              "amount": 10,
              "currency": "USD"
            },
            "subscription": {
              "gift": {
                "email": "recipient_email@email.com",
                "recipient": "test_recipient_v1"
              }
            }
          },
          "settings": {
            "currency": "USD",
            "language": "en",
            "project_id": 16184,
            "ui": {
              "components": {
                "virtual_currency": {
                  "custom_amount": true
                }
              },
              "desktop": {
                "virtual_item_list": {
                  "button_with_price": true,
                  "layout": "list"
                }
              },
              "size": "medium"
            }
          },
          "user": {
            "age": 19,
            "country": {
              "allow_modify": true,
              "value": "US"
            },
            "email": {
              "value": "john.smith@mail.com"
            },
            "id": {
              "value": "user_2"
            },
            "name": {
              "value": "John Smith"
            }
          }
        },
        "properties": {
          "custom_parameters": {
            "description": "`custom_parameters`オブジェクトのトークンに追加のパラメーターを渡して、不正防止フィルターを設定することができます。ドロップダウンリストには推奨パラメータが表示されます。[決済ステーション説明書](https://developers.xsolla.com/ja/doc/pay-station/features/antifraud/)を参照してください。",
            "properties": {
              "active_date": {
                "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)形式の最終閲覧日。",
                "type": "string"
              },
              "additional_verification": {
                "description": "プレイヤーがアカウント承認手続きを使用するかどうかを示します。",
                "type": "boolean"
              },
              "character_customized": {
                "description": "プレイヤーがキャラクターをカスタマイズしたかどうかを示します。",
                "type": "boolean"
              },
              "chat_activity": {
                "description": "プレイヤーがチャット機能を使用するかどうかを示します。",
                "type": "boolean"
              },
              "completed_tasks": {
                "description": "完了したタスクや目標の数。",
                "type": "integer"
              },
              "forum_activity": {
                "description": "プレイヤーがフォーラム機能を使用するかどうかを示す。",
                "type": "boolean"
              },
              "items_used": {
                "description": "プレイヤーが購入したゲームアイテムを使用するかどうかを示します。",
                "type": "boolean"
              },
              "karma_points": {
                "description": "プレイヤーのカルマ値。",
                "type": "integer"
              },
              "last_change_password_date": {
                "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)に沿ったパスワード最終更新日。",
                "type": "string"
              },
              "non_premium_currency": {
                "description": "非プレミアム通貨の金額。",
                "format": "float",
                "type": "integer"
              },
              "notifications_enabled": {
                "description": "プレイヤーが通知を有効化したかどうかを示します。",
                "type": "boolean"
              },
              "profile_completed": {
                "description": "プレイヤーがプロフィールに追加情報を入力したかどうかを示します。",
                "type": "boolean"
              },
              "profile_image_added": {
                "description": "プレイヤーがプロフィール画像をアップロードしたかどうかを示します。",
                "type": "boolean"
              },
              "pvp_activity": {
                "description": "プレイヤーが対人戦に参加するかどうかを示します。",
                "type": "boolean"
              },
              "registration_date": {
                "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)形式のアカウント作成日。",
                "type": "string"
              },
              "session_time": {
                "description": "[ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)に沿った平均セッション時間。",
                "type": "string"
              },
              "social_networks_added": {
                "description": "プレイヤーがソーシャルメディアプロファイルを接続しているかを示します。",
                "type": "boolean"
              },
              "total_bans": {
                "description": "チャットやフォーラムでプレイヤーが禁止された回数。",
                "type": "integer"
              },
              "total_characters": {
                "description": "ゲーム内のキャラクターの数。",
                "type": "integer"
              },
              "total_clans": {
                "description": "プレイヤーがメンバーになっているクランの数。",
                "type": "integer"
              },
              "total_friends": {
                "description": "友達の数。",
                "type": "integer"
              },
              "total_game_events": {
                "description": "プレイヤーが参加したゲーム内イベントの数。",
                "type": "integer"
              },
              "total_gifts": {
                "description": "プレイヤーが送受信したゲーム内の贈り物の数。",
                "type": "integer"
              },
              "total_hours": {
                "description": "合計ゲーム時間数。",
                "type": "integer"
              },
              "total_inventory_value": {
                "description": "インベントリ総額（ゲーム内通貨）。",
                "format": "float",
                "type": "integer"
              },
              "total_sum": {
                "description": "総支払額。",
                "format": "float",
                "type": "integer"
              },
              "tutorial_completed": {
                "description": "プレイヤーがゲームのチュートリアルを完了したかどうかを示します。",
                "type": "boolean"
              },
              "unlocked_achievements": {
                "description": "達成した実績の数。",
                "type": "integer"
              },
              "user_level": {
                "description": "プレイヤーのレベル、評判、またはランク。",
                "type": "integer"
              },
              "win_rate": {
                "description": "勝率。",
                "type": "integer"
              }
            },
            "type": "object"
          },
          "purchase": {
            "description": "購入の詳細を含むオブジェクト。",
            "properties": {
              "checkout": {
                "description": "チェックアウトの詳細（オブジェクト）。",
                "properties": {
                  "amount": {
                    "description": "購入金額。",
                    "format": "float",
                    "type": "integer"
                  },
                  "currency": {
                    "description": "購入通貨。[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)に準拠した3文字の通貨コード。",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "subscription": {
                "description": "サブスクリプションデータ（オブジェクト）。",
                "properties": {
                  "available_plans": {
                    "description": "決済インターフェイスに表示するサブスクリプションプラン（配列）。",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "currency": {
                    "description": "すべての計算で使用するサブスクリプションプランの通貨。",
                    "type": "string"
                  },
                  "gift": {
                    "description": "贈られたサブスクリプションの詳細。",
                    "properties": {
                      "anonymous": {
                        "description": "贈り主の名前を非表示にするかどうか。`true`の場合、電子メール通知で送り主の名前は非表示にされます。デフォルトは`false`です。",
                        "type": "boolean"
                      },
                      "email": {
                        "description": "受取人のメールアドレス。",
                        "type": "string"
                      },
                      "message": {
                        "description": "受取人へのメッセージ。",
                        "type": "string"
                      },
                      "recipient": {
                        "description": "受取人のID。",
                        "type": "string"
                      },
                      "redirect_url": {
                        "description": "ここに、贈られたサブスクリプションに関する追加情報が掲載されたページ、またはアカウント作成ページへのリンクを設定してください。ギフトの受取人は、サブスクリプションギフトの通知メールからこのページに移動することができます。",
                        "type": "string"
                      }
                    },
                    "required": [
                      "recipient",
                      "email"
                    ],
                    "type": "object"
                  },
                  "operation": {
                    "description": "ユーザーのサブスクリプションプランに適用される操作の種類。サブスクリプションプランを変更する場合は、値`change_plan`を渡します。`purchase.subscription.plan_id`パラメーターに新しいプランIDを指定してください。",
                    "type": "string"
                  },
                  "plan_id": {
                    "description": "サブスクリプションプランの外部ID。これは、アドミンページの**サブスクリプション > サブスクリプションプラン**セクションで確認できます。",
                    "type": "string"
                  },
                  "product_id": {
                    "description": "製品ID。",
                    "type": "string"
                  },
                  "trial_days": {
                    "description": "試用期間（日）。",
                    "type": "integer"
                  }
                },
                "type": "object"
              }
            },
            "type": "object"
          },
          "settings": {
            "description": "カスタムプロジェクト設定（オブジェクト）。",
            "properties": {
              "currency": {
                "description": "標準の決済通貨。[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)3文字通貨コード。",
                "type": "string"
              },
              "external_id": {
                "description": "ゲーム内のトランザクションID。各ユーザーの支払いに対して一意でなければならなりません。",
                "type": "string"
              },
              "language": {
                "description": "インターフェース言語。2文字の小文字[言語コード](https://developers.xsolla.com/ja/doc/pay-station/features/localization/)。",
                "type": "string"
              },
              "mode": {
                "description": "決済処理をテストするには、`sandbox`に設定します。この場合、*https://sandbox-secure.xsolla.com*を使用してテスト決済インターフェースにアクセスしてください。",
                "type": "string"
              },
              "payment_method": {
                "description": "決済方法のID。",
                "type": "integer"
              },
              "payment_widget": {
                "description": "支払いウィジェットです。`paybycash`または`giftcard`が選択できます。このパラメータが設定されている場合、ユーザーはPay by CashまたはGift Cardsウィジェットにそれぞれリダイレクトされます。",
                "enum": [
                  "paybycash",
                  "giftcard"
                ],
                "type": "string"
              },
              "project_id": {
                "description": "Game’s Xsolla ID. Can be found in Publisher Account.",
                "type": "integer"
              },
              "redirect_policy": {
                "description": "リダイレクトポリシーの設定（オブジェクト）。",
                "properties": {
                  "autoredirect_from_status_page": {
                    "description": "ステータスページから自動的にリダイレクトするかどうか。",
                    "type": "boolean"
                  },
                  "delay": {
                    "description": "ユーザーがリターンURLに自動的にリダイレクトされるまでの遅延時間（秒）。",
                    "type": "integer"
                  },
                  "manual_redirection_action": {
                    "description": "決済ステーション動作はユーザーが「閉じる」ボタンや「**ゲームに戻る**」ボタンをクリックすること​によって引き起こされます。`redirect`（デフォルト）と`postmessage`にすることができます。`redirect`に設定すると、ユーザーはトークンで渡された、またはアドミンページで指定されたURLにリダイレクトされます。`postmessage`に設定すると、ユーザーは他のページにリダイレクトされません。「閉じる」アイコンをクリックすると、`close`イベントが開始され、「**ゲームに戻る**」をクリックすると、`return`イベントが開始されます。",
                    "enum": [
                      "redirect",
                      "postmessage"
                    ],
                    "type": "string"
                  },
                  "redirect_button_caption": {
                    "description": "手動リダイレクト用のボタンのテキスト。",
                    "type": "string"
                  },
                  "redirect_conditions": {
                    "description": "ユーザーがリターンURLにリダイレクトされる決済状態。`none`、`successful`、`successful_or_canсeled`、または`any`のいずれかとなります。",
                    "enum": [
                      "none",
                      "successful",
                      "successful_or_canceled",
                      "any"
                    ],
                    "type": "string"
                  },
                  "status_for_manual_redirection": {
                    "description": "リターンURLへのリダイレクトボタンが表示される決済状態。`none`、`successful`、`successful_or_canсeled`、または`any`のいずれかとなります。",
                    "enum": [
                      "none",
                      "successful",
                      "successful_or_canceled",
                      "any"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "return_url": {
                "description": "ページを使用して決済後にユーザーをリダイレクトします。パラメーター`user_id`、`foreigninvoice`、`invoice_id`と`status`は、自動的にリンクに追加されます。",
                "type": "string"
              },
              "ui": {
                "description": "インタフェース設定（オブジェクト）。",
                "properties": {
                  "components": {
                    "description": "メニュー設定（オブジェクト）。",
                    "properties": {
                      "subscriptions": {
                        "description": "サブスクリプションプランのサブメニュー（オブジェクト）。",
                        "properties": {
                          "hidden": {
                            "description": "サブメニューを表示するかどうかを示します。",
                            "type": "boolean"
                          },
                          "order": {
                            "description": "メニュー内のサブメニューの位置。",
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "virtual_currency": {
                        "description": "仮想通貨サブメニュー。",
                        "properties": {
                          "custom_amount": {
                            "description": "ユーザーが任意の数の仮想通貨を決済インターフェースに入力できるかどうかを示します。",
                            "type": "boolean"
                          },
                          "hidden": {
                            "description": "サブメニューを表示するかどうかを示します。",
                            "type": "boolean"
                          },
                          "order": {
                            "description": "メニュー内のサブメニューの位置。",
                            "type": "integer"
                          }
                        },
                        "type": "object"
                      },
                      "virtual_items": {
                        "description": "仮想アイテムサブメニュー。",
                        "properties": {
                          "hidden": {
                            "description": "サブメニューを表示するかどうかを示します。",
                            "type": "boolean"
                          },
                          "order": {
                            "description": "メニュー内のサブメニューの位置。",
                            "type": "integer"
                          },
                          "selected_group": {
                            "description": "仮想アイテムタブを開いた後に表示するグループ。",
                            "type": "string"
                          },
                          "selected_item": {
                            "description": "仮想アイテムタブを開いた後に表示されるアイテム（アイテムSKU）。",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "desktop": {
                    "description": "デスクトップバージョン（オブジェクト）のインターフェース設定。",
                    "properties": {
                      "header": {
                        "description": "ヘッダー設定（オブジェクト）。",
                        "properties": {
                          "close_button": {
                            "description": "デスクトップ版決済ステーションに閉じるボタンを表示する設定。このボタンは決済ステーションを閉じて、`settings.return_url`パラメーターで指定されたURLにユーザーをリダイレクトします。デフォルトは`false`です。",
                            "type": "boolean"
                          },
                          "is_visible": {
                            "description": "決済インターフェースにヘッダーを表示するかどうかを示します。",
                            "type": "boolean"
                          },
                          "type": {
                            "description": "ヘッダーを表示する方法。`compact`（プロジェクト名とユーザーIDを隠す）または`normal`（既定）に指定できます。",
                            "enum": [
                              "compact",
                              "normal"
                            ],
                            "type": "string"
                          },
                          "visible_logo": {
                            "description": "`true`の場合、ヘッダーにはあなたのロゴが表示されます（最初にあなたのカスタマーサクセスマネージャーに画像を提供してください）。",
                            "type": "boolean"
                          },
                          "visible_name": {
                            "description": "ヘッダーにプロジェクト名を表示するかどうかを示します。",
                            "type": "boolean"
                          },
                          "visible_purchase": {
                            "description": "ヘッダーに購入説明（`purchase.description.value`）を表示するか示します。デフォルトは`true`です。",
                            "type": "boolean"
                          }
                        },
                        "type": "object"
                      },
                      "subscription_list": {
                        "description": "サブスクリプションプラン（オブジェクト）の一覧の設定。",
                        "properties": {
                          "description": {
                            "description": "決済インターフェースの利用可能なサブスクリプションプランの一覧上に表示されるテキスト。",
                            "type": "string"
                          },
                          "display_local_price": {
                            "description": "`true`の場合、ユーザーの現地通貨が購読プランに設定されている通貨と異なる場合、ユーザーは両方の価格を見ることができます。1つは現地通貨で、もう1つは基本通貨で表示されます。",
                            "type": "boolean"
                          },
                          "layout": {
                            "description": "テンプレートの一覧。`list`（既定）または`grid`に指定できます。",
                            "enum": [
                              "list",
                              "grid"
                            ],
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "virtual_currency_list": {
                        "description": "仮想通貨（オブジェクト）の一覧の設定。",
                        "properties": {
                          "button_with_price": {
                            "description": "`true`の場合は、価格がボタンに表示されます。`false`の場合は、価格はボタンの左側に表示されます。既定では`false`です。",
                            "type": "boolean"
                          },
                          "description": {
                            "description": "決済インターフェースの一覧の上に表示するテキスト。",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "virtual_item_list": {
                        "description": "仮想アイテム（オブジェクト）の一覧の設定。",
                        "properties": {
                          "button_with_price": {
                            "description": "`true`の場合は、価格がボタンに表示されます。`false`の場合は、価格はボタンの左側に表示されます。既定では`false`です。",
                            "type": "boolean"
                          },
                          "layout": {
                            "description": "テンプレートの一覧。`list`（既定）または`grid`に指定できます。",
                            "enum": [
                              "list",
                              "grid"
                            ],
                            "type": "string"
                          },
                          "view": {
                            "description": "縦方向または横方向のメニューに仮想アイテムのグループを表示しましょう。`horizontal_navigation`あるいは`vertical_navigation`（既定）にできます。",
                            "enum": [
                              "horizontal_navigation",
                              "vertical_navigation"
                            ],
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "header": {
                    "properties": {
                      "visible_virtual_currency_balance": {
                        "description": "この要素を決済インターフェースで非示にできるかどうかを示します。既定では`true`です。",
                        "type": "boolean"
                      }
                    },
                    "type": "object"
                  },
                  "is_prevent_external_link_open": {
                    "description": "リンクを外部リソースにリダイレクトするかどうかを無効にします。デフォルトは`true`です。外部リンクをクリックすると、`external-link-open`イベントが`postMessage`メカニズムを介して送信されます。`url`パラメータには、リダイレクト先のリンクのアドレスが渡されます。",
                    "type": "boolean"
                  },
                  "license_url": {
                    "description": "EULAへのリンク。",
                    "type": "string"
                  },
                  "mobile": {
                    "properties": {
                      "footer": {
                        "properties": {
                          "is_visible": {
                            "description": "モバイル版の決済インターフェースでフッターを非表示にするかどうかを示します。",
                            "type": "boolean"
                          }
                        },
                        "type": "object"
                      },
                      "header": {
                        "properties": {
                          "close_button": {
                            "description": "モバイル版決済ステーションに閉じるボタンを表示する設定。このボタンは決済ステーションを閉じて、`settings.return_url`パラメーターで指定されたURLにユーザーをリダイレクトします。デフォルトは`false`です。",
                            "type": "boolean"
                          }
                        },
                        "type": "object"
                      },
                      "mode": {
                        "description": "ユーザーは、保存された決済方法を使用してのみ決済を行うことができます。`saved_accounts`に指定できます。",
                        "enum": [
                          "saved_accounts"
                        ],
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "mode": {
                    "description": "ユーザーアカウントの決済インターフェース。`user_account`のみに指定できます：ヘッダーにはユーザーアカウントのナビゲーションメニューのみが含まれています。ユーザーは商品を選択したり、決済を行うことはできません。このモードは、デスクトップ上でのみ使用できます。",
                    "type": "string"
                  },
                  "size": {
                    "description": "決済インターフェースのサイズ。に指定できます：\n  - [small](https://livedemo.xsolla.com/developers/small/)：決済インターフェースの最小サイズです。ウィンドウサイズが厳密に制限されている場合は、この値を使用します（寸法：620 x 630）\n  - [medium](https://livedemo.xsolla.com/developers/medium/)：推奨サイズ。この値を使用して、ライトボックスに決済インターフェイスを表示します（寸法：740 x 760）\n  - [large](https://livedemo.xsolla.com/developers/large/)：決済インターフェイスを新しいウィンドウまたはタブに表示するのに最適なサイズ（寸法：820 x 840）",
                    "enum": [
                      "small",
                      "medium",
                      "large"
                    ],
                    "type": "string"
                  },
                  "theme": {
                    "description": "決済インターフェースのテーマ。`default`（既定）または`default_dark`に指定できます。",
                    "enum": [
                      "default",
                      "default_dark"
                    ],
                    "type": "string"
                  },
                  "user_account": {
                    "description": "ユーザーアカウントの詳細（オブジェクト）。",
                    "properties": {
                      "history": {
                        "allOf": [
                          {
                            "description": "**履歴** サブメニュー。"
                          },
                          {
                            "properties": {
                              "enable": {
                                "description": "サブメニューを表示するかどうかを示します。既定では`false`です。",
                                "type": "boolean"
                              },
                              "order": {
                                "description": "メニュー内のサブメニューの位置。",
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          }
                        ]
                      },
                      "info": {
                        "allOf": [
                          {
                            "description": "**私のアカウント** ページ。"
                          },
                          {
                            "properties": {
                              "enable": {
                                "description": "サブメニューを表示するかどうかを示します。既定では`false`です。",
                                "type": "boolean"
                              },
                              "order": {
                                "description": "メニュー内のサブメニューの位置。",
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          }
                        ]
                      },
                      "payment_accounts": {
                        "allOf": [
                          {
                            "description": "**お客様の決済アカウント** サブメニュー。"
                          },
                          {
                            "properties": {
                              "enable": {
                                "description": "サブメニューを表示するかどうかを示します。既定では`false`です。",
                                "type": "boolean"
                              },
                              "order": {
                                "description": "メニュー内のサブメニューの位置。",
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          }
                        ]
                      },
                      "subscriptions": {
                        "allOf": [
                          {
                            "description": "**サブスクリプションの管理** サブメニュー。"
                          },
                          {
                            "properties": {
                              "enable": {
                                "description": "サブメニューを表示するかどうかを示します。既定では`false`です。",
                                "type": "boolean"
                              },
                              "order": {
                                "description": "メニュー内のサブメニューの位置。",
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          }
                        ]
                      }
                    },
                    "type": "object"
                  },
                  "version": {
                    "description": "デバイスの種類。`desktop`（既定）または`mobile`に指定できます。",
                    "enum": [
                      "desktop",
                      "mobile"
                    ],
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "required": [
              "project_id"
            ],
            "type": "object"
          },
          "user": {
            "description": "ユーザーの詳細（オブジェクト）。",
            "properties": {
              "age": {
                "description": "ユーザーの年齢。",
                "type": "integer"
              },
              "attributes": {
                "description": "キー値ペアの有効なJSONセットとして表される、アイテムリストをフィルタリングするためのユーザー属性。",
                "type": "object"
              },
              "country": {
                "properties": {
                  "allow_modify": {
                    "description": "ユーザーが決済UIで国を変更できるかどうか。トークンに`country.value`が渡された場合、デフォルトでは`false`となります。",
                    "type": "boolean"
                  },
                  "value": {
                    "description": "ユーザーの国。2文字の国コード（大文字）は、[ISO 3166-1 alpha-2 standard](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)に従って使用されます。",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "email": {
                "description": "`user.email`オブジェクトは、不正対策モデルの構築に不可欠な要素であり、受け入れ率の向上に貢献します。それは、エクソーラと決済システムの両方の要件です。パラメータが渡されない場合は、決済ページにメール入力の必須項目が表示されます。ユーザーは、パラメータに渡された、または決済ページで入力された電子メールに購入領収書を受け取ります。",
                "properties": {
                  "value": {
                    "description": "ユーザーのメールアドレス。[RFC 822](https://www.w3.org/Protocols/rfc822/#z8)で規定された書式を厳密に守らなければなりません。",
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ],
                "type": "object"
              },
              "id": {
                "properties": {
                  "value": {
                    "description": "ユーザーID。",
                    "type": "string"
                  }
                },
                "required": [
                  "value"
                ],
                "type": "object"
              },
              "is_legal": {
                "description": "ユーザーが法人かを示します。",
                "type": "boolean"
              },
              "legal": {
                "allOf": [
                  {
                    "description": "法人情報を含むオブジェクトです。`user.is_legal`が`true`の場合は、オブジェクトとその全パラメーターが必要です。"
                  },
                  {
                    "description": "法人情報を含むオブジェクトです。",
                    "properties": {
                      "address": {
                        "description": "最後まで記載した法的住所です。",
                        "type": "string"
                      },
                      "country": {
                        "description": "設立国。[ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)に従って大文字2文字の国コードを使用します。",
                        "type": "string"
                      },
                      "name": {
                        "description": "法人のフルネームです。",
                        "type": "string"
                      },
                      "vat_id": {
                        "description": "納税者個別のID。",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  }
                ]
              },
              "name": {
                "properties": {
                  "value": {
                    "description": "ユーザーのスクリーン名。",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "phone": {
                "properties": {
                  "value": {
                    "description": "ユーザーの電話番号。",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "public_id": {
                "properties": {
                  "value": {
                    "description": "ユーザーを一意に識別し、ユーザーに知られているパラメーター（電子メール、スクリーン名など）。ユーザーがゲームストア外で購入することを可能にします（例えば、電子キオスクを介して）。",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "steam_id": {
                "properties": {
                  "value": {
                    "description": "Steam ID。",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "tracking_id": {
                "properties": {
                  "value": {
                    "description": "固有の追跡ID（マーケティングキャンペーンで使用）。",
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "utm": {
                "description": "トラフィック属性（オブジェクト）。",
                "properties": {
                  "utm_campaign": {
                    "description": "カタカナ表記、または英語に翻訳されたキャンペーンのタイトル。",
                    "type": "string"
                  },
                  "utm_content": {
                    "description": "キャンペーンのコンテンツ。",
                    "type": "string"
                  },
                  "utm_medium": {
                    "description": "トラフィックチャネル（コンテンツ広告、メディア広告、Eメールリストなど）。",
                    "type": "string"
                  },
                  "utm_source": {
                    "description": "トラフィックソース。",
                    "type": "string"
                  },
                  "utm_term": {
                    "description": "キャンペーンキーワード。設定すると、統計は特定の検索クエリではなく広告ターゲティングに使用されるキーワードに基づきます。Googleアナリティクスでは、指定された`utm_term`は一般検索語句レポートの一部です。",
                    "type": "string"
                  }
                },
                "type": "object"
              }
            },
            "required": [
              "id"
            ],
            "type": "object"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "basicAuth": {
        "description": "Xsolla API は、基本アクセス認証を使用します。API へのすべてのリクエストには、`Authorization: Basic <your_authorization_basic_key>` ヘッダーが含まれている必要があります。ここで、`<your_authorization_basic_key>` は、Base64 標準に従ってエンコードされた `merchant_id:api_key` ペアです。\n\n これらのパラメーターを見つけるには、[パブリッシャー アカウント](https://publisher.xsolla.com/) にアクセスしてください。<ul><li>`merchant_id` は次の場所に表示されます。<ul><li><b>会社設定 > 会社</b> セクション。</li><li>任意のパブリッシャー アカウント ページのブラウザー アドレス バーの URL。URL の形式は次のとおりです: `https://publisher.xsolla.com/<merchant_id>`。</li></ul></li><li>`api_key` は、作成時に 1 回だけパブリッシャー アカウントに表示され、お客様側で保存する必要があります。次のセクションで新しいキーを作成できます:<ul><li><b>会社設定 > API キー</b>。</li><li><b>プロジェクト設定 > API キー</b>。</li></ul></li></ul><br>\n API キーの操作の詳細については、[API リファレンス](https://developers.xsolla.com/ja/api/getting-started/#api_keys_overview) を参照してください。",
        "scheme": "basic",
        "type": "http"
      },
      "subscriptionsManagementJwtAuth": {
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "description": "# 概要\n\n* **Version:** 2.0\n* **Servers**: `https://api.xsolla.com/merchant/v2/`\n\nこのAPIリファレンスでは、サブスクリプション、クーポン、およびプロモーションを管理するためのエンドポイントについて説明します。\nサブスクリプションの詳細については、[製品ガイド](https://developers.xsolla.com/ja/doc/subscriptions)および[用語集](https://developers.xsolla.com/ja/doc/subscriptions/integration-guide/get-started/#general_glossary)を参照してください。",
    "title": "Subscriptions API",
    "version": "2.0"
  },
  "openapi": "3.0.0",
  "paths": {
    "/api/user/v1/management/projects/{project_id}/subscriptions": {
      "get": {
        "operationId": "list-subscriptions",
        "parameters": [
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "locale",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListManagementSubscriptionsResponse"
                }
              }
            },
            "description": "Get subscriptions info"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.bad_request",
                    "description": "Incorrect limit value, maximum allowed is 100"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Bad request"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "List subscriptions",
        "tags": [
          "subscription-management"
        ]
      },
      "servers": [
        {
          "url": "https://subscriptions.xsolla.com"
        }
      ]
    },
    "/api/user/v1/management/projects/{project_id}/subscriptions/settings": {
      "get": {
        "operationId": "get-management-settings",
        "parameters": [
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectManageSubscriptionSettingsResponse"
                }
              }
            },
            "description": "Returns project settings for managing subscription"
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.access_denied",
                    "description": "You don't have access to requested project or resource."
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.not_found",
                    "description": "Project not found"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Not found"
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.exception",
                    "description": "Retrieving data from cache has failed."
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "Get management settings",
        "tags": [
          "subscription-management"
        ]
      },
      "servers": [
        {
          "url": "https://subscriptions.xsolla.com"
        }
      ]
    },
    "/api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}": {
      "get": {
        "operationId": "get-management-subscription",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "locale",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManagementSubscriptionResponse"
                }
              }
            },
            "description": "Get subscription info"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.exception",
                    "description": "Project with id = 123 was not found"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Bad request"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.not_found",
                    "description": "Subscription not found"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "Get subscription",
        "tags": [
          "subscription-management"
        ]
      },
      "servers": [
        {
          "url": "https://subscriptions.xsolla.com"
        }
      ]
    },
    "/api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/activate": {
      "put": {
        "operationId": "activate-subscription",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "status": "successful"
                }
              }
            },
            "description": "Move subscription from non-renew to active"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.bad_request",
                    "description": "Subscription is not allowed to change to active"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Bad request"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.not_found",
                    "description": "Subscription not found"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "Activate subscription",
        "tags": [
          "subscription-management"
        ]
      },
      "servers": [
        {
          "url": "https://subscriptions.xsolla.com"
        }
      ]
    },
    "/api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/cancel": {
      "put": {
        "operationId": "cancel-subscription",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {}
            },
            "description": "Make subscription non-renewable"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.not_active",
                    "description": "Subscription is not active"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Bad request"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.not_found",
                    "description": "Subscription not found"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "Cancel subscription",
        "tags": [
          "subscription-management"
        ]
      },
      "servers": [
        {
          "url": "https://subscriptions.xsolla.com"
        }
      ]
    },
    "/api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/change_plan": {
      "post": {
        "operationId": "get-change-plan-link",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "plan_external_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "sandbox",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayStationLinkResponse"
                }
              }
            },
            "description": "Returns link to change subscription plan"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.exception",
                    "description": "Change plan is not possible"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Bad request"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.not_found",
                    "description": "ubscription with id = 123 not found or not belongs to user"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Not found"
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.exception",
                    "description": "Publisher API request failed"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "Get change plan link",
        "tags": [
          "subscription-management"
        ]
      },
      "servers": [
        {
          "url": "https://subscriptions.xsolla.com"
        }
      ]
    },
    "/api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/payment_account": {
      "get": {
        "operationId": "get-payment-account",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentRecurrentAccountResponse"
                }
              }
            },
            "description": "Get payment account info"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "data.not_found",
                    "description": "Data not found"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "Get payment account",
        "tags": [
          "subscription-management"
        ]
      },
      "servers": [
        {
          "url": "https://subscriptions.xsolla.com"
        }
      ]
    },
    "/api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/payment_account/manage": {
      "post": {
        "operationId": "manage-payment-account",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "sandbox",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PayStationLinkResponse"
                }
              }
            },
            "description": "Returns link for managing payment accounts"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.exception",
                    "description": "Token retrieve error"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Bad request"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.not_found",
                    "description": "Subscription with id = 123 not found or not belongs to user"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Not found"
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.exception",
                    "description": "Publisher API request failed"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "Manage payment account",
        "tags": [
          "subscription-management"
        ]
      },
      "servers": [
        {
          "url": "https://subscriptions.xsolla.com"
        }
      ]
    },
    "/api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/payment_accounts": {
      "get": {
        "operationId": "list-payment-accounts",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingAccountsListResponse"
                }
              }
            },
            "description": "Returns the user's billing accounts"
          },
          "403": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.access_denied",
                    "description": "You don't have access to requested project or resource."
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.not_found",
                    "description": "Subscription with id = 123 not found or not belongs to user"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Not found"
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.exception",
                    "description": "Publisher API request failed."
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "List payment accounts",
        "tags": [
          "subscription-management"
        ]
      },
      "post": {
        "operationId": "link-payment-account",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "payment_account_id",
            "required": true,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "status": "successful"
                }
              }
            },
            "description": "Links a payment account to a subscription"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.exception",
                    "description": "This account is already linked"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Bad request"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.not_found",
                    "description": "Subscription with id = 123 not found or not belongs to user"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Not found"
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.exception",
                    "description": "Publisher API request failed"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "Link payment account",
        "tags": [
          "subscription-management"
        ]
      },
      "servers": [
        {
          "url": "https://subscriptions.xsolla.com"
        }
      ]
    },
    "/api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/payment_accounts/{payment_account_id}": {
      "delete": {
        "operationId": "unlink-payment-account",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "path",
            "name": "payment_account_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "status": "successful"
                }
              }
            },
            "description": "Unlink payment accounts"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.not_found",
                    "description": "Subscription with id = 123 not found or not belongs to user"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Not found"
          },
          "500": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.exception",
                    "description": "Error saving data"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Internal server error"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "Unlink payment account",
        "tags": [
          "subscription-management"
        ]
      },
      "servers": [
        {
          "url": "https://subscriptions.xsolla.com"
        }
      ]
    },
    "/api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/plans_for_change": {
      "get": {
        "operationId": "list-plans-for-change",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "locale",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPlansResponse"
                }
              }
            },
            "description": "List of available plans for change"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.exception",
                    "description": "Incorrect limit value, maximum allowed is 100"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Bad request"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.not_found",
                    "description": "Subscription with id = 123 not found or not belongs to user"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "List plans for change",
        "tags": [
          "subscription-management"
        ]
      },
      "servers": [
        {
          "url": "https://subscriptions.xsolla.com"
        }
      ]
    },
    "/api/user/v1/management/projects/{project_id}/subscriptions/{subscription_id}/plans_for_change/{plan_id}": {
      "get": {
        "operationId": "get-plan-for-change",
        "parameters": [
          {
            "in": "path",
            "name": "subscription_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "path",
            "name": "plan_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          },
          {
            "in": "query",
            "name": "locale",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "pattern": "\\d+",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangePlanPaymentDetailsResponse"
                }
              }
            },
            "description": "Available plans for change with payment details"
          },
          "400": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.exception",
                    "description": "Change plan is not possible"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Bad request"
          },
          "404": {
            "content": {
              "application/json": {
                "example": {
                  "error": {
                    "code": "subscriptions.not_found",
                    "description": "Subscription with id = 123 not found or not belongs to user"
                  },
                  "request_id": "e54d2081-33cc-4682-b65c-b22d98686d0a"
                }
              }
            },
            "description": "Not found"
          }
        },
        "security": [
          {
            "subscriptionsManagementJwtAuth": []
          }
        ],
        "summary": "Get plan for change",
        "tags": [
          "subscription-management"
        ]
      },
      "servers": [
        {
          "url": "https://subscriptions.xsolla.com"
        }
      ]
    },
    "/merchants/{merchant_id}/coupon_promotions": {
      "post": {
        "description": "新しいクーポンキャンペーンを作成します。\n<div class=\"notice\">\n<p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "create-campaign",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "campaign_code": "sample_campaign",
                "campaign_names": {
                  "en": "Campaign Name",
                  "ru": "Название кампании"
                },
                "campaign_redeems_count_for_user": 1,
                "expiration_date": "2019-12-31",
                "project_id": 12345,
                "redeems_count": 10,
                "redeems_count_for_user": 1,
                "subscription_coupon": {
                  "plan_id": 123,
                  "product_id": 456,
                  "trial_period": 30
                },
                "virtual_currency_amount": 200
              },
              "schema": {
                "allOf": [
                  {
                    "required": [
                      "campaign_code",
                      "project_id",
                      "campaign_names"
                    ]
                  },
                  {
                    "$ref": "#/components/schemas/Campaign"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "id": {
                      "example": 9134,
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Created (作成済み)。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "キャンペーンを作成",
        "tags": [
          "coupons"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/merchants/{merchant_id}/coupon_promotions/{campaign_id}/coupons": {
      "post": {
        "description": "クーポン キャンペーンにクーポン コードを追加します。\n<div class=\"notice\">\n<p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "add-coupon-to-campaign",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/campaign-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "coupon_code": {
                    "description": "クーポンコード。",
                    "example": "34bryrb3",
                    "type": "string"
                  }
                },
                "required": [
                  "coupon_code"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "キャンペーンにクーポンを追加",
        "tags": [
          "coupons"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/merchants/{merchant_id}/promotions": {
      "get": {
        "description": "すべてのプロモーションのリスト。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "get-promotions-list",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "datetime": {
                      "from": "2020-02-01T00:00:00+04:00",
                      "to": "2020-11-30T01:28:42+04:00"
                    },
                    "enabled": true,
                    "id": 17840,
                    "is_active": true,
                    "is_infinite": false,
                    "project": {
                      "id": 12345,
                      "localized_name": "Christmas sale"
                    },
                    "read_only": false,
                    "technical_name": "christmas"
                  },
                  {
                    "datetime": null,
                    "enabled": false,
                    "id": 17891,
                    "is_active": false,
                    "is_infinite": true,
                    "project": {
                      "id": 12345,
                      "localized_name": "30% discount"
                    },
                    "read_only": false,
                    "technical_name": "Sale promotion"
                  }
                ]
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プロモーションの一覧",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "post": {
        "description": "新しいプロモーションを作成します。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "create-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "description": {
                  "en": "Promotion with 30% discount",
                  "ru": "Акция со скидкой 30%"
                },
                "label": {
                  "en": "30%",
                  "ru": "30%"
                },
                "name": {
                  "en": "30% discount",
                  "ru": "скидка 30%"
                },
                "project_id": 12345,
                "technical_name": "Sale promotion"
              },
              "schema": {
                "allOf": [
                  {
                    "required": [
                      "project_id",
                      "technical_name"
                    ]
                  },
                  {
                    "$ref": "#/components/schemas/GetPromotion"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "id": 17890
                },
                "schema": {
                  "properties": {
                    "id": {
                      "description": "プロモーションID。",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Created (作成済み)。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プロモーションの作成",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/merchants/{merchant_id}/promotions/{promotion_id}": {
      "delete": {
        "description": "プロモーションを削除します。`enabled` = `false` のプロモーションのみ削除できます。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "delete-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プロモーションの削除",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "get": {
        "description": "プロモーションを取得します。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "get-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "description": {
                    "en": "Promotion with 30% discount",
                    "ru": "Акция со скидкой 30%"
                  },
                  "enabled": false,
                  "id": 17890,
                  "label": {
                    "en": "30%",
                    "ru": "30%"
                  },
                  "name": {
                    "en": "30% discount",
                    "ru": "Скидка 30%"
                  },
                  "project_id": 40544,
                  "read_only": false,
                  "show_banner": true,
                  "technical_name": "Sale promotion"
                },
                "schema": {
                  "$ref": "#/components/schemas/GetPromotion"
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プロモーションの取得",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "put": {
        "description": "プロモーションを更新します。プロモーションが読み取り専用 (`read_only` = `true`) の場合、`project_id` パラメータを変更することはできません。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "update-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "description": {
                  "en": "Promotion with 5% discount",
                  "ru": "Акция со скидкой 5%"
                },
                "label": {
                  "en": "5%",
                  "ru": "5%"
                },
                "name": {
                  "en": "5% discount",
                  "ru": "скидка 5%"
                },
                "project_id": 40544,
                "technical_name": "Sale promotion"
              },
              "schema": {
                "allOf": [
                  {
                    "required": [
                      "project_id",
                      "technical_name"
                    ]
                  },
                  {
                    "$ref": "#/components/schemas/GetPromotion"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プロモーションの更新",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/merchants/{merchant_id}/promotions/{promotion_id}/coupons": {
      "put": {
        "description": "特定のプロモーションにクーポン キャンペーンを添付します。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "attach-campaign-to-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "campaigns": {
                    "description": "キャンペーンIDの配列。",
                    "example": [
                      9135
                    ],
                    "items": {
                      "type": "integer"
                    },
                    "type": "array"
                  }
                },
                "required": [
                  "campaigns"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プロモーションにキャンペーンを追加",
        "tags": [
          "coupons"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/merchants/{merchant_id}/promotions/{promotion_id}/payment_systems": {
      "get": {
        "description": "プロモーションでサポートされている支払いシステムを取得します。リストが空の場合、プロモーションはすべての支払いシステムに適用されます。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "get-payment-systems",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "id": 17840,
                  "payment_systems": [
                    {
                      "id": 27,
                      "name": "Yandex.Money"
                    }
                  ]
                },
                "schema": {
                  "allOf": [
                    {
                      "properties": {
                        "id": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "$ref": "#/components/schemas/PromotionPaymentSystem"
                    }
                  ]
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "決済システムの一覧",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "put": {
        "description": "プロモーションでサポートされる支払いシステムを設定します。リストが空の場合、プロモーションはすべての支払いシステムに適用されます。プロモーションが読み取り専用 (`read_only` = `true`) の場合、このメソッドを呼び出すことはできません。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "set-payment-systems",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "payment_systems": [
                  {
                    "id": 24,
                    "name": "PayPal"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/PromotionPaymentSystem"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "決済システムの設定",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/merchants/{merchant_id}/promotions/{promotion_id}/periods": {
      "get": {
        "description": "プロモーションが有効な日付/時刻の範囲を取得します。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "get-validity-periods",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "id": 17840,
                  "periods": [
                    {
                      "from": "2020-02-01T00:00:00+04:00",
                      "offset": "+04:00",
                      "to": "2020-11-30T01:28:42+04:00"
                    }
                  ]
                },
                "schema": {
                  "allOf": [
                    {
                      "properties": {
                        "id": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "$ref": "#/components/schemas/PromotionPeriod"
                    }
                  ]
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "有効期間の一覧",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "put": {
        "description": "プロモーションが有効な日付/時刻の範囲を設定します。プロモーションが読み取り専用 (`read_only` = `true`) の場合、既存の期間を編集することはできませんが、新しい期間を追加することはできます。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "set-validity-periods",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "periods": [
                  {
                    "from": "2019-03-02T00:00:00+04:00",
                    "to": "2019-04-02T00:00:00+04:00"
                  }
                ]
              },
              "schema": {
                "$ref": "#/components/schemas/PromotionPeriod"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "有効期間の設定",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/merchants/{merchant_id}/promotions/{promotion_id}/review": {
      "get": {
        "description": "プロモーションを有効にする前に確認する必要があります。このメソッドは、エラーがある場合はそのリストを返します。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "review-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "component": "rewards",
                    "message": "Please select a reward"
                  }
                ],
                "schema": {
                  "items": {
                    "properties": {
                      "component": {
                        "type": "string"
                      },
                      "message": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プロモーションの見直し",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/merchants/{merchant_id}/promotions/{promotion_id}/rewards": {
      "get": {
        "description": "プロモーションに関連付けられた報酬のリストを取得します。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "get-rewards",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "id": 17840,
                  "item": {
                    "bonus": [
                      {
                        "id": 123456,
                        "localized_name": "T-34-3",
                        "quantity": 2,
                        "sku": "1234"
                      }
                    ],
                    "discount": [
                      {
                        "discount_percent": 5,
                        "localized_name": "T-34-3",
                        "max_amount": 10,
                        "sku": "1234"
                      }
                    ]
                  },
                  "package": {
                    "bonus_amount": 5,
                    "bonus_percent": 5
                  },
                  "purchase": {
                    "discount_percent": 10
                  },
                  "subscription": {
                    "trial_days": 30
                  }
                },
                "schema": {
                  "allOf": [
                    {
                      "properties": {
                        "id": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    },
                    {
                      "$ref": "#/components/schemas/PromotionReward"
                    }
                  ]
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "報酬の一覧",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "put": {
        "description": "プロモーションの報酬を設定します。プロモーションが読み取り専用 (`read_only` = `true`) の場合、報酬を更新することはできません。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "set-rewards",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "item": {
                  "bonus": [
                    {
                      "quantity": 2,
                      "sku": "1234"
                    }
                  ],
                  "discount": [
                    {
                      "discount_percent": 5,
                      "max_amount": 10,
                      "sku": "1234"
                    }
                  ]
                },
                "package": {
                  "bonus_amount": 5,
                  "bonus_percent": 5
                },
                "purchase": {
                  "discount_percent": 10
                },
                "subscription": {
                  "trial_days": 30
                }
              },
              "schema": {
                "$ref": "#/components/schemas/PromotionReward"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "報酬の設定",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/merchants/{merchant_id}/promotions/{promotion_id}/subject": {
      "get": {
        "description": "プロモーションの主題に関する情報を取得します。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "get-subject",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "digital_contents": null,
                  "id": 178,
                  "items": [
                    {
                      "id": 1234,
                      "localized_name": "T-34-3",
                      "sku": "1234"
                    }
                  ],
                  "packages": null,
                  "purchase": false,
                  "subscriptions": null
                },
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/PromotionSubject"
                    },
                    {
                      "properties": {
                        "id": {
                          "type": "integer"
                        }
                      },
                      "type": "object"
                    }
                  ]
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "件名の取得",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "put": {
        "description": "プロモーションの件名を設定します。プロモーションが読み取り専用 (`read_only` = `true`) の場合、件名を更新することはできません。件名には、`purchase`、`items`、または `packages` のいずれかの値を指定できます。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "set-subject",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "digital_contents": null,
                "items": [
                  {
                    "sku": "1234"
                  }
                ],
                "packages": null,
                "purchase": false,
                "subscriptions": null
              },
              "schema": {
                "$ref": "#/components/schemas/PromotionSubject"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "件名の設定",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/merchants/{merchant_id}/promotions/{promotion_id}/toggle": {
      "put": {
        "description": "プロモーションのステータスを `enabled` から `disabled` に、またはその逆に切り替えます。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "toggle-promotion",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/promotion-id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プロモーションの切り替え",
        "tags": [
          "promotions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/merchants/{merchant_id}/subscriptions": {
      "get": {
        "description": "すべての定期サブスクリプションを一覧表示します。<div class=\"notice\"><strong>通知</strong><br><br>この API メソッドは高負荷時には使用できません。最大負荷は 1 分あたり 20 リクエストです。</div>\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "get-subscriptions",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/user-id-query-param"
          },
          {
            "$ref": "#/components/parameters/array-project-id-query-param"
          },
          {
            "$ref": "#/components/parameters/array-plan-id-query-param"
          },
          {
            "$ref": "#/components/parameters/array-product-id-query-param"
          },
          {
            "$ref": "#/components/parameters/array-group-id-query-param"
          },
          {
            "$ref": "#/components/parameters/status-query-param-array"
          },
          {
            "$ref": "#/components/parameters/datetime-from-query-param"
          },
          {
            "$ref": "#/components/parameters/datetime-to-query-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "charge_amount": 0.03,
                    "currency": "USD",
                    "date_create": "2013-09-05T15:27:47+04:00",
                    "date_end": "2014-02-06T11:32:48+04:00",
                    "date_last_charge": null,
                    "date_next_charge": null,
                    "id": 45,
                    "plan": {
                      "id": 12345,
                      "project_id": 12345
                    },
                    "product": {
                      "id": null
                    },
                    "status": "canceled",
                    "user": {
                      "id": "User1",
                      "name": "John Smith"
                    }
                  }
                ],
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/SubscriptionResponse"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "サブスクリプションの一覧",
        "tags": [
          "subscriptions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/merchants/{merchant_id}/token": {
      "post": {
        "description": "任意のユーザー パラメータを使用してトークンを作成できます。トークンを取得するときにこれらのパラメータを送信し、支払いが成功した後にそれらを受け取ります。トークンには、このドキュメントで説明されているか、またはユーザーが事前に定義したパラメータのみを含めることができます。\n\nパラメータが間違った形式で送信されたり、間違ったタイプである場合、トークンは発行されません。JSON 本文にエラーの説明を含む 422 HTTP コードが返されます。`extended_message` には、正確にどのパラメータが間違って送信されたかに関する情報が返されます。\n<div class=\"notice\">\n  <p><strong>通知</strong></p><p>APIコールに<code>project_id</code>パスパラメータが含まれていないため、会社の全プロジェクトで有効なAPIキーを使用して認可を設定する必要があります。</p>\n</div>",
        "operationId": "create-token",
        "parameters": [
          {
            "$ref": "#/components/parameters/merchant-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/token"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "token": "eop57k1boA7nnYPtewZ6KEXJyJADEwRT"
                },
                "schema": {
                  "properties": {
                    "token": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Created (作成済み)。"
          },
          "422": {
            "content": {
              "application/json": {
                "example": {
                  "extended_message": {
                    "global_errors": [],
                    "property_errors": {
                      "purchase.checkout.amount": [
                        "String value found, but a number is required"
                      ]
                    }
                  },
                  "http_status_code": 422,
                  "message": "JSON is not valid against json schema, please check documentation https://developers.xsolla.com/ja/api/v2/getting-started/#api_token_ui",
                  "request_id": "cd72633"
                },
                "schema": {
                  "properties": {
                    "extended_message": {
                      "properties": {
                        "global_errors": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "property_errors": {
                          "description": "オブジェクトには、パラメータ名とエラー説明が含まれています。",
                          "type": "object"
                        }
                      },
                      "type": "object"
                    },
                    "http_status_code": {
                      "type": "integer"
                    },
                    "message": {
                      "type": "string"
                    },
                    "request_id": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Unprocessable Entity（処理不可能なエンティティー）。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "トークンを作成する",
        "tags": [
          "token"
        ],
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/projects/{project_id}/coupons/{code}/details": {
      "get": {
        "description": "クーポンの詳細をコードで入手してください。",
        "operationId": "get-coupon",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/code-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "key": "12",
                  "list_of_values": [],
                  "name": {
                    "en": "Level",
                    "ru": "Уровень"
                  },
                  "skip_condition_on_nonexistent_key": true,
                  "type": "int",
                  "visible": false
                },
                "schema": {
                  "$ref": "#/components/schemas/CouponAttribute"
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "クーポンの取得",
        "tags": [
          "coupons"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/projects/{project_id}/coupons/{code}/redeem": {
      "post": {
        "description": "クーポンをコードで償還してください。",
        "operationId": "redeem-coupon",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/code-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "user_id": {
                    "description": "ユーザーID。",
                    "example": "1234",
                    "type": "string"
                  }
                },
                "required": [
                  "user_id"
                ],
                "type": "object"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "campaign_code": "new_campaign",
                  "coupon_code": "ddgf5bn4",
                  "coupon_id": 89613996,
                  "expiration_date": "2019-12-31T00:00:00+00:00",
                  "is_active": true,
                  "project_id": 12345,
                  "redeems_count_for_user": 10,
                  "redeems_count_remain": 20,
                  "subscription_coupon": null,
                  "virtual_currency_amount": 200,
                  "virtual_items": []
                },
                "schema": {
                  "$ref": "#/components/schemas/Coupon"
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "クーポンの償還",
        "tags": [
          "coupons"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/projects/{project_id}/subscriptions/currencies": {
      "get": {
        "description": "サポートされているすべてのサブスクリプション通貨を一覧表示します。",
        "operationId": "get-currencies",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  "AED",
                  "ALL",
                  "AMD",
                  "ARS",
                  "AUD",
                  "AZN",
                  "BAM",
                  "BBD",
                  "BGN",
                  "BHD",
                  "BND",
                  "BRL",
                  "BYN",
                  "BZD",
                  "CAD",
                  "CHF",
                  "CLP",
                  "CNY",
                  "COP",
                  "CRC",
                  "CZK",
                  "DKK",
                  "DZD",
                  "EGP",
                  "EUR",
                  "GBP",
                  "GEL",
                  "GHS",
                  "GIP",
                  "GTQ",
                  "HKD",
                  "HRK",
                  "HUF",
                  "IDR",
                  "ILS",
                  "INR",
                  "IQD",
                  "IRR",
                  "ISK",
                  "JMD",
                  "JOD",
                  "JPY",
                  "KES",
                  "KGS",
                  "KRW",
                  "KWD",
                  "KZT",
                  "LAK",
                  "LBP",
                  "LKR",
                  "MAD",
                  "MDL",
                  "MKD",
                  "MMK",
                  "MNT",
                  "MUR",
                  "MXN",
                  "MYR",
                  "NGN",
                  "NIO",
                  "NOK",
                  "NPR",
                  "NZD",
                  "OMR",
                  "PAB",
                  "PEN",
                  "PHP",
                  "PKR",
                  "PLN",
                  "PYG",
                  "QAR",
                  "RON",
                  "RSD",
                  "RUB",
                  "SAR",
                  "SEK",
                  "SGD",
                  "SVC",
                  "THB",
                  "TND",
                  "TRY",
                  "TWD",
                  "UAH",
                  "USD",
                  "UYU",
                  "UZS",
                  "VEF",
                  "VND",
                  "XOF",
                  "YER",
                  "ZAR"
                ]
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "通貨の一覧",
        "tags": [
          "payments"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/projects/{project_id}/subscriptions/payments": {
      "get": {
        "description": "すべてのサブスクリプションの決済を一覧表示します。",
        "operationId": "get-payments",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/user-id-query-param"
          },
          {
            "$ref": "#/components/parameters/status-id-query-param"
          },
          {
            "$ref": "#/components/parameters/datetime-from-query-param2"
          },
          {
            "$ref": "#/components/parameters/datetime-to-query-param2"
          },
          {
            "$ref": "#/components/parameters/subscription-id-query-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "date_payment": "2016-04-05T10:02:01+03:00",
                    "id": 67683,
                    "id_payment": 203960,
                    "status": "fail",
                    "subscription": {
                      "charge_amount": 1,
                      "comment": null,
                      "currency": "RUB",
                      "date_create": "2015-05-28T14:33:54+03:00",
                      "date_end": "2016-04-05T10:02:07+03:00",
                      "date_last_charge": "2015-06-03T16:07:29+03:00",
                      "date_next_charge": "2015-06-04T00:00:00+03:00",
                      "id": 3646,
                      "plan": {
                        "billing_retry": {
                          "value": 1
                        },
                        "charge": {
                          "amount": 1,
                          "currency": "RUB",
                          "period": {
                            "type": "day",
                            "value": 1
                          }
                        },
                        "description": null,
                        "expiration": {
                          "type": "day",
                          "value": 0
                        },
                        "external_id": "E8nJ79",
                        "grace_period": {
                          "type": "day",
                          "value": 0
                        },
                        "group_id": "charge",
                        "id": 24,
                        "localized_name": null,
                        "name": null,
                        "project_id": 12345,
                        "refund_period": null,
                        "status": {
                          "value": "deleted"
                        },
                        "tags": null,
                        "trial": {
                          "type": "day",
                          "value": 0
                        },
                        "type": "charge"
                      },
                      "product": {
                        "description": null,
                        "group_id": "charge",
                        "id": 1,
                        "name": "charge"
                      },
                      "status": "freeze",
                      "user": {
                        "id": "10",
                        "name": "user2"
                      }
                    }
                  },
                  {
                    "date_payment": "2015-09-21T17:06:47+03:00",
                    "id": 1531,
                    "id_payment": 168866,
                    "status": "done",
                    "subscription": {
                      "charge_amount": 1,
                      "comment": "  \r\n",
                      "currency": "RUB",
                      "date_create": "2015-09-21T17:06:47+03:00",
                      "date_end": null,
                      "date_last_charge": "2015-09-21T18:10:09+03:00",
                      "date_next_charge": "2015-09-22T18:10:09+03:00",
                      "id": 2004846,
                      "plan": {
                        "billing_retry": {
                          "value": 1
                        },
                        "charge": {
                          "amount": 1,
                          "currency": "RUB",
                          "period": {
                            "type": "day",
                            "value": 1
                          }
                        },
                        "description": null,
                        "expiration": {
                          "type": "day",
                          "value": 0
                        },
                        "external_id": "E8nX9",
                        "grace_period": {
                          "type": "day",
                          "value": 0
                        },
                        "group_id": "charge",
                        "id": 200,
                        "localized_name": null,
                        "name": null,
                        "project_id": 70,
                        "refund_period": null,
                        "status": {
                          "value": "deleted"
                        },
                        "tags": null,
                        "trial": {
                          "type": "day",
                          "value": 0
                        },
                        "type": "charge"
                      },
                      "product": null,
                      "status": "new",
                      "user": {
                        "id": "12",
                        "name": "user1"
                      }
                    }
                  }
                ]
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "決済の一覧",
        "tags": [
          "payments"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/projects/{project_id}/subscriptions/plans": {
      "get": {
        "description": "すべてのサブスクリプションプランを一覧表示します。",
        "operationId": "get-plans",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/plan-id-query-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          },
          {
            "$ref": "#/components/parameters/external-id-query-param"
          },
          {
            "$ref": "#/components/parameters/group-id-query-param"
          },
          {
            "$ref": "#/components/parameters/product-id-query-param"
          },
          {
            "$ref": "#/components/parameters/query-query-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "billing_retry": {
                      "value": 1
                    },
                    "charge": {
                      "amount": 19.99,
                      "currency": "USD",
                      "period": {
                        "type": "month",
                        "value": 1
                      },
                      "prices": [
                        {
                          "amount": 17.99,
                          "currency": "EUR",
                          "setup_fee": 1.5
                        },
                        {
                          "amount": 2000,
                          "currency": "JPY",
                          "setup_fee": 2.5
                        }
                      ]
                    },
                    "description": {
                      "en": "10x more experience!"
                    },
                    "expiration": {
                      "type": "day",
                      "value": 0
                    },
                    "external_id": "3b355320",
                    "grace_period": {
                      "type": "day",
                      "value": 0
                    },
                    "group_id": null,
                    "id": 241037,
                    "localized_name": "Platinum VIP",
                    "name": {
                      "en": "Platinum VIP",
                      "fr": "Le VIP-statut platinum"
                    },
                    "project_id": 40797,
                    "refund_period": null,
                    "status": {
                      "value": "active"
                    },
                    "tags": [],
                    "trial": {
                      "type": "day",
                      "value": 0
                    }
                  },
                  {
                    "billing_retry": {
                      "value": 1
                    },
                    "charge": {
                      "amount": 9.99,
                      "currency": "USD",
                      "period": {
                        "type": "month",
                        "value": 1
                      },
                      "prices": [
                        {
                          "amount": 8,
                          "currency": "EUR",
                          "setup_fee": 1.5
                        },
                        {
                          "amount": 1000,
                          "currency": "JPY",
                          "setup_fee": 2.5
                        }
                      ]
                    },
                    "description": {
                      "en": "3x more experience!"
                    },
                    "expiration": {
                      "type": "day",
                      "value": 0
                    },
                    "external_id": "0fe1b6fc",
                    "grace_period": {
                      "type": "day",
                      "value": 0
                    },
                    "group_id": null,
                    "id": 241038,
                    "localized_name": "Gold Status",
                    "name": {
                      "en": "Gold Status",
                      "fr": "Le statut d’or"
                    },
                    "project_id": 40797,
                    "refund_period": null,
                    "status": {
                      "value": "active"
                    },
                    "tags": [],
                    "trial": {
                      "type": "day",
                      "value": 0
                    }
                  }
                ],
                "schema": {
                  "items": {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SubscriptionsPlan"
                      },
                      {
                        "properties": {
                          "localized_name": {
                            "description": "既定の言語（英語）でプラン名を表示し、name.en値を複製します。",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プランの一覧",
        "tags": [
          "plans"
        ],
        "x-admin": true,
        "x-server": true
      },
      "post": {
        "description": "サブスクリプションプランを作成します。",
        "operationId": "create-plan",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "billing_retry": {
                  "value": 1
                },
                "charge": {
                  "amount": 10,
                  "currency": "USD",
                  "period": {
                    "type": "month",
                    "value": 1
                  },
                  "prices": [
                    {
                      "amount": 8,
                      "currency": "EUR",
                      "setup_fee": 1.5
                    },
                    {
                      "amount": 1000,
                      "currency": "JPY",
                      "setup_fee": 2.5
                    }
                  ]
                },
                "description": {
                  "en": "2x more experience!"
                },
                "expiration": {
                  "type": "day",
                  "value": null
                },
                "external_id": "exp",
                "grace_period": {
                  "type": "day",
                  "value": 2
                },
                "name": {
                  "en": "Experience boost"
                },
                "refund_period": null,
                "status": {
                  "value": "active"
                },
                "trial": {
                  "type": "day",
                  "value": 7
                }
              },
              "schema": {
                "allOf": [
                  {
                    "required": [
                      "name",
                      "charge"
                    ]
                  },
                  {
                    "$ref": "#/components/schemas/SubscriptionsPlan"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "external_id": "exp",
                  "plan_id": 241082
                },
                "schema": {
                  "properties": {
                    "external_id": {
                      "type": "string"
                    },
                    "plan_id": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "作成されました。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プランの作成",
        "tags": [
          "plans"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/projects/{project_id}/subscriptions/plans/{plan_id}": {
      "delete": {
        "description": "サブスクリプションプランを無効化します。",
        "operationId": "disable-plan",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/plan-id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プランの無効化",
        "tags": [
          "plans"
        ],
        "x-admin": true,
        "x-server": true
      },
      "patch": {
        "description": "サブスクリプションプランを有効化します。",
        "operationId": "enable-plan",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/plan-id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プランの有効化",
        "tags": [
          "plans"
        ],
        "x-admin": true,
        "x-server": true
      },
      "put": {
        "description": "サブスクリプションプランパラメータを更新します。",
        "operationId": "update-plan-parameters",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/plan-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "billing_retry": {
                  "value": 1
                },
                "charge": {
                  "amount": 20,
                  "currency": "USD",
                  "period": {
                    "type": "month",
                    "value": 1
                  },
                  "prices": [
                    {
                      "amount": 17,
                      "currency": "EUR",
                      "setup_fee": 1.5
                    },
                    {
                      "amount": 2000,
                      "currency": "JPY",
                      "setup_fee": 2.5
                    }
                  ]
                },
                "description": {
                  "en": "3x more experience!"
                },
                "expiration": {
                  "type": "day",
                  "value": null
                },
                "external_id": "exp",
                "grace_period": {
                  "type": "day",
                  "value": 2
                },
                "name": {
                  "en": "Experience boost"
                },
                "refund_period": null,
                "tags": [],
                "trial": {
                  "type": "day",
                  "value": 7
                }
              },
              "schema": {
                "$ref": "#/components/schemas/SubscriptionsPlanRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "billing_retry": {
                    "value": 1
                  },
                  "charge": {
                    "amount": 20,
                    "currency": "USD",
                    "period": {
                      "type": "month",
                      "value": 1
                    },
                    "prices": [
                      {
                        "amount": 17,
                        "currency": "EUR",
                        "setup_fee": 1.5
                      },
                      {
                        "amount": 2000,
                        "currency": "JPY",
                        "setup_fee": 2.5
                      }
                    ]
                  },
                  "description": {
                    "en": "3x more experience!"
                  },
                  "expiration": {
                    "type": "day",
                    "value": 0
                  },
                  "external_id": "exp",
                  "grace_period": {
                    "type": "day",
                    "value": 2
                  },
                  "group_id": null,
                  "id": 241082,
                  "localized_name": "Experience boost",
                  "name": {
                    "en": "Experience boost"
                  },
                  "project_id": 40797,
                  "refund_period": null,
                  "status": {
                    "value": "active"
                  },
                  "tags": [],
                  "trial": {
                    "type": "day",
                    "value": 7
                  },
                  "type": "all"
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "更新のプラン",
        "tags": [
          "plans"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/projects/{project_id}/subscriptions/plans/{plan_id}/delete": {
      "delete": {
        "description": "サブスクリプションプランを削除します。",
        "operationId": "delete-plan",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/plan-id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "プランの削除",
        "tags": [
          "plans"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/projects/{project_id}/subscriptions/products": {
      "get": {
        "description": "すべてのサブスクリプション型の製品を一覧表示します。",
        "operationId": "get-products",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/group-id-query-param"
          },
          {
            "$ref": "#/components/parameters/product-id-query-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "description": {
                      "en": "Description in English."
                    },
                    "group_id": "charge",
                    "id": 714,
                    "name": "Channel"
                  },
                  {
                    "description": {
                      "en": "Description in English."
                    },
                    "group_id": "notify",
                    "id": 715,
                    "name": "notify"
                  },
                  {
                    "description": {
                      "en": "Description in English."
                    },
                    "group_id": "charge",
                    "id": 716,
                    "name": "charge2"
                  },
                  {
                    "description": {
                      "en": "Description in English."
                    },
                    "group_id": "charge",
                    "id": 486,
                    "name": "Channel2"
                  }
                ],
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/SubscriptionsProductWithId"
                  },
                  "type": "array"
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "製品の取得",
        "tags": [
          "products"
        ],
        "x-admin": true,
        "x-server": true
      },
      "post": {
        "description": "サブスクリプション型の製品を作成します。",
        "operationId": "create-product",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "description": {
                  "en": "Kids TV"
                },
                "group_id": "charge",
                "name": "Channel2"
              },
              "schema": {
                "allOf": [
                  {
                    "required": [
                      "name",
                      "group_id"
                    ]
                  },
                  {
                    "$ref": "#/components/schemas/SubscriptionsProduct"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "example": {
                  "product_id": 172003
                },
                "schema": {
                  "properties": {
                    "product_id": {
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Created (作成済み)。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "製品の作成",
        "tags": [
          "products"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/projects/{project_id}/subscriptions/products/{product_id}": {
      "delete": {
        "description": "サブスクリプション型の製品を削除します。",
        "operationId": "delete-product",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/product-id-path-param"
          }
        ],
        "responses": {
          "204": {
            "description": "No Content (コンテンツなし) 。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "製品の削除",
        "tags": [
          "products"
        ],
        "x-admin": true,
        "x-server": true
      },
      "put": {
        "description": "サブスクリプション型の製品を更新します。",
        "operationId": "update-product",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/product-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "description": {
                  "en": "Description in English."
                },
                "group_id": "charge13",
                "name": "Channel23"
              },
              "schema": {
                "allOf": [
                  {
                    "required": [
                      "name",
                      "group_id"
                    ]
                  },
                  {
                    "$ref": "#/components/schemas/SubscriptionsProduct"
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "description": {
                    "en": "Description in English."
                  },
                  "group_id": "charge13",
                  "id": 1713603,
                  "name": "Channel23"
                },
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionsProductWithId"
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "製品の更新",
        "tags": [
          "products"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/projects/{project_id}/subscriptions/{subscription_id}": {
      "get": {
        "description": "IDで特定のサブスクリプションの詳細を取得。",
        "operationId": "get-subscription",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/subscription-id-path-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "charge_amount": 0.03,
                  "comment": "The subscription was not extended in due time",
                  "currency": "USD",
                  "date_create": "2018-09-21T16:54:59+03:00",
                  "date_end": "2019-02-06T12:43:04+03:00",
                  "date_last_charge": "2018-09-21T16:55:05+03:00",
                  "date_next_charge": "2018-09-21T16:55:05+03:00",
                  "id": 249579,
                  "plan": {
                    "external_id": "lowcost",
                    "id": 601
                  },
                  "product": {
                    "id": 123456
                  },
                  "status": "canceled",
                  "user": {
                    "id": "user1",
                    "name": "John Smith"
                  }
                },
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionResponse"
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Get Subscription",
        "tags": [
          "subscriptions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/projects/{project_id}/users/{user_id}/subscriptions/payments": {
      "get": {
        "description": "特定のユーザーが行ったすべての決済を一覧表示します。",
        "operationId": "get-user-payments",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/user-id-path-param"
          },
          {
            "$ref": "#/components/parameters/status-id-query-param"
          },
          {
            "$ref": "#/components/parameters/offset-query-param"
          },
          {
            "$ref": "#/components/parameters/limit-query-param"
          },
          {
            "$ref": "#/components/parameters/datetime-from-query-param"
          },
          {
            "$ref": "#/components/parameters/datetime-to-query-param"
          },
          {
            "$ref": "#/components/parameters/subscription-id-query-param"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": [
                  {
                    "date_payment": "2016-04-05T10:02:01+03:00",
                    "id": 6746083,
                    "id_payment": 202789960,
                    "status": "fail",
                    "subscription": {
                      "charge_amount": 200,
                      "comment": null,
                      "currency": "RUB",
                      "date_create": "2015-05-28T14:33:54+03:00",
                      "date_end": "2016-04-05T10:02:07+03:00",
                      "date_last_charge": "2015-06-03T16:07:29+03:00",
                      "date_next_charge": "2015-06-04T00:00:00+03:00",
                      "id": 36946,
                      "plan": {
                        "charge": {
                          "amount": 200,
                          "currency": "RUB",
                          "period": {
                            "type": "day",
                            "value": 1
                          }
                        },
                        "description": null,
                        "expiration": {
                          "type": "day",
                          "value": 0
                        },
                        "external_id": "E8n34J79",
                        "grace_period": {
                          "type": "day",
                          "value": 0
                        },
                        "group_id": "charge",
                        "id": 24,
                        "localized_name": null,
                        "name": null,
                        "project_id": 1234,
                        "refund_period": null,
                        "status": {
                          "value": "deleted"
                        },
                        "tags": null,
                        "trial": {
                          "type": "day",
                          "value": 0
                        },
                        "type": "charge"
                      },
                      "product": {
                        "description": null,
                        "group_id": "charge",
                        "id": 1,
                        "name": "charge"
                      },
                      "status": "freeze",
                      "user": {
                        "id": "12",
                        "name": "John"
                      }
                    }
                  }
                ]
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "ユーザー決済の取得",
        "tags": [
          "payments"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    },
    "/projects/{project_id}/users/{user_id}/subscriptions/{subscription_id}": {
      "put": {
        "description": "ステータスを変更（`active`、`canceled`、または`non_renewing`）したり、次の請求日を延期することによって、サブスクリプションを更新します。",
        "operationId": "update-subscription",
        "parameters": [
          {
            "$ref": "#/components/parameters/project-id-path-param"
          },
          {
            "$ref": "#/components/parameters/user-id-path-param"
          },
          {
            "$ref": "#/components/parameters/subscription-id-path-param"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "example": {
                "status": "active"
              },
              "schema": {
                "$ref": "#/components/schemas/Subscription"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "example": {
                  "charge_amount": 0.03,
                  "currency": "USD",
                  "date_create": "2018-09-21T16:54:59+03:00",
                  "date_end": null,
                  "date_last_charge": "2018-09-21T16:55:05+03:00",
                  "date_next_charge": "2018-09-21T16:55:05+03:00",
                  "id": 24953579,
                  "plan": {
                    "billing_retry": {
                      "value": 1
                    },
                    "charge": {
                      "amount": 0.03,
                      "currency": "USD",
                      "period": {
                        "type": "day",
                        "value": 1
                      }
                    },
                    "description": null,
                    "expiration": {
                      "type": "day",
                      "value": 0
                    },
                    "external_id": "lowcost",
                    "grace_period": {
                      "type": "day",
                      "value": 2
                    },
                    "group_id": "newPlans",
                    "id": 66001,
                    "localized_name": null,
                    "name": null,
                    "project_id": 18404,
                    "refund_period": null,
                    "status": {
                      "value": "active"
                    },
                    "tags": null,
                    "trial": {
                      "type": "day",
                      "value": 0
                    },
                    "type": "all"
                  },
                  "product": null,
                  "status": "active",
                  "user": {
                    "id": "jb1",
                    "name": "J.Black"
                  }
                }
              }
            },
            "description": "OK。"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "サブスクリプションの更新",
        "tags": [
          "subscriptions"
        ],
        "x-admin": true,
        "x-server": true
      },
      "servers": [
        {
          "url": "https://api.xsolla.com/merchant/v2"
        }
      ]
    }
  },
  "tags": [
    {
      "name": "token",
      "x-displayName": "トークン"
    },
    {
      "name": "plans",
      "x-displayName": "プラン"
    },
    {
      "name": "products",
      "x-displayName": "製品"
    },
    {
      "name": "subscriptions",
      "x-displayName": "Subscription management"
    },
    {
      "name": "payments",
      "x-displayName": "決済"
    },
    {
      "name": "promotions",
      "x-displayName": "プロモーション"
    },
    {
      "name": "coupons",
      "x-displayName": "クーポン"
    },
    {
      "name": "subscription-management",
      "x-displayName": "Subscription management"
    }
  ],
  "x-tagGroups": [
    {
      "name": "Admin subscription management",
      "tags": [
        "token",
        "plans",
        "products",
        "subscriptions",
        "payments",
        "promotions",
        "coupons"
      ]
    },
    {
      "name": "User subscription management",
      "tags": [
        "subscription-management"
      ]
    }
  ]
}