---
title: "Change a deal license and create amendment order"
method: POST
path: "/subscriptions/deal/change/"
tags: ["ChangeDeal"]
---

# Change a deal license and create amendment order

`POST /subscriptions/deal/change/`

## Request body

- ChangeDealRequest
  - `Currency` string — The deal order currency code
  - `Country` string — The deal order country code
  - `Language` string — The deal order language code
  - `CustomerIp` string — The deal order customer IP
  - `Source` string — The deal order source
  - `Items` DealRequestItem[] — The deal order items
    - `DealDate` string — The date and time when the deal will be operated
    - `SubscriptionReference` string — The deal license code
    - `ProductCode` string — The deal license product code
    - `Quantity` integer — The deal license product quantity
    - `DealPriceScenario` 'using_last_order_price' | 'using_last_product_price' | 'price_total' | 'product_price_difference' — The deal price calculation scenario
    - `DealSubscriptionScenario` 'prolong' | 'does_not_affect' | 'start_new_deal_contract_now' | 'start_new_deal_contract_after_current_cycle' — The license upgrade scenario
    - `Price` object — The deal item custom price details
      - `Amount` number — The price amount value
      - `Type` string — the price type (use CUSTOM in this case)
      - `AmountType` string — the price amount type (GROSS or NET)
    - `SubscriptionCustomSettings` ItemSubscriptionCustomSettings
      - `CycleLength` integer, nullable, required
      - `CycleUnit` 'DAY' | 'MONTH', nullable, required
      - `CycleAmount` number, float, required
      - `CycleAmountType` 'NET' | 'GROSS', required
    - `PriceOptions` DealItemPriceOptions — item price options
      - `Code` string — price option group code
      - `Options` object[]
        - `Value` string — priceo option code or value
  - `BillingDetails` BillingDetails
    - `FirstName` string
    - `LastName` string
    - `Phone` string
    - `Company` string
    - `FiscalCode` string
    - `Email` string
    - `Address1` string
    - `Address2` string
    - `City` string
    - `Zip` string
    - `CountryCode` string
    - `State` string
  - `DeliveryDetails` DeliveryDetails
    - `Phone` string
    - `FirstName` string
    - `LastName` string
    - `Company` string
    - `FiscalCode` string
    - `Email` string
    - `Address1` string
    - `Address2` string
    - `City` string
    - `Zip` string
    - `CountryCode` string
    - `State` string
  - `PaymentDetails` PlaceOrderPaymentDetails
    - `Type` string, required
    - `Currency` string, required — The currency ISO code for the payment - ISO 4217. Can be changed for the method "Place an order with manual renewal" to set a common currency for multiple subscriptions renewed via the same order.
    - `CustomerIP` string
    - `PaymentMethod` PlaceOrderPaymentDetailsPaymentMethod
      - `CardNumber` string
      - `CardType` string
      - `Vendor3DSReturnURL` string
      - `Vendor3DSCancelURL` string
      - `ExpirationYear` string
      - `ExpirationMonth` string
      - `CCID` string
      - `HolderName` string
      - `RecurringEnabled` boolean
      - `HolderNameTime` integer
      - `CardNumberTime` integer
  - `ExtraInformation` PlaceOrderExtraInformation
    - `RetryFailedPaymentLink` string, url — One of the url query params must be "[REFNO]"
    - `ProposalId` string
    - `PurchaseOrderDownloadLink` string, url
    - `AssistedSale` boolean
    - `AssistedSaleAccountManagerEmail` string

## Response `200`

Change deal success response

