---
title: "Update order details"
method: PUT
path: "/orders"
tags: ["Orders"]
---

# Update order details

`PUT /orders`

Updates the details of the specified order.

## Query parameters

- `isDryRun` boolean

## Request body

- OrderRequestJson — JSON object containing information required to create an order.
  - `id` string — System-generated unique identifier for the order.
  - `externalId` string — Unique external reference ID for the order that can be used for integration with other systems. This ID can't be reused on multiple orders.
  - `name` string — Name or title of the order for easy identification.
  - `accountId` string — Unique identifier of the account associated with this order.
  - `orderType` 'NEW' | 'AMENDMENT' | 'RENEWAL' | 'RESTRUCTURE', required — Type of order being placed. This value determines how the order will impact a subscription when it is executed. Supported values: * `NEW`: Create a new subscription. * `CANCEL`: Cancel an existing subscription. * `AMENDMENT`: Amend an existing subscription. * `RENEWAL`: Renew an existing subscription. * `RESTRUCTURE`: Restructure an existing subscription.
  - `paymentTerm` 'NET0' | 'NET30' | 'NET45' | 'NET60' | 'NET90' — Specifies when the payment for the invoice is due. Supported values are `NET0`, `NET30`, `NET45`, `NET60`, and `NET90`.
  - `subscriptionId` string — The ID of the subscription you want to amend, restructure, or cancel. To renew a subscription, use the `renewalForSubscriptionId` field to specify the ID of the subscription you want to renew. This field is not required while creating a new subscription.
  - `shippingContactId` string — ID of the contact to use for shipping information.
  - `billingContactId` string — ID of the contact to use for billing information.
  - `predefinedDiscounts` TenantDiscountJson[] — Array of predefined discount objects to apply to the order.
    - `id` string
    - `percent` number
    - `name` string
    - `type` string
    - `description` string
    - `status` 'ACTIVE' | 'DEPRECATED'
  - `creditableAmounts` CreditableAmount[] — Array of creditable amount which can be refunded when one time charges are cancelled/debooked during amendment or cancellation of a subscription
    - `subscriptionChargeId` string
    - `creditableAmount` number
    - `maxCreditableAmount` number
  - `lineItems` OrderLineItemRequestJson[] — Array of line item objects (i.e., charges) you want to add to this order.
    - `id` string
    - `itemGroupId` string
    - `isDryRunItem` boolean
    - `action` 'ADD' | 'UPDATE' | 'REMOVE' | 'RENEWAL' | 'NONE' | 'MISSING_RENEWAL' | 'RESTRUCTURE'
    - `planId` string
    - `subscriptionChargeId` string
    - `chargeId` string, required
    - `quantity` integer
    - `isRamp` boolean
    - `discounts` DiscountJson[]
      - `name` string
      - `percent` number
      - `discountAmount` number
      - `status` 'ACTIVE' | 'DEPRECATED'
      - `discountedPrice` number
    - `predefinedDiscounts` string[]
    - `effectiveDate` integer
    - `endDate` integer
    - `listUnitPrice` number
    - `listPriceOverrideRatio` number
    - `pricingOverride` PricingOverrideJson
      - `priceTiers` PriceTierJson[]
        - `untilQuantity` string, required
        - `amount` number, required
        - `overage` number
      - `minQuantity` integer
      - `maxQuantity` integer
    - `attributeReferences` AttributeReference[]
      - `attributeDefinitionId` string
      - `attributeValue` string
    - `customFields` CustomFieldEntry[]
      - `id` string
      - `type` 'STRING' | 'PICKLIST' | 'MULTISELECT_PICKLIST'
      - `name` string
      - `label` string
      - `value` string
      - `selections` string[]
      - `options` string[]
      - `required` boolean
      - `source` 'USER' | 'SYSTEM'
      - `defaultValue` CustomFieldDefault
        - `value` string
        - `selections` string[]
    - `arrOverride` number
    - `replacedPlanId` string
    - `amount` number
    - `dryRunItem` boolean
  - `startDate` integer, required — Start date of the subscription in Unix timestamp format (seconds since epoch). This date is inclusive.
  - `endDate` integer — End date of the subscription in Unix timestamp format (seconds since epoch). If not provided for `TERMED` subscriptions, it will be calculated based on `termLength`. **NOTE:** This date is exclusive. For example, if the subscription's start date is 1735689600 (January 1, 2025 00:00:00) and the term length is 1 year, specify the end date as 1767225600 (January 1, 2026 00:00:00). Since the date is exclusive, the subscription is still active at December 31, 2025 23:59:59 but will have ended at January 1, 2026 00:00:00.
  - `executedOn` integer — Date when the order was executed in Unix timestamp format. Don't include this field if you're creating an order with `orderType` = `NEW`. This field is required only when you're creating an order to amend, renew, restructure, or cancel an existing subscription.
  - `termLength` RecurrenceJson
    - `cycle` 'DAY' | 'MONTH' | 'QUARTER' | 'SEMI_ANNUAL' | 'YEAR' | 'PAID_IN_FULL' | 'CUSTOM', required
    - `step` integer, required
  - `billingCycle` RecurrenceJson
    - `cycle` 'DAY' | 'MONTH' | 'QUARTER' | 'SEMI_ANNUAL' | 'YEAR' | 'PAID_IN_FULL' | 'CUSTOM', required
    - `step` integer, required
  - `billingTerm` 'UP_FRONT' | 'IN_ARREARS' — Specifies when billing occurs relative to service delivery. Supported values: * `UP_FRONT`: Billing occurs before the product or service is delivered * `IN_ARREARS`: The customer is billed after receiving the product or service.
  - `billingAnchorDate` integer — Specific date to anchor billing cycles to, in Unix timestamp format (seconds since epoch). Useful for aligning billing with specific dates (e.g., first of the month).
  - `rampInterval` integer[] — Array of timestamps (in Unix timestamp format) defining intervals for ramped pricing schedules. Used when implementing gradual quantity or price changes over time.
  - `orderFormTemplateIds` string[] — Array of document template IDs to use for generating order forms. Specified as UUIDs.
  - `sfdcOpportunityId` string
  - `isPrimaryOrderForSfdcOpportunity` boolean
  - `sfdcOpportunityName` string
  - `sfdcOpportunityType` string
  - `sfdcOpportunityStage` string
  - `opportunityCrmType` 'SALESFORCE' | 'HUBSPOT' — Type of CRM where the opportunity is managed.
  - `ownerId` string — ID of the user who owns this order.
  - `renewalForSubscriptionId` string — ID of the subscription being renewed. Required only when `orderType` is `RENEWAL`.
  - `documentMasterTemplateId` string — UUID of the master document template to use for generating order documents.
  - `documentCustomContent` DocumentCustomContent
    - `id` string, uuid
    - `orderId` string
    - `title` string
    - `content` string
  - `purchaseOrderNumber` string — The purchase order number associated with this order.
  - `purchaseOrderRequiredForInvoicing` boolean — Indicates whether a purchase order number is required to generate an invoice.
  - `autoRenew` boolean — Indicates whether the subscription should automatically renew at the end of its term.
  - `approvalSegmentId` string — ID of the approval segment to use for routing this order through approval workflows.
  - `attachmentId` string — ID of an attachment associated with this order (e.g., signed contract).
  - `compositeOrderId` string
  - `restructureForSubscriptionId` string
  - `expiresOn` integer — Date when the order expires if the `status` is not `EXECUTED`. Specified in Unix timestamp format (seconds since epoch).
  - `entityId` string — ID of the entity (e.g., business or subsidiary) associated with this order.
  - `customFields` CustomFieldEntry[] — Array of custom fields to include additional metadata with the order.
    - `id` string
    - `type` 'STRING' | 'PICKLIST' | 'MULTISELECT_PICKLIST'
    - `name` string
    - `label` string
    - `value` string
    - `selections` string[]
    - `options` string[]
    - `required` boolean
    - `source` 'USER' | 'SYSTEM'
    - `defaultValue` CustomFieldDefault
      - `value` string
      - `selections` string[]
  - `startDateType` 'FIXED' | 'EXECUTION_DATE' — Determines how the start date is calculated. **NOTE:** If you include the `rampInterval` object dates for a ramped pricing schedule, `startDateType` must be set to `FIXED`. Supported values: * `FIXED`: Start date is the value of `startDate`, or the first `rampInterval` timestamp if specified. * `EXECUTION_DATE`: Start date is the date when the order status changes to `EXECUTED`.
  - `currency` string — ISO 4217 currency code for the order. If you don't specify a value, the account's default currency is used.
  - `customBillingSchedule` CustomBillingScheduleInput
    - `version` 'V1', required
    - `orderId` string
    - `orderLines` string[]
    - `schedules` CustomBillingPeriodInput[]
      - `amount` number
      - `recurrenceWithCount` CustomBillingRecurrence, required
        - `recurrence` RecurrenceJson
          - `cycle` 'DAY' | 'MONTH' | 'QUARTER' | 'SEMI_ANNUAL' | 'YEAR' | 'PAID_IN_FULL' | 'CUSTOM', required
          - `step` integer, required
        - `count` integer
      - `triggerInstant` integer
      - `triggerDate` string
  - `customPredefinedTemplatesOnOrder` CustomPredefinedTemplateOnOrder[] — List of custom predefined templates to include on the order.
    - `id` string
    - `orderId` string
    - `name` string
    - `description` string
    - `content` string
  - `subscriptionDurationModel` 'TERMED' | 'EVERGREEN' — Determines the subscription term. Supported values: * `TERMED`: Subscription has a fixed term length. * `EVERGREEN`: Subscription continues indefinitely until cancelled.
  - `opportunityInput` OpportunityInput
    - `name` string
    - `id` string
    - `type` string
    - `stage` string
    - `crmId` string
    - `accountId` string
    - `opportunityCrmType` 'SALESFORCE' | 'HUBSPOT'
    - `isClosed` boolean
    - `primaryOrderId` string
    - `opportunityId` string
    - `customFields` CustomFieldEntry[]
      - `id` string
      - `type` 'STRING' | 'PICKLIST' | 'MULTISELECT_PICKLIST'
      - `name` string
      - `label` string
      - `value` string
      - `selections` string[]
      - `options` string[]
      - `required` boolean
      - `source` 'USER' | 'SYSTEM'
      - `defaultValue` CustomFieldDefault
        - `value` string
        - `selections` string[]

## Response `default`

successful operation

---

[API](https://skmtc.net/dealhub/apis/quote-api.md) · [All operations](https://skmtc.net/dealhub/apis/quote-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dealhub/quote-api/versions/c30f5b9fbfab/schema)
