Search Sales Order

POST /accounting/sales-orders/search

Group: Accounting › Sales Orders · Operation ID: searchSalesOrder

Search sales orders by id, order number, type, approval status, purchase order, legal entity or external identifier, and page through the matches. POST so the filters travel in the JSON body rather than the URL. Read-only. Returns the full order header for each match; matching nothing is an empty items array with HTTP 200, not a 404. Every request must carry the Api-Version header.

Open in the interactive reference

Parameters

Name In Type Required Description
Api-Version header "v1" yes The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1.

Request body

Required, application/json: searchSalesOrderInput.

Field Type Required Description
filters object no Search filters, nested as one object so they map onto the POST body. All are optional and are ANDed; omitting every one of them matches all sales orders.
filters.id string no Exact match on a sales order's id (a UUID). This is how a single known order is fetched.
filters.orderNumber string no Exact match on the system-assigned sales-order number.
filters.orderType string no Restrict to orders of this type. An OrderType member; any other value yields an empty page.
filters.approvalStatus string no Restrict to orders in this approval state. An ApprovalStatus member; any other value yields an empty page.
filters.purchaseOrder string no Exact match on the customer's purchase-order reference. In the body because it is a customer-supplied string, not a system identifier.
filters.entityId string no Restrict to orders owned by this legal entity, given as the entity id (a UUID). An id that matches no entity yields an empty page, not an error.
filters.externalIdentifier object no Match one identifier owned by another system. Both members are required: a fieldName on its own would match every value stored under that key. Not unique across orders, so this returns the ordinary items array.
filters.externalIdentifier.fieldName string yes Configured key of the external identifier — a stable camelCase slug such as 'netsuiteSoNumber'. Must match an active SalesOrderExternalIdentifierConfiguration or the call fails with UNKNOWN_EXTERNAL_IDENTIFIER.
filters.externalIdentifier.value string yes The identifier as the source system holds it. Matched exactly, case-sensitively.
page object no Pagination controls. Omit for the first page.
page.cursor string no Opaque forward cursor from a previous response's pagination.nextCursor; omit for the first page. Do not construct manually.
page.size number no Maximum number of orders to return. Defaults to 50, capped at 200; the server may return fewer, but never more.

Example:

{
  "filters": {
    "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "orderNumber": "<orderNumber>",
    "orderType": "<orderType>",
    "approvalStatus": "<approvalStatus>",
    "purchaseOrder": "<purchaseOrder>",
    "entityId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "externalIdentifier": {
      "fieldName": "<fieldName>",
      "value": "<value>"
    }
  },
  "page": {
    "cursor": "<cursor>",
    "size": 0
  }
}

Response

200 Success

Under data (searchSalesOrderOutput):

