---
title: "Create an order"
method: POST
path: "/orders"
tags: ["Orders"]
---

# Create an order

`POST /orders`

creates an order with the specified parameters. On success the order id is returned.

## Query parameters

- `isDryRun` boolean
- `populateMissingLines` 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 `200`

successful operation

- OrderJson
  - `id` string — System-generated unique identifier for the order.
  - `entityId` string — ID of the entity (e.g., business or subsidiary) associated with this 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' | 'CANCEL' | '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.
  - `currency` string — ISO 4217 currency code for the order. If you don't specify a value, the account's default currency is used.
  - `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 that you want to amend, restructure, or cancel.
  - `subscriptionTargetVersion` integer — The subscription version targeted by this order. Each time a subscription is modified, the version is incremented. Orders target a specific version to maintain consistency. Orders may become outdated if the subscription is modified before the order is executed.
  - `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` OrderLineItemJson[] — Array of line item objects (i.e., charges) that you added order.
    - `id` string
    - `itemGroupId` string
    - `isDryRunItem` boolean
    - `action` 'ADD' | 'UPDATE' | 'REMOVE' | 'RENEWAL' | 'NONE' | 'MISSING_RENEWAL' | 'RESTRUCTURE'
    - `planId` string
    - `subscriptionChargeId` string
    - `currencyConversionRateId` string
    - `subscriptionChargeGroupId` string
    - `chargeId` string, required
    - `quantity` integer
    - `isRamp` boolean
    - `listUnitPrice` number
    - `sellUnitPrice` number
    - `discountAmount` number
    - `discounts` DiscountDetailJson[]
      - `name` string
      - `percent` number
      - `discountAmount` number
      - `status` 'ACTIVE' | 'DEPRECATED'
      - `discountedPrice` number
      - `amount` number
    - `predefinedDiscounts` TenantDiscountLineItemJson[]
      - `id` string
      - `percent` number
      - `name` string
      - `type` string
      - `description` string
      - `status` 'ACTIVE' | 'DEPRECATED'
      - `amount` number
    - `attributeReferences` AttributeReference[]
      - `attributeDefinitionId` string
      - `attributeValue` string
    - `amount` number
    - `listAmount` number
    - `annualizedAmount` number
    - `pricingOverride` PricingOverrideJson
      - `priceTiers` PriceTierJson[]
        - `untilQuantity` string, required
        - `amount` number, required
        - `overage` number
      - `minQuantity` integer
      - `maxQuantity` integer
    - `listPriceOverrideRatio` number
    - `listUnitPriceBeforeOverride` number
    - `listAmountBeforeOverride` number
    - `taxEstimate` number
    - `effectiveDate` integer
    - `endDate` integer
    - `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
    - `dryRunItem` boolean
  - `lineItemsNetEffect` OrderLineItemJson[] — Array of line item objects (i.e., charges) representing the changes that will be made to the subscription when the order is executed. The number of objects in this array depends on the type of order being created: * For `NEW` orders, this array includes all line items that will be added to the new subscription. * For `CANCEL` orders, this array includes the line items that will be removed from the subscription on the cancellation date. Any line items that expire before the cancellation date are not included. * For `AMENDMENT` orders, this array includes only those line items that contain the changes to make the requested amendments to the subscription. * For `RENEWAL` orders, this array includes all line items from the subscription that is being renewed. * For `RESTRUCTURE` orders, this array includes line items that will be added to the restructured subscription.
    - `id` string
    - `itemGroupId` string
    - `isDryRunItem` boolean
    - `action` 'ADD' | 'UPDATE' | 'REMOVE' | 'RENEWAL' | 'NONE' | 'MISSING_RENEWAL' | 'RESTRUCTURE'
    - `planId` string
    - `subscriptionChargeId` string
    - `currencyConversionRateId` string
    - `subscriptionChargeGroupId` string
    - `chargeId` string, required
    - `quantity` integer
    - `isRamp` boolean
    - `listUnitPrice` number
    - `sellUnitPrice` number
    - `discountAmount` number
    - `discounts` DiscountDetailJson[]
      - `name` string
      - `percent` number
      - `discountAmount` number
      - `status` 'ACTIVE' | 'DEPRECATED'
      - `discountedPrice` number
      - `amount` number
    - `predefinedDiscounts` TenantDiscountLineItemJson[]
      - `id` string
      - `percent` number
      - `name` string
      - `type` string
      - `description` string
      - `status` 'ACTIVE' | 'DEPRECATED'
      - `amount` number
    - `attributeReferences` AttributeReference[]
      - `attributeDefinitionId` string
      - `attributeValue` string
    - `amount` number
    - `listAmount` number
    - `annualizedAmount` number
    - `pricingOverride` PricingOverrideJson
      - `priceTiers` PriceTierJson[]
        - `untilQuantity` string, required
        - `amount` number, required
        - `overage` number
      - `minQuantity` integer
      - `maxQuantity` integer
    - `listPriceOverrideRatio` number
    - `listUnitPriceBeforeOverride` number
    - `listAmountBeforeOverride` number
    - `taxEstimate` number
    - `effectiveDate` integer
    - `endDate` integer
    - `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
    - `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.
  - `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).
  - `totalAmount` number — Total currency amount for the order, including all line items, taxes, and discounts.
  - `totalListAmount` number — Total list amount for the order before any discounts are applied.
  - `totalListAmountBeforeOverride` number — Total list amount for the order before any manual overrides are applied.
  - `taxEstimate` number — Estimated tax amount for the order based on tax considerations.
  - `status` 'DRAFT' | 'SUBMITTED' | 'APPROVED' | 'EXECUTED' | 'EXPIRED', required — Current status of the order. **NOTE:** Order details can be modified only when the status is `DRAFT`. When the order is in any other state, only a few attributes such as order name, shipping and billing contacts, PO number, and CRM opportunity details can be modified. Supported values: * `DRAFT`: Initial and default status of an order. An order in this status can be modified. * `SUBMITTED`: Order has been submitted for review and approval. No further modifications are allowed without changing the order status back to `DRAFT`. * `APPROVED`: Order has been approved and is ready for execution. * `EXECUTED`: Order has been executed and the associated subscription has been created or modified. * `EXPIRED`: Order has reached its expiration date without being executed. You can change an expired order's status to `DRAFT` if the expiration date is removed or updated to a later date.
  - `executedOn` integer — Date when the order was executed in Unix timestamp format. This field is populated only when the order status is `EXECUTED`.
  - `createdOn` integer
  - `updatedOn` integer — Date when the order was last updated in Unix timestamp format (seconds since epoch).
  - `executedOnFormatted` string — Formatted date when the order was executed.
  - `rampInterval` integer[] — Array of timestamps (in Unix timestamp format) defining intervals for ramped pricing schedules. The timestamps must be in chronological order from earliest to latest, and there must be no duplicate entries. Used when implementing gradual quantity or price changes over time.
  - `orderFormTemplateIds` string[] — Array of IDs associated with predefined terms used to generate order forms. Specified as UUIDs.
  - `orderTerms` OrderTerms[] — Array of objects representing the terms associated with this order.
    - `id` string, uuid
    - `templateGroupId` string
    - `templateGroupVersion` integer
    - `orderId` string
    - `levelType` 'ORDER' | 'PLAN'
    - `planIds` string[]
    - `templateId` string
    - `deleted` boolean
  - `sfdcOpportunityId` string — Salesforce opportunity ID associated with the order.
  - `isPrimaryOrderForSfdcOpportunity` boolean — Indicates if the order is the primary order for the Salesforce opportunity.
  - `sfdcOpportunityName` string — Salesforce opportunity name.
  - `sfdcOpportunityType` string — Type of Salesforce opportunity.
  - `sfdcOpportunityStage` string — Stage of the Salesforce opportunity.
  - `sfdcOrderCanBeExecuted` boolean — Indicates whether the order can be executed in Salesforce.
  - `opportunityCrmType` 'SALESFORCE' | 'HUBSPOT' — Type of CRM where the opportunity is managed.
  - `renewalForSubscriptionId` string — ID of the subscription being renewed. Returned only when `orderType` is `RENEWAL`.
  - `renewalForSubscriptionVersion` integer — Version number of the subscription being renewed. Returned only when `orderType` is `RENEWAL`.
  - `ownerId` string — ID of the user who owns this order.
  - `documentMasterTemplateId` string — UUID of the document template to use to generate order documents.
  - `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 — ID of the composite order. Returned only if this order is part of a composite order structure.
  - `restructureForSubscriptionId` string — ID of the subscription being restructured. Returned only when `orderType` is `RESTRUCTURE`.
  - `expiresOn` integer — Date when the order expires if the `status` is not `EXECUTED`. Specified in Unix timestamp format (seconds since epoch).
  - `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. 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`.
  - `customBillingEligibleOrderLineIds` string[] — Array of line item IDs (i.e., charge IDs) in this order that are eligible for custom billing.
  - `customPredefinedTemplatesOnOrder` CustomPredefinedTemplateOnOrder[] — List of predefined templates that are applied specifically to this 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.
  - `opportunity` OpportunityJson
    - `name` string
    - `id` string
    - `entityId` string
    - `type` string
    - `stage` string
    - `crmId` string
    - `accountId` string
    - `createdOn` integer
    - `updatedOn` integer
    - `opportunityCrmType` 'SALESFORCE' | 'HUBSPOT'
    - `isClosed` boolean
    - `primaryOrderId` string
    - `opportunityId` string
    - `currency` 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[]
  - `zeppaOutput` OrderCreationCustomizationOutputJson
    - `customizationRunSkipped` boolean
    - `customizationDefinitionMissing` boolean
    - `ruleTraces` RuleTraceJson[]
      - `ruleName` string
      - `fired` boolean
      - `orderActionsPerformed` RuleActionPerformedJson[]
        - `action` string
        - `actionMessage` string
      - `orderLineActionsPerformed` OrderLineActionsPerformedJson[]
        - `lineIdentifier` string
        - `actionsPerformed` RuleActionPerformedJson[]
          - `action` string
          - `actionMessage` string
      - `orderRuleWarnings` string[]
      - `orderLineRuleWarnings` OrderLineRuleWarningsJson[]
        - `lineIdentifier` string
        - `warnings` string[]

---

[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)
