# Order change created

Endpoint: POST orders-experimental-order-change-created
Version: latest
Security: SecretApiKey, JWT

## Security:

  - `SecretApiKey` (unknown)
    apiKey in header REB-APIKEY

  - `JWT` (unknown)
    http bearer JWT

## Request body:

  - `application/json` (unknown)
    Payload of a webhook event related to an order change.

## Request fields (application/json):

  - `orderId` (string)
    ID of the order.
    Example: ord_01HRF27SATGE4Z6PBJE6PD8328

  - `orderChangeId` (string)
    ID of the order change.
    Example: ord_chg_0YV7DES3WPC5J8JD8QTVNZBZQ8

  - `eventType` (string)
    Type of event that triggered the webhook.
    Enum: "order-change-created", "order-change-canceled", "order-change-applied"

  - `_embedded` (object)
    Embedded objects related to the order change event.

  - `_embedded.order` (object)

  - `_embedded.order.type` (string, required)
    Type of the order.

  - `_embedded.order.customerId` (string, required)
    ID of the customer resource.
    Example: cus_0YV7DDSDD1C8DA64KHH2W33CPF

  - `_embedded.order.websiteId` (string, required)
    ID of the website.
A website is where an organization obtains a customer.
For more information, see [Obtain an organization ID and website ID](https://www.rebilly.com/docs/settings/organizations-and-websites/#obtain-your-organization-id-and-website-id).
    Example: web_0YV7DE4Z26DQSA1AC92FBJ7SEG

  - `_embedded.order.trial` (object)
    Details of the trial.
To use plan defaults, omit the `trial` key or set this value to `null`.

  - `_embedded.order.trial.enabled` (boolean)
    Specifies if there is a trial for this subscription.
Plans without trial prices are free trials.

  - `_embedded.order.trial.endTime` (string | null)
    Time and date when the trial ends.
If the order churns during the trial, this value is the time when the order churned.
If a trial is enabled on this subscription, a value must be provided.

If the specified trial end time is in the past, the current time is used.

  - `_embedded.order.isTrialOnly` (boolean)
    Specifies if a subscription ends after a trial period.
If this value is `true`, recurring settings are ignored.

  - `_embedded.order.items` (array, required)
    Item in the order.

  - `_embedded.order.items.type` (string, required)
    Specifies the type of order item.

  - `_embedded.order.items.plan` (any, required)
    Details of the plan.

  - `_embedded.order.items.plan.id` (string, required)
    Unique resource ID.
    Example: 4f6cf35x-2c4y-483z-a0a9-158621f77a21

  - `_embedded.order.items.plan.id` (string, required)
    ID of the plan.
    Example: plan_0YV7DENSVGDBW9S71XZNNYYQ0X

  - `_embedded.order.items.plan.type` (string)
    Variant of the plan.
This field is optional in create and update requests.
The variant is `one-time-sale` when both `recurringInterval` and `trial` are omitted.
If included, this field must match the applicable variant.
A mismatch results in an HTTP `422` response.
Responses always include this field.
    Enum: "one-time-sale"

  - `_embedded.order.items.plan.name` (string, required)
    Name of the plan.
This name is displayed on invoices and receipts.

  - `_embedded.order.items.plan.description` (string)
    Plain-text description of the plan.
This field accepts plain-text only.

  - `_embedded.order.items.plan.richDescription` (string)
    Rich-text description of the plan.
This field accepts rich text formatting, such as: bold, underline, italic, and hyperlinks.

  - `_embedded.order.items.plan.productId` (string, required)
    ID of the related product.
    Example: prod_0YV7DES3WPC5J8JD8QTVNZBZNZ

  - `_embedded.order.items.plan.productOptions` (object | null)
    Name-value pairs that specify the product options.
    Example: {"color":"red","size":"xxl"}

  - `_embedded.order.items.plan.currency` (string, required)
    Currency code in ISO 4217 format.
    Example: USD

  - `_embedded.order.items.plan.pricing` (object, required)
    Pricing details.

  - `_embedded.order.items.plan.setup` (object | null)
    Setup fee information for the plan.

  - `_embedded.order.items.plan.setup.price` (number, required)
    One-time setup fee charged when the plan starts.
This field is deprecated.
Use the `setupFee` field instead.

  - `_embedded.order.items.plan.setupFee` (number | null)
    One-time setup fee charged when the plan starts.
Set to `0` or `null` if no setup fee applies.
    Example: 0

  - `_embedded.order.items.plan.customFields` (object)
    Use custom fields to extend a resource scheme to include custom data that is not provided as a common field.
For more information, see [Custom fields](https://www.rebilly.com/catalog/all/custom-fields).
    Example: {"foo":"bar"}

  - `_embedded.order.items.plan.isActive` (boolean)
    Specifies if the plan is active.

  - `_embedded.order.items.plan.type` (string)
    Variant of the plan.
This field is optional in create and update requests.
The variant is `subscription` when `recurringInterval` is present.
If included, this field must match the applicable variant.
A mismatch results in an HTTP `422` response.
Responses always include this field.
    Enum: "subscription"

  - `_embedded.order.items.plan.recurringInterval` (object, required)
    Service interval settings.

  - `_embedded.order.items.plan.recurringInterval.periodAnchorInstruction` (object | null)
    Instruction for calculating the service period anchor.

The service period anchor is used, in conjunction with the subscription
start time, to calculate when the service period starts and ends.

  - `_embedded.order.items.plan.recurringInterval.unit` (string, required)
    Unit of time.
    Enum: "day", "week", "month", "year"

  - `_embedded.order.items.plan.recurringInterval.length` (integer, required)
    Length of time.

  - `_embedded.order.items.plan.recurringInterval.limit` (integer | null)
    Number of invoices the subscription order generates.
If this value is `1`, only the initial order creation is generated.
Example: For a 1 year contract that is billed monthly,
where the `periodUnit` is `month` and the `periodDuration` is `1`,
set this field to `12`.

  - `_embedded.order.items.plan.recurringInterval.billingTiming` (string)
    Billing timing in relation to the service period.
For `prepaid` plans the customer pays when the service period starts,
whereas, for `postpaid` plans, the customer pays when the service period ends.
    Enum: "prepaid", "postpaid"

  - `_embedded.order.items.plan.trial` (object | null)

  - `_embedded.order.items.plan.trial.price` (number, required)
    Price of setting up a trial.
If your service charges a fee for a trial, specify it here.
To charge no trial fee, set this value to `0`.

  - `_embedded.order.items.plan.trial.period` (object, required)
    Period information.

  - `_embedded.order.items.plan.meteredBilling` (object | null)
    Use metered billing when an exact quantity is unknown.
Report usage during a service period and charge customers afterwards.
Metered billing plans must be postpaid.

  - `_embedded.order.items.plan.meteredBilling.strategy` (string, required)
    Enum: "sum", "last"

  - `_embedded.order.items.plan.meteredBilling.min` (number | null)
    Minimum quantity that is charged at the end of a service period regardless of reported usage.

  - `_embedded.order.items.plan.meteredBilling.max` (number | null)
    Maximum quantity that is charged at the end of a service period regardless of reported usage.

  - `_embedded.order.items.plan.meteredBilling.sticky` (boolean)
    When enabled, if no usage is reported during a service period,
the plan bills the last known reported quantity from a previous period instead of zero.
This is suitable for hosted or persistent resources whose usage does not change every period.
Only supported with `strategy`: `last`.
    Example: false

  - `_embedded.order.items.plan.invoiceTimeShift` (object | null)
    Use invoice time shift to control the billing time.
Invoice time shift adjusts the invoice issue and due date when billing must occur before the service period changes.
Use invoice time shift in conjunction with `billingTiming` to:
- Bill immediately when the service period starts.
- Bill immediately after the service period ends.
- Bill at an interval of time before the service period starts.
- Bill at an interval of time after the service period starts.
- Bill at an interval of time before the service period ends.
- Bill at an interval of time after the service period ends.

  - `_embedded.order.items.plan.invoiceTimeShift.issueTimeShift` (object)
    Calculation instruction of the billing time.
This is used in conjunction with the service period anchor to calculate
the time at which the invoice is issued. For more information, see
[Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).

  - `_embedded.order.items.plan.invoiceTimeShift.dueTimeShift` (object)
    Calculation instruction of the invoice due time.
This is used in conjunction with the service period anchor to calculate when
an invoice is due for payment. For more information, see
[Service period anchor, billing timing, and invoice time shift](https://www.rebilly.com/docs/dev-docs/subscriptions#service-period-anchor-billing-timing-and-invoice-time-shift).
The sequential order of due time shift is always after the due date.

  - `_embedded.order.items.plan.type` (string)
    Variant of the plan.
This field is optional in create and update requests.
The variant is `trial-only` when `trial` is present without `recurringInterval`.
If included, this field must match the applicable variant.
A mismatch results in an HTTP `422` response.
Responses always include this field.
    Enum: "trial-only"

  - `_embedded.order.items.plan.trial` (object | null, required)
    Trial configuration settings.

  - `_embedded.order.items.quantity` (integer)
    Number of product units in the specified plan.

  - `_embedded.order.items.recurringInterval` (object | null)
    Recurring interval to override plan settings.
To use plan settings, set this value to `null`.
To use multiple plans in one subscription,
all plans must have the same recurring period length.
    Example: null

  - `_embedded.order.items.renewalTime` (string | null)
    Date and time when the subscription renews.

  - `_embedded.order.items.quantityFilled` (number | null)
    Number of filled product units.
    Example: 5.125

  - `_embedded.order.items.usageLimits` (any)

  - `_embedded.order.items.usageLimits.softLimit` (object)
    Defines thresholds for notification purposes.
For example, to notify the customer that their usage is near the hard limit of their metered billing plan.
This notification informs the customer so that they can upgrade their plan before the hard limit is reached.
When metered usage equals or exceeds the configured soft limit, the `soft-usage-limit-reached` event is triggered.
The quantity limit applies to the larger of the reported and billed quantity.
If a minimum billable quantity results in a billed quantity that is higher than the reported quantity, the billed quantity applies to the limit.
If a maximum billable quantity results in a billed quantity that is lower than the reported quantity, the reported quantity applies to the limit.
The amount limit applies to the billed amount.
To notify the customer, a webhook and notification can be configured for this event.
This field is useful for accounting and customer success purposes.
The usage of metered billing plans can still be reported if the soft limit is reached.

  - `_embedded.order.items.usageLimits.softLimit.quantity` (integer)
    Usage limit quantity.

  - `_embedded.order.items.usageLimits.softLimit.amount` (number)
    Usage limit amount in the currency of the order.

  - `_embedded.order.items.usageLimits.hardLimit` (object)
    Defines a limit where the customer can no longer use the service.
Hard limits are used in addition to soft limits.
When a soft limit is reached,
a customer may receive a notification
but the service can still be provided up to the hard limit value so that the customer can upgrade their plan.
When the reported usage reaches the configured limit,
a specific event is triggered.
To notify the customer in the merchant system,
or block a service,
a webhook and notification can be configured for this event.
When the total usage reaches the hard limit quantity,
or amount values,
metered billing plan usages can no longer be reported.
Plans with a minimum quantity, fixed fee, or flat stairstep bracket set a minimum billable quantity and amount.
A `quantity` value below the minimum billable quantity is invalid.
An `amount` value below the minimum billable amount is invalid.
A `0` value remains valid even on plans with minimum billing.

  - `_embedded.order.items.usageLimits.hardLimit.quantity` (integer)
    Usage limit quantity.

  - `_embedded.order.items.usageLimits.hardLimit.amount` (number)
    Usage limit amount in the currency of the order.

  - `_embedded.order.items.usageLimits.trialLimit` (any)
    Defines a usage cap during the trial period of a subscription.
This limit is enforced only while the subscription is in its trial phase.
When the reported usage reaches the configured trial limit, an event called 'trial-usage-limit-reached' is triggered.
To notify the customer or restrict access to the service, a webhook and notification can be configured for this event.
Once the trial limit is reached, additional usage cannot be reported unless the trial ends.
    Example: 20.725

  - `_embedded.order.items.usageStatus` (any)

  - `_embedded.order.items.usageStatus.isSoftLimitReached` (boolean)
    Specifies if the soft limit has been reached.
    Example: false

  - `_embedded.order.items.usageStatus.isHardLimitReached` (boolean)
    Specifies if the hard limit has been reached.
    Example: false

  - `_embedded.order.items.usageStatus.isTrialLimitReached` (boolean)
    Specifies if the trial limit has been reached.
    Example: false

  - `_embedded.order.items.excludeFromMrr` (boolean)
    Specifies if this item should be excluded from monthly recurring revenue calculations.

  - `_embedded.order.invoiceIssueTimeShift` (string)
    Invoice issue time shift interval in ISO-8601 format.
This field adjusts the issue date and time of renewal invoices for the order.
This interval value supports the `-` symbol.
    Example: +P00Y00M00DT00H00M00S

  - `_embedded.order.invoiceDueTimeShift` (string)
    Invoice due time shift interval in ISO-8601 format.
Use this field to adjust when payment is due for the order.
If autopay is configured, payment is collected automatically on this date.
This interval value supports the `+` symbol.
    Example: +P00Y00M00DT00H00M00S

  - `_embedded.order.paymentInstrumentId` (string | null)
    ID of the payment instrument to use for autopay.
If this value is not provided, or if the payment instrument is inactive,
the customer's default payment instrument is used.
    Example: inst_0YVB8KPKNXCBR9EDX7JHSED75N

  - `_embedded.order.poNumber` (string | null)
    Purchase order number that is displayed on the issued invoices.
    Example: PO123456

  - `_embedded.order.notes` (string)
    Notes for the customer that are displayed on the order invoice.

  - `_embedded.order.billingAddress` (any)
    Billing address of the order.
Changes to the billing address apply to the upcoming invoice and to invoices created after the change.
Issued invoices are not updated unless the order is `pending`.
To change the billing address on an issued invoice that has no payment attempts or applied credits, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=billingaddress).

  - `_embedded.order.billingAddress.firstName` (string | null)
    Contact's first name.
    Example: Benjamin

  - `_embedded.order.billingAddress.lastName` (string | null)
    Contact's last name.
    Example: Franklin

  - `_embedded.order.billingAddress.organization` (string | null)
    Contact's organization.
    Example: Rebilly

  - `_embedded.order.billingAddress.address` (string | null)
    First line of the contact's street address.
    Example: 36 Craven St

  - `_embedded.order.billingAddress.address2` (string | null)
    Second line of the contact's street address.

  - `_embedded.order.billingAddress.city` (string | null)
    Contact's city of residence.
    Example: Austin

  - `_embedded.order.billingAddress.region` (string | null)
    Contact's region of residence.
    Example: Texas

  - `_embedded.order.billingAddress.country` (string | null)
    Contact's country of residence in ISO 3166 alpha-2 country code.
For examples, see [ISO.org](https://www.iso.org/obp/ui/#search/code/).
    Example: GB

  - `_embedded.order.billingAddress.postalCode` (string | null)
    Contact's postal code.
    Example: WC2N 5NF

  - `_embedded.order.billingAddress.phoneNumbers` (array)
    List of phone numbers associated with the contact.

  - `_embedded.order.billingAddress.phoneNumbers.label` (string, required)
    Phone number label or name.
    Example: main

  - `_embedded.order.billingAddress.phoneNumbers.value` (string, required)
    Phone number value.
    Example: 1-512-777-0269

  - `_embedded.order.billingAddress.phoneNumbers.primary` (boolean)
    Specifies if the phone number is the contact's primary phone number.
    Example: true

  - `_embedded.order.billingAddress.emails` (array)
    List of email addresses associated with the contact.

  - `_embedded.order.billingAddress.emails.label` (string, required)
    Email label or name.
    Example: main

  - `_embedded.order.billingAddress.emails.value` (string, required)
    Email address value.
    Example: rebilly@example.com

  - `_embedded.order.billingAddress.emails.primary` (boolean)
    Specifies if the email address is the contact's primary email address.
    Example: true

  - `_embedded.order.billingAddress.dob` (string | null)
    Contact's date of birth in ISO-8601 `YYYY-MM-DD` format.
    Example: 1980-04-01

  - `_embedded.order.billingAddress.jobTitle` (string | null)
    Contact's job title.
    Example: CEO

  - `_embedded.order.deliveryAddress` (any)
    Delivery address of the order.
Changes to the delivery address apply to the upcoming invoice and to invoices created after the change.
Issued invoices are not updated unless the order is `pending`.
To change the delivery address on an unpaid, past-due, or partially paid invoice, use the [upsert an invoice API operation](https://www.rebilly.com/catalog/all/invoices/putinvoice#invoices/putinvoice/t=request&path=deliveryaddress).

  - `_embedded.order.delinquencyPeriod` (string | null)
    Length of time, in ISO-8601 durations format,
which is added to the due time of the order when setting the delinquency time for all related invoices.
When the delinquency time of an invoice is reached, the order is automatically canceled.
If the provided value is `null`, the order does not change state.
    Example: +P00Y00M07DT00H00M00S

  - `_embedded.order.couponIds` (array | null)
    List of coupons to redeem on the customer and restrict to this order.
For more information, see [Coupons](https://www.rebilly.com/docs/settings/coupons-and-discounts/).
This parameter uses the following logic:
- If this parameter is not supplied, applied coupons are not changed.
- If an empty array is supplied, all applied coupon redemptions are canceled.
- If a list of coupons is supplied, unapplied coupons in the list are applied.
Coupons that have already been applied do not change state.
Applied coupons that are not supplied in list are canceled.

If the list of applied coupons on a pending order is changed by this parameter during an order update, the invoice for the order is reissued.

  - `_embedded.order.riskMetadata` (any)
    Risk metadata.
If this value is `null`, this field uses risk metadata that is captured when creating the payment token.

  - `_embedded.order.riskMetadata.ipAddress` (string | null)
    Customer's IP address.
    Example: 93.92.91.90

  - `_embedded.order.riskMetadata.fingerprint` (string | null)
    Customer's device fingerprint.
A device fingerprint is a unique token that is used to identify the customer.
The device fingerprint is generated based on device attributes, such as: hardware,
software, IP address, language, browser, and more.
    Example: pIUt3xbgX3l9g3YDiLbx

  - `_embedded.order.riskMetadata.httpHeaders` (any)

  - `_embedded.order.riskMetadata.browserData` (object | null)
    Browser data used for 3D Secure and risk scoring.

  - `_embedded.order.riskMetadata.browserData.colorDepth` (integer, required)
    Browser color depth in bits per pixel.
This value is obtained using the `screen.colorDepth` property.
    Example: 24

  - `_embedded.order.riskMetadata.browserData.isJavaEnabled` (boolean, required)
    Specifies if Java is enabled in a browser.
This value is obtained from the `navigator.javaEnabled` property.

  - `_embedded.order.riskMetadata.browserData.language` (string, required)
    Browser language settings.
This value is obtained from the `navigator.language` property.
    Example: en-US

  - `_embedded.order.riskMetadata.browserData.screenWidth` (integer, required)
    Width of the browser screen.
This value is obtained from the `screen.width` property.
    Example: 1920

  - `_embedded.order.riskMetadata.browserData.screenHeight` (integer, required)
    Height of the browser screen.
This value is obtained from the `screen.height` property.
    Example: 1080

  - `_embedded.order.riskMetadata.browserData.timeZoneOffset` (integer, required)
    Browser time zone offset in minutes from UTC.
A positive offset indicates that the local time is behind UTC.
A negative offset indicates that the local time is ahead of UTC.
You can find this value using the `(new Date()).getTimezoneOffset()` property.
    Example: 300

  - `_embedded.order.riskMetadata.browserData.isAdBlockEnabled` (boolean | null)
    Specifies if the usage of ad block has been detected in the browser.

  - `_embedded.order.riskMetadata.extraData` (object | null)
    Third-party data used for risk scoring.

  - `_embedded.order.riskMetadata.extraData.kountFraudSessionId` (string | null)
    Alpha-numeric `fraudSessionId` as provided by the Kount SDK.
    Example: abcdefg12345abababab123456789012

  - `_embedded.order.riskMetadata.extraData.payPalMerchantSessionId` (string | null)
    PayPal `MerchantSessionID` as generated by the PayPal Fraudnet SDK.
    Example: dd65ratxc5qv15iph3vyoq7l6davuowa

  - `_embedded.order.riskMetadata.extraData.threatMetrixSessionId` (string | null)
    Temporary identifier that is unique to the visitor session and passed to ThreatMetrix.
    Example: dd65ratxc5qv15iph3vyoq7l6davuowadd65ratxc5qv15iph3vyoq7l6davuowa

  - `_embedded.order.startTime` (string | null)
    Date and time when the subscription starts.
If this value is `null`, the current time is used.
This value cannot be more than one service period in the past.
    Example: null

  - `_embedded.order.shipping` (object)
    Shipping settings.

  - `_embedded.order.shipping.amount` (number, required)
    Shipping amount.

  - `_embedded.order.shipping.calculator` (string, required)
    Shipping calculator.
    Enum: "manual"

  - `_embedded.order.shipping.rateId` (string | null)
    ID of the shipping rate.
If this value is not set,
the cheapest applicable shipping rate is used.
    Example: shipping-123-456

  - `_embedded.order.autopay` (boolean)
    Specifies if payment attempts are made automatically.
If autopay is enabled, the payment is retrieved from the customer on the renewal date using the payment instrument that is set at `paymentInstrumentId`,
or the default payment instrument on the order.

  - `_embedded.order.abandonTime` (string | null)
    Date and time when the pending order is automatically abandoned.
If this value is not passed during order creation,
a [pending order TTL](https://www.rebilly.com/catalog/all/organizations/patchorganization/#!t=request&path=settings/billing/pendingOrderTtl) setting is used to calculate the value.

  - `_embedded.order.currentPeriodEnd` (string | null)
    Date and time of the current service period end.
If subscriptions have different recurring settings or the order is not active, providing this field causes the request to be rejected with a conflict.
This field is ignored if the order is in trial.

  - `_embedded.order.billingAddress` (any)
    Billing address of the order.

  - `_embedded.order.deliveryAddress` (any)
    Delivery address of the order.

  - `_embedded.orderChange` (object)
    Change to the items of a recurring order.
A change with `applyAt` set to `now` replaces the items immediately.
A change with `applyAt` set to `nextRenewal` records the new items and applies them at the next renewal.
The current items remain until the next renewal, when the new items are applied and billed on the renewal invoice.
This resource records changes made through this resource and changes created by a quote with `applyAt` set to `nextRenewal`.
Changes made through the `POST /orders/{id}/change-items` operation or through a quote with `applyAt` set to `now` are not recorded.
A change with `applyAt` set to `now` triggers the `order-change-created` and `order-change-applied` events and the item events of the order.

  - `_embedded.orderChange.orderId` (string, required)
    ID of the order.
    Example: ord_01HRF27SATGE4Z6PBJE6PD8328

  - `_embedded.orderChange.applyAt` (string)
    Time when the new items are applied.
- `now`: The items change immediately.
`renewalPolicy`, `prorated`, and `effectiveTime` apply.
- `nextRenewal`: The current items stay until the next renewal.
The new items are billed on the next renewal invoice.
`renewalPolicy`, `prorated`, and `effectiveTime` are not allowed.
A later change for the same order supersedes the pending change.
The pending change is locked once the next renewal invoice is issued.
To remove a pending change, use the `DELETE /order-changes/{id}` operation.
The new items must differ from the current items.
One-time sale items that are already on the order remain.
A one-time sale item cannot be added with `nextRenewal`.
    Enum: "now", "nextRenewal"

  - `_embedded.orderChange.effectiveTime` (string)
    Date and time when the change is applied.
If `applyAt` is set to `now`, this value is the date from which the renewal time for `resetToRecurring` and the proration are calculated.
If this field is omitted, this value defaults to the current time.
If `applyAt` is set to `nextRenewal`, this value is read-only and equals the renewal time of the order.

  - `_embedded.orderChange.items` (array, required)
    New items for the order.
To remove an item, include the items array and exclude the items you want to remove.

  - `_embedded.orderChange.items.plan` (any, required)
    Plan details.

  - `_embedded.orderChange.items.quantity` (integer)
    Number of units of the product on the given plan.

  - `_embedded.orderChange.items.usageLimits` (any)

  - `_embedded.orderChange.items.excludeFromMrr` (boolean | null)
    Specifies if this item is excluded from monthly recurring revenue calculations.

  - `_embedded.orderChange.renewalPolicy` (string)
    How the service periods and trial state of the order are managed when its items change now.
Required when `applyAt` is `now`.
Not allowed when `applyAt` is `nextRenewal`.
    Enum: "resetToRecurring", "retainRecurring", "retainTrialThenRecurring", "retainTrialOnly"

  - `_embedded.orderChange.prorated` (boolean)
    Specifies whether to give a pro rata credit for the amount of time remaining between the `effectiveTime` and the end of the current period.
Required when `applyAt` is `now`.
Not allowed when `applyAt` is `nextRenewal`.
If `renewalTime` is retained by setting `renewalPolicy` to `retainRecurring`, `retainTrialThenRecurring`, or `retainTrialOnly`,
a pro rata debit is also applied for the time between `effectiveTime` and `renewalTime`, as a percentage of the normal period size.

  - `_links` (array)
    Links to related resources.

  - `_links.href` (string)
    URL of the link.

  - `_links.rel` (string)
    Relationship type of the link.
    Enum: "order", "orderChange"

## Response 2xx:

  - `2xx` (unknown)
    Returns any 2xx status to indicate that data is received.