- ChangeDealResponse
  - `Items` ChangeDealResponseItem[]
    - `SubscriptionReference` string — The deal license code
    - `DealPriceScenario` 'using_last_order_price' | 'using_last_product_price' | 'price_total' | 'product_price_difference' — The deal price calculation scenario
    - `DealSubscriptionScenario` 'prolong' | 'does_not_affect' | 'start_new_deal_contract_now' | 'start_new_deal_contract_after_current_cycle' — The license upgrade scenario
    - `DealDate` string — The date and time when the deal will be operated
    - `DealDueNowPriceNet` number — The deal net price due to the given deal date
    - `DealDueNowPriceGross` number — The deal gross price due to the given deal date
    - `DealTaxAmount` number — The deal tax amount
    - `DealTaxPercent` number — The deal tax percent
    - `CurrentInfo` DealInfo
      - `ProductCode` string
      - `ProductName` string
      - `ProductDescription` string
      - `BillingPriceNet` number
      - `BillingPriceGross` number
      - `NoOfBillingCycles` integer
      - `CurrentBillingCycles` integer
      - `PayedBillingCycles` integer
      - `RemainingBillingCycles` integer
      - `CurrentBillingCycleEndDate` string
      - `TaxAmount` number
      - `TaxPercent` number
      - `BillingCyclesFrequency` integer
      - `BillingCyclesFrequencyUnit` string
      - `ContractLength` integer
      - `ContractLengthUnit` string
      - `ProductOptions` DealItemPriceOptions[]
        - `Code` string — price option group code
        - `Options` object[]
          - `Value` string — priceo option code or value
    - `NewDealInfo` DealInfo
      - `ProductCode` string
      - `ProductName` string
      - `ProductDescription` string
      - `BillingPriceNet` number
      - `BillingPriceGross` number
      - `NoOfBillingCycles` integer
      - `CurrentBillingCycles` integer
      - `PayedBillingCycles` integer
      - `RemainingBillingCycles` integer
      - `CurrentBillingCycleEndDate` string
      - `TaxAmount` number
      - `TaxPercent` number
      - `BillingCyclesFrequency` integer
      - `BillingCyclesFrequencyUnit` string
      - `ContractLength` integer
      - `ContractLengthUnit` string
      - `ProductOptions` DealItemPriceOptions[]
        - `Code` string — price option group code
        - `Options` object[]
          - `Value` string — priceo option code or value
    - `TotalsDealInfo` TotalsDealInfo
      - `DealsNumber` integer
      - `ContractsNumber` integer
      - `PaidBillingCycles` integer
      - `ElapsedBillingCycles` integer
  - `Currency` string
  - `DealDueNowPriceNet` number
  - `DealDueNowPriceGross` number
  - `DealTaxAmount` number
  - `DealOrder` DealOrder
    - `BillingDetails` Orders0BillingDetails
      - `Address1` string
      - `City` string
      - `CountryCode` string
      - `Email` string
      - `FirstName` string
      - `FiscalCode` string
      - `LastName` string
      - `Phone` string
      - `State` string
      - `Zip` string
    - `Affiliate` Orders0Affiliate
      - `AffiliateCode` string
      - `AffiliateSource` string
    - `ExternalCustomerReference` string
    - `CustomerReference` string
    - `Country` string
    - `Currency` string
    - `CustomerIP` string
    - `Items` Orders0Items[]
      - `Code` string
      - `Quantity` string
      - `CrossSell` Orders0CrossSellCampaign
        - `ParentCode` string, required
        - `CampaignCode` string, required
      - `SubscriptionCustomSetting` ItemSubscriptionCustomSettings
        - `CycleLength` integer, nullable, required
        - `CycleUnit` 'DAY' | 'MONTH', nullable, required
        - `CycleAmount` number, float, required
        - `CycleAmountType` 'NET' | 'GROSS', required
    - `Language` string
    - `PaymentDetails` Orders0PaymentDetails
      - `Currency` string
      - `CustomerIP` string
      - `PaymentMethod` Orders0PaymentDetailsPaymentMethod
        - `CCID` string
        - `CardNumber` string
        - `CardNumberTime` string
        - `CardType` string
        - `ExpirationMonth` string
        - `ExpirationYear` string
        - `HolderName` string
        - `HolderNameTime` string
        - `RecurringEnabled` boolean
      - `Type` string
    - `Source` string
    - `DeliveryDetails` DeliveryDetails
      - `Phone` string
      - `FirstName` string
      - `LastName` string
      - `Company` string
      - `FiscalCode` string
      - `Email` string
      - `Address1` string
      - `Address2` string
      - `City` string
      - `Zip` string
      - `CountryCode` string
      - `State` string

## Other responses

- `400` — Change deal validation error
- `500` — Change deal internal error

---

[API](https://skmtc.dev/2checkout/apis/api-rest-documentation.md) · [All operations](https://skmtc.dev/2checkout/apis/api-rest-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/2checkout/api-rest-documentation/revisions/8a7ea610933e/schema)