Field Type Required Description
items array of object yes Matching sales orders for this page, newest first. Empty when nothing matches. Same item schema as get/v1.
items[].id string yes Id of the sales order (a UUID) — the public identifier used by GET accounting/sales-orders/:id.
items[].orderNumber string yes System-assigned sales-order number. Human-readable reference used on invoices and proposals.
items[].orderType string no Type of sales order, e.g. new business, renewal, expansion, downgrade.
items[].approvalStatus string no Approval state of the order. An ApprovalStatus member, e.g. 'draft', 'pendingApproval', 'approved'.
items[].bookDate string (date) yes Date the order was booked (YYYY-MM-DD). Drives revenue-recognition period assignment.
items[].serviceStartDate string (date) no First date services or products under this order are delivered (YYYY-MM-DD).
items[].serviceEndDate string (date) no Last date services or products under this order are delivered (YYYY-MM-DD). Absent for evergreen orders.
items[].signDate string (date) no Date the order was signed (YYYY-MM-DD), when recorded.
items[].salesEffectiveDate string (date) no Date the order becomes effective for sales reporting (YYYY-MM-DD), when recorded.
items[].isEvergreen boolean no True when the order renews indefinitely rather than ending on serviceEndDate.
items[].excludeFromTaxEngine boolean no When true, invoices, credit memos and debit memos from this order are never submitted to the tax engine.
items[].term string (decimal) no Contract term length in months. Absent for evergreen (open-ended) orders.
items[].currency string yes ISO 4217 three-letter currency code (e.g. USD, EUR, GBP) the order is denominated in.
items[].totalContract string (decimal) no Total contract value across all line items, in the order currency (see currency).
items[].invoicedAmount string (decimal) no Amount already invoiced against the contract value, in the order currency (see currency). The remaining backlog is totalContract − invoicedAmount.
items[].oneTimeDiscountAmount string (decimal) no Lump-sum discount applied to the entire order, in the order currency (see currency).
items[].oneTimeDiscountAllocation string no How the lump-sum discount is allocated across products. One of 'firstInvoice', 'alignToInvoiceFrequency'.
items[].paymentTerm string no Payment-term identifier or display name applied to invoices from this order.
items[].purchaseOrder string no The customer's own purchase-order reference for this order, when supplied.
items[].memo string no Free-text memo recorded on the order.
items[].crmContractId string no Identifier of the originating contract in the CRM, when the order came from one.
items[].salesArrangement string no Number of the sales arrangement this order belongs to.
items[].salesArrangementId string no Id of that sales arrangement (a UUID) — the form a write action accepts.
items[].paymentTermId string no Id of the payment term (a UUID). paymentTerm carries its code; this is the form a write action accepts.
items[].opportunityId string no Identifier of the opportunity this order came from, as issued by the CRM — not an id from this API.
items[].opportunityName string no Name of that CRM opportunity.
items[].dataSource string no System the order originated in when it was integrated rather than entered here, e.g. 'Salesforce'.
items[].priceBookId string no Id of the price book this order's prices were taken from (a UUID).
items[].priceBookName string no Name of that price book, denormalised onto the order.
items[].externalizedInvoicing boolean no True when invoicing for this order happens in another system, so no invoices are generated from it here.
items[].customer object yes Customer denormalised from the linked Customer record (key fields only). Fetch the full record from GET accounting/customers/:id.
items[].customer.id string yes Id of the customer (a UUID).
items[].customer.customerNumber string no System-assigned customer reference number.
items[].customer.name string yes Legal or business name of the customer.
items[].customer.invoiceEmail string no Email that receives invoices for this customer.
items[].customer.mainEmail string no Primary business contact email for the customer.
items[].customer.segment string no Market-segment classification. One of 'SMB', 'MidMarket', 'Enterprise'.
items[].customer.taxExempt boolean no True if the customer is exempt from tax on all transactions.
items[].entityId string yes Id of the legal entity that owns this sales order (a UUID).
items[].entityName string no Name of the owning legal entity.
items[].entityNumber string yes System-assigned number of the legal entity that owns this order.
items[].soldToAddress object yes Sold-to address used for tax determination on this order.
items[].soldToAddress.addressId string no Id of the address record (a UUID), when one is stored.
items[].soldToAddress.line1 string yes Street address line 1: number, street name, or PO box.
items[].soldToAddress.line2 string no Apartment, suite, unit, building, floor, etc.
items[].soldToAddress.city string yes City or locality.
items[].soldToAddress.stateProvince string no State, province, or region.
items[].soldToAddress.country string yes Country name or ISO 3166-1 country code.
items[].soldToAddress.zipCode string yes Postal code or ZIP code as required by the country postal system.
items[].billToAddress object yes Bill-to address where invoices from this order are sent.
items[].billToAddress.addressId string no Id of the address record (a UUID), when one is stored.
items[].billToAddress.line1 string yes Street address line 1: number, street name, or PO box.
items[].billToAddress.line2 string no Apartment, suite, unit, building, floor, etc.
items[].billToAddress.city string yes City or locality.
items[].billToAddress.stateProvince string no State, province, or region.
items[].billToAddress.country string yes Country name or ISO 3166-1 country code.
items[].billToAddress.zipCode string yes Postal code or ZIP code as required by the country postal system.
items[].subscriptions array of object yes Subscriptions on the order, one entry per subscription, each with the product lines that belong to it. Mirrors the subscriptions[] the create action takes.
items[].subscriptions[].id string no Id of the subscription (a UUID). Absent when the line records only a subscription number.
items[].subscriptions[].subscriptionNumber string (decimal) no System-assigned subscription number.
items[].subscriptions[].externalSubscriptionId string no The subscribing system's own id for this subscription, when the order was integrated from one.
items[].subscriptions[].termType string no Whether the subscription runs to a fixed end date or renews indefinitely. One of 'termed', 'evergreen'.
items[].subscriptions[].autoRenew boolean no True when the subscription renews automatically at the end of its term.
items[].subscriptions[].serviceStartDate string (date) no First date the subscription delivers service (YYYY-MM-DD).
items[].subscriptions[].serviceEndDate string (date) no Last date the subscription delivers service (YYYY-MM-DD). Absent while evergreen. Create takes a term in months instead; this is what that term resolved to.
items[].subscriptions[].products array of object yes Product lines in this subscription. Each entry is a SalesOrderProductLine and may carry tiered pricing, rate-card pricing, ramp deals, or per-item breakdowns.
items[].subscriptions[].products[].productCode string yes Company-specific code of the product.
items[].subscriptions[].products[].productId string yes Id of the product (a UUID).
items[].subscriptions[].products[].productLineId string yes Id of the product line under the product (a UUID).
items[].subscriptions[].products[].productName string no Product name as recorded on this line. May differ from the product's current name — the line keeps the name it was sold under.
items[].subscriptions[].products[].salesOrderProductLineId string no Id of this sales-order line (a UUID).
items[].subscriptions[].products[].quantity string (decimal) yes Quantity of the product on this line. For ramp deals the per-period quantity is on each ramp instead.
items[].subscriptions[].products[].listPrice string (decimal) no Per-unit list price before discounts.
items[].subscriptions[].products[].unitPrice string (decimal) no Per-unit price after discounts. Equals listPrice − discountAmount, or listPrice * (1 − discountPercentage/100).
items[].subscriptions[].products[].totalPrice string (decimal) no Total price for this line (unitPrice * quantity).
items[].subscriptions[].products[].discountAmount string (decimal) no Per-unit discount in the order currency.
items[].subscriptions[].products[].discountPercentage string (decimal) no Per-unit discount as a percentage (e.g. 10 for 10%).
items[].subscriptions[].products[].invoiceFrequency string no How often invoices are generated for this line, e.g. monthly, quarterly, annually.
items[].subscriptions[].products[].invoiceTiming string no Whether each invoice for this line is raised at the start or the end of the period it covers. One of 'inAdvance', 'inArrears'.
items[].subscriptions[].products[].lineInvoiceDay string no Which day of the period the invoice is dated, e.g. 'firstDayOfMonth', 'specificDay', 'serviceStartDate'.
items[].subscriptions[].products[].priceModel string no How the price is derived from quantity, e.g. 'flatFee', 'perUnit', 'tiered', 'volume'. Tiered and volume models carry their bands in tiers.
items[].subscriptions[].products[].unitOfMeasure string no Unit the quantity is counted in, e.g. 'each', 'user', 'gigabyte'.
items[].subscriptions[].products[].pricingTerm string no Period the unit price is quoted for, e.g. 'monthly', 'annual' — the basis prices are normalised to before invoicing.
items[].subscriptions[].products[].serviceStartDate string (date) no First date services for this product are delivered (YYYY-MM-DD). Defaults to the order-level serviceStartDate.
items[].subscriptions[].products[].serviceEndDate string (date) no Last date services for this product are delivered (YYYY-MM-DD). Defaults to the order-level serviceEndDate.
items[].subscriptions[].products[].externalIdentifiers array of object yes External identifiers recorded against this line, one per configured field. Empty when none are.
items[].subscriptions[].products[].externalIdentifiers[].fieldName string yes Configured field the identifier belongs to, e.g. 'salesforceLineId'.
items[].subscriptions[].products[].externalIdentifiers[].value string yes The identifier's value in that external system.
items[].subscriptions[].products[].externalIdentifiers[].externalUrl string no Deep link to the record in that system, when the configuration defines one.
items[].subscriptions[].products[].overage object no Overage pricing for usage above the line's allowance. Present only when the product line has an allowance configured.
items[].subscriptions[].products[].overage.listPrice string (decimal) no Per-unit list price for overage usage.
items[].subscriptions[].products[].overage.unitPrice string (decimal) no Per-unit price for overage usage after discounts.
items[].subscriptions[].products[].overage.discountAmount string (decimal) no Per-unit overage discount in the order currency.
items[].subscriptions[].products[].overage.discountPercentage string (decimal) no Per-unit overage discount as a percentage.
items[].subscriptions[].products[].rateCardEntries array of object no Rate-card rows for this line. Present when the product line uses rate-card pricing.
items[].subscriptions[].products[].rateCardEntries[].id string yes Id of this rate-card entry (a UUID).
items[].subscriptions[].products[].rateCardEntries[].identifier string no BillableComponent identifier this rate-card row meters.
items[].subscriptions[].products[].rateCardEntries[].label string no Free-text label for this rate-card row, used as an additional discriminator alongside the identifier.
items[].subscriptions[].products[].rateCardEntries[].unitOfMeasure string yes Unit in which this rate-card row is priced.
items[].subscriptions[].products[].rateCardEntries[].unitPrice string (decimal) yes Per-unit rate negotiated for this order.
items[].subscriptions[].products[].rateCardEntries[].currency string yes ISO 4217 currency code for this rate-card row.
items[].subscriptions[].products[].tiers array of object no Pricing tiers for this product line. Present only for tiered, volume or stairstep price models.
items[].subscriptions[].products[].tiers[].fromQuantity string (decimal) yes Lower bound of the quantity range (inclusive).
items[].subscriptions[].products[].tiers[].toQuantity string (decimal) no Upper bound of the quantity range (inclusive). Absent on an open-ended last tier.
items[].subscriptions[].products[].tiers[].unitPrice string (decimal) yes Per-unit price for quantities in this tier.
items[].subscriptions[].products[].tiers[].listPrice string (decimal) no Per-unit list price before discount.
items[].subscriptions[].products[].tiers[].priceModel string no Per-tier price model. One of 'flat', 'perUnit'.
items[].subscriptions[].products[].tags array of object no Value-accounting tags applied to this product, as dimension/value pairs. Tags propagate to journal-entry lines for dimensional reporting.
items[].subscriptions[].products[].tags[].dimension string yes Tag dimension name, e.g. 'Department', 'Project'.
items[].subscriptions[].products[].tags[].value string yes Value within the dimension, e.g. 'Engineering', 'Alpha-2026'.
items[].subscriptions[].products[].items array of object no Per-item breakdown: one entry per SalesOrderProductItem (product x inventory item) under this sales-order product. Present only for inventory-tracked products.
items[].subscriptions[].products[].items[].id string yes Id of this SalesOrderProductItem junction record (a UUID).
items[].subscriptions[].products[].items[].itemId string no Id of the linked inventory item (a UUID). Absent when the record has no item set.
items[].subscriptions[].products[].items[].itemCode string no Item code from ItemMaster.
items[].subscriptions[].products[].items[].itemName string no Item name from ItemMaster.
items[].subscriptions[].products[].items[].productName string no Product name denormalised from the parent SalesOrderProduct.
items[].subscriptions[].products[].items[].itemOrdered string (decimal) yes Ordered quantity for this item, after explosion: line quantity x product-item quantity.
items[].subscriptions[].products[].items[].totalShipped string (decimal) no Sum of shipped quantity across all linked SalesOrderShipmentItems.
items[].subscriptions[].products[].rampDeal object no Ramp-deal definition. Present only when the product is a ramp deal; ramps echo the persisted SalesOrderProductLine records.
items[].subscriptions[].products[].rampDeal.interval string yes Ramp interval mode. One of 'annually', 'specificDates'.
items[].subscriptions[].products[].rampDeal.invoiceTiming string yes Ramp invoice timing. One of 'perInterval', 'allAtOnce'.
items[].subscriptions[].products[].rampDeal.ramps array of object yes Persisted ramps, ordered by start date. At least two.
items[].subscriptions[].products[].rampDeal.ramps[].serviceStartDate string (date) yes First date this ramp's services are delivered (YYYY-MM-DD).
items[].subscriptions[].products[].rampDeal.ramps[].serviceEndDate string (date) yes Last date this ramp's services are delivered (YYYY-MM-DD).
items[].subscriptions[].products[].rampDeal.ramps[].quantity string (decimal) yes Quantity for this ramp period.
items[].subscriptions[].products[].rampDeal.ramps[].listPrice string (decimal) no Per-unit list price for this ramp before discount.
items[].subscriptions[].products[].rampDeal.ramps[].unitPrice string (decimal) no Per-unit price for this ramp after discount.
items[].subscriptions[].products[].rampDeal.ramps[].invoiceFrequency string no How often this ramp is invoiced.
items[].subscriptions[].products[].prepaidConfiguration object no Prepaid balance details for this product. Absent when the product is not configured as prepaid.
items[].subscriptions[].products[].prepaidConfiguration.overConsumptionBehavior string yes Behaviour when consumption exceeds the remaining prepaid balance. One of 'allowNegative' (balance may go negative and is reconciled at renewal) or 'overage' (usage beyond the balance switches to pay-as-you-go invoicing).
items[].subscriptions[].products[].prepaidConfiguration.rolloverAtRenewal boolean yes Whether any unused balance carries forward when the subscription renews.
items[].subscriptions[].products[].prepaidConfiguration.balance string (decimal) no Remaining prepaid quantity for this product. Decreases as consumption is applied.
items[].subscriptions[].products[].prepaidConfiguration.consumedAmount string (decimal) no Total quantity consumed from the prepaid balance to date.
items[].nonSubscriptionProducts array of object yes One-time and other non-subscription product lines on the order, e.g. one-off services or perpetual licences. Same line schema as a subscription's products.
items[].nonSubscriptionProducts[].productCode string yes Company-specific code of the product.
items[].nonSubscriptionProducts[].productId string yes Id of the product (a UUID).
items[].nonSubscriptionProducts[].productLineId string yes Id of the product line under the product (a UUID).
items[].nonSubscriptionProducts[].productName string no Product name as recorded on this line. May differ from the product's current name — the line keeps the name it was sold under.
items[].nonSubscriptionProducts[].salesOrderProductLineId string no Id of this sales-order line (a UUID).
items[].nonSubscriptionProducts[].quantity string (decimal) yes Quantity of the product on this line. For ramp deals the per-period quantity is on each ramp instead.
items[].nonSubscriptionProducts[].listPrice string (decimal) no Per-unit list price before discounts.
items[].nonSubscriptionProducts[].unitPrice string (decimal) no Per-unit price after discounts. Equals listPrice − discountAmount, or listPrice * (1 − discountPercentage/100).
items[].nonSubscriptionProducts[].totalPrice string (decimal) no Total price for this line (unitPrice * quantity).
items[].nonSubscriptionProducts[].discountAmount string (decimal) no Per-unit discount in the order currency.
items[].nonSubscriptionProducts[].discountPercentage string (decimal) no Per-unit discount as a percentage (e.g. 10 for 10%).
items[].nonSubscriptionProducts[].invoiceFrequency string no How often invoices are generated for this line, e.g. monthly, quarterly, annually.
items[].nonSubscriptionProducts[].invoiceTiming string no Whether each invoice for this line is raised at the start or the end of the period it covers. One of 'inAdvance', 'inArrears'.
items[].nonSubscriptionProducts[].lineInvoiceDay string no Which day of the period the invoice is dated, e.g. 'firstDayOfMonth', 'specificDay', 'serviceStartDate'.
items[].nonSubscriptionProducts[].priceModel string no How the price is derived from quantity, e.g. 'flatFee', 'perUnit', 'tiered', 'volume'. Tiered and volume models carry their bands in tiers.
items[].nonSubscriptionProducts[].unitOfMeasure string no Unit the quantity is counted in, e.g. 'each', 'user', 'gigabyte'.
items[].nonSubscriptionProducts[].pricingTerm string no Period the unit price is quoted for, e.g. 'monthly', 'annual' — the basis prices are normalised to before invoicing.
items[].nonSubscriptionProducts[].serviceStartDate string (date) no First date services for this product are delivered (YYYY-MM-DD). Defaults to the order-level serviceStartDate.
items[].nonSubscriptionProducts[].serviceEndDate string (date) no Last date services for this product are delivered (YYYY-MM-DD). Defaults to the order-level serviceEndDate.
items[].nonSubscriptionProducts[].externalIdentifiers array of object yes External identifiers recorded against this line, one per configured field. Empty when none are.
items[].nonSubscriptionProducts[].externalIdentifiers[].fieldName string yes Configured field the identifier belongs to, e.g. 'salesforceLineId'.
items[].nonSubscriptionProducts[].externalIdentifiers[].value string yes The identifier's value in that external system.
items[].nonSubscriptionProducts[].externalIdentifiers[].externalUrl string no Deep link to the record in that system, when the configuration defines one.
items[].nonSubscriptionProducts[].overage object no Overage pricing for usage above the line's allowance. Present only when the product line has an allowance configured.
items[].nonSubscriptionProducts[].overage.listPrice string (decimal) no Per-unit list price for overage usage.
items[].nonSubscriptionProducts[].overage.unitPrice string (decimal) no Per-unit price for overage usage after discounts.
items[].nonSubscriptionProducts[].overage.discountAmount string (decimal) no Per-unit overage discount in the order currency.
items[].nonSubscriptionProducts[].overage.discountPercentage string (decimal) no Per-unit overage discount as a percentage.
items[].nonSubscriptionProducts[].rateCardEntries array of object no Rate-card rows for this line. Present when the product line uses rate-card pricing.
items[].nonSubscriptionProducts[].rateCardEntries[].id string yes Id of this rate-card entry (a UUID).
items[].nonSubscriptionProducts[].rateCardEntries[].identifier string no BillableComponent identifier this rate-card row meters.
items[].nonSubscriptionProducts[].rateCardEntries[].label string no Free-text label for this rate-card row, used as an additional discriminator alongside the identifier.
items[].nonSubscriptionProducts[].rateCardEntries[].unitOfMeasure string yes Unit in which this rate-card row is priced.
items[].nonSubscriptionProducts[].rateCardEntries[].unitPrice string (decimal) yes Per-unit rate negotiated for this order.
items[].nonSubscriptionProducts[].rateCardEntries[].currency string yes ISO 4217 currency code for this rate-card row.
items[].nonSubscriptionProducts[].tiers array of object no Pricing tiers for this product line. Present only for tiered, volume or stairstep price models.
items[].nonSubscriptionProducts[].tiers[].fromQuantity string (decimal) yes Lower bound of the quantity range (inclusive).
items[].nonSubscriptionProducts[].tiers[].toQuantity string (decimal) no Upper bound of the quantity range (inclusive). Absent on an open-ended last tier.
items[].nonSubscriptionProducts[].tiers[].unitPrice string (decimal) yes Per-unit price for quantities in this tier.
items[].nonSubscriptionProducts[].tiers[].listPrice string (decimal) no Per-unit list price before discount.
items[].nonSubscriptionProducts[].tiers[].priceModel string no Per-tier price model. One of 'flat', 'perUnit'.
items[].nonSubscriptionProducts[].tags array of object no Value-accounting tags applied to this product, as dimension/value pairs. Tags propagate to journal-entry lines for dimensional reporting.
items[].nonSubscriptionProducts[].tags[].dimension string yes Tag dimension name, e.g. 'Department', 'Project'.
items[].nonSubscriptionProducts[].tags[].value string yes Value within the dimension, e.g. 'Engineering', 'Alpha-2026'.
items[].nonSubscriptionProducts[].items array of object no Per-item breakdown: one entry per SalesOrderProductItem (product x inventory item) under this sales-order product. Present only for inventory-tracked products.
items[].nonSubscriptionProducts[].items[].id string yes Id of this SalesOrderProductItem junction record (a UUID).
items[].nonSubscriptionProducts[].items[].itemId string no Id of the linked inventory item (a UUID). Absent when the record has no item set.
items[].nonSubscriptionProducts[].items[].itemCode string no Item code from ItemMaster.
items[].nonSubscriptionProducts[].items[].itemName string no Item name from ItemMaster.
items[].nonSubscriptionProducts[].items[].productName string no Product name denormalised from the parent SalesOrderProduct.
items[].nonSubscriptionProducts[].items[].itemOrdered string (decimal) yes Ordered quantity for this item, after explosion: line quantity x product-item quantity.
items[].nonSubscriptionProducts[].items[].totalShipped string (decimal) no Sum of shipped quantity across all linked SalesOrderShipmentItems.
items[].nonSubscriptionProducts[].rampDeal object no Ramp-deal definition. Present only when the product is a ramp deal; ramps echo the persisted SalesOrderProductLine records.
items[].nonSubscriptionProducts[].rampDeal.interval string yes Ramp interval mode. One of 'annually', 'specificDates'.
items[].nonSubscriptionProducts[].rampDeal.invoiceTiming string yes Ramp invoice timing. One of 'perInterval', 'allAtOnce'.
items[].nonSubscriptionProducts[].rampDeal.ramps array of object yes Persisted ramps, ordered by start date. At least two.
items[].nonSubscriptionProducts[].rampDeal.ramps[].serviceStartDate string (date) yes First date this ramp's services are delivered (YYYY-MM-DD).
items[].nonSubscriptionProducts[].rampDeal.ramps[].serviceEndDate string (date) yes Last date this ramp's services are delivered (YYYY-MM-DD).
items[].nonSubscriptionProducts[].rampDeal.ramps[].quantity string (decimal) yes Quantity for this ramp period.
items[].nonSubscriptionProducts[].rampDeal.ramps[].listPrice string (decimal) no Per-unit list price for this ramp before discount.
items[].nonSubscriptionProducts[].rampDeal.ramps[].unitPrice string (decimal) no Per-unit price for this ramp after discount.
items[].nonSubscriptionProducts[].rampDeal.ramps[].invoiceFrequency string no How often this ramp is invoiced.
items[].nonSubscriptionProducts[].prepaidConfiguration object no Prepaid balance details for this product. Absent when the product is not configured as prepaid.
items[].nonSubscriptionProducts[].prepaidConfiguration.overConsumptionBehavior string yes Behaviour when consumption exceeds the remaining prepaid balance. One of 'allowNegative' (balance may go negative and is reconciled at renewal) or 'overage' (usage beyond the balance switches to pay-as-you-go invoicing).
items[].nonSubscriptionProducts[].prepaidConfiguration.rolloverAtRenewal boolean yes Whether any unused balance carries forward when the subscription renews.
items[].nonSubscriptionProducts[].prepaidConfiguration.balance string (decimal) no Remaining prepaid quantity for this product. Decreases as consumption is applied.
items[].nonSubscriptionProducts[].prepaidConfiguration.consumedAmount string (decimal) no Total quantity consumed from the prepaid balance to date.
items[].lastModifiedDate string (date-time) yes Instant the order last changed, as ISO 8601 UTC (YYYY-MM-DDTHH:mm:ss.sssZ). Poll on this to sync incrementally rather than re-reading the whole collection.
items[].externalIdentifiers array of object no External identifiers owned by other systems. At most one entry per fieldName. Absent when the order has none; an omitted field and [] are equivalent.
items[].externalIdentifiers[].fieldName string yes Configured key of the external identifier — a stable camelCase slug such as 'netsuiteSoNumber', not the human-readable label. Must match an active SalesOrderExternalIdentifierConfiguration.
items[].externalIdentifiers[].value string yes The identifier as the source system holds it.
items[].externalIdentifiers[].externalUrl string no Absolute http(s) link to the object in the originating system, when one is stored.
pagination object yes Pagination cursor for this page.
pagination.nextCursor string no Opaque cursor to pass as page.cursor for the next page; absent on the last page.
pagination.hasMore boolean yes True when more matches remain beyond this page.

Errors

Code Status
UNKNOWN_EXTERNAL_IDENTIFIER 400

Statuses