Get Sales Order
GET /accounting/sales-orders/{id}
Group: Accounting › Sales Orders · Operation ID: getSalesOrder
Fetch a single sales order by its id (a UUID), bound from the :id path segment. Returns the order header with its customer, entity and external identifiers — the same item schema as POST accounting/sales-orders/search. Read-only. Raises NOT_FOUND when no order has that id (should map to 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. |
id |
path | string | yes | Id of the sales order to fetch (a UUID); bound from the :id path segment. |
Response
200 Success
Under data (getSalesOrderOutput):
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | yes | Id of the sales order (a UUID) — the public identifier used by GET accounting/sales-orders/:id. |
orderNumber |
string | yes | System-assigned sales-order number. Human-readable reference used on invoices and proposals. |
orderType |
string | no | Type of sales order, e.g. new business, renewal, expansion, downgrade. |
approvalStatus |
string | no | Approval state of the order. An ApprovalStatus member, e.g. 'draft', 'pendingApproval', 'approved'. |
bookDate |
string (date) | yes | Date the order was booked (YYYY-MM-DD). Drives revenue-recognition period assignment. |
serviceStartDate |
string (date) | no | First date services or products under this order are delivered (YYYY-MM-DD). |
serviceEndDate |
string (date) | no | Last date services or products under this order are delivered (YYYY-MM-DD). Absent for evergreen orders. |
signDate |
string (date) | no | Date the order was signed (YYYY-MM-DD), when recorded. |
salesEffectiveDate |
string (date) | no | Date the order becomes effective for sales reporting (YYYY-MM-DD), when recorded. |
isEvergreen |
boolean | no | True when the order renews indefinitely rather than ending on serviceEndDate. |
excludeFromTaxEngine |
boolean | no | When true, invoices, credit memos and debit memos from this order are never submitted to the tax engine. |
term |
string (decimal) | no | Contract term length in months. Absent for evergreen (open-ended) orders. |
currency |
string | yes | ISO 4217 three-letter currency code (e.g. USD, EUR, GBP) the order is denominated in. |
totalContract |
string (decimal) | no | Total contract value across all line items, in the order currency (see currency). |
invoicedAmount |
string (decimal) | no | Amount already invoiced against the contract value, in the order currency (see currency). The remaining backlog is totalContract − invoicedAmount. |
oneTimeDiscountAmount |
string (decimal) | no | Lump-sum discount applied to the entire order, in the order currency (see currency). |
oneTimeDiscountAllocation |
string | no | How the lump-sum discount is allocated across products. One of 'firstInvoice', 'alignToInvoiceFrequency'. |
paymentTerm |
string | no | Payment-term identifier or display name applied to invoices from this order. |
purchaseOrder |
string | no | The customer's own purchase-order reference for this order, when supplied. |
memo |
string | no | Free-text memo recorded on the order. |
crmContractId |
string | no | Identifier of the originating contract in the CRM, when the order came from one. |
salesArrangement |
string | no | Number of the sales arrangement this order belongs to. |
salesArrangementId |
string | no | Id of that sales arrangement (a UUID) — the form a write action accepts. |
paymentTermId |
string | no | Id of the payment term (a UUID). paymentTerm carries its code; this is the form a write action accepts. |
opportunityId |
string | no | Identifier of the opportunity this order came from, as issued by the CRM — not an id from this API. |
opportunityName |
string | no | Name of that CRM opportunity. |
dataSource |
string | no | System the order originated in when it was integrated rather than entered here, e.g. 'Salesforce'. |
priceBookId |
string | no | Id of the price book this order's prices were taken from (a UUID). |
priceBookName |
string | no | Name of that price book, denormalised onto the order. |
externalizedInvoicing |
boolean | no | True when invoicing for this order happens in another system, so no invoices are generated from it here. |
customer |
object | yes | Customer denormalised from the linked Customer record (key fields only). Fetch the full record from GET accounting/customers/:id. |
customer.id |
string | yes | Id of the customer (a UUID). |
customer.customerNumber |
string | no | System-assigned customer reference number. |
customer.name |
string | yes | Legal or business name of the customer. |
customer.invoiceEmail |
string | no | Email that receives invoices for this customer. |
customer.mainEmail |
string | no | Primary business contact email for the customer. |
customer.segment |
string | no | Market-segment classification. One of 'SMB', 'MidMarket', 'Enterprise'. |
customer.taxExempt |
boolean | no | True if the customer is exempt from tax on all transactions. |
entityId |
string | yes | Id of the legal entity that owns this sales order (a UUID). |
entityName |
string | no | Name of the owning legal entity. |
entityNumber |
string | yes | System-assigned number of the legal entity that owns this order. |
soldToAddress |
object | yes | Sold-to address used for tax determination on this order. |
soldToAddress.addressId |
string | no | Id of the address record (a UUID), when one is stored. |
soldToAddress.line1 |
string | yes | Street address line 1: number, street name, or PO box. |
soldToAddress.line2 |
string | no | Apartment, suite, unit, building, floor, etc. |
soldToAddress.city |
string | yes | City or locality. |
soldToAddress.stateProvince |
string | no | State, province, or region. |
soldToAddress.country |
string | yes | Country name or ISO 3166-1 country code. |
soldToAddress.zipCode |
string | yes | Postal code or ZIP code as required by the country postal system. |
billToAddress |
object | yes | Bill-to address where invoices from this order are sent. |
billToAddress.addressId |
string | no | Id of the address record (a UUID), when one is stored. |
billToAddress.line1 |
string | yes | Street address line 1: number, street name, or PO box. |
billToAddress.line2 |
string | no | Apartment, suite, unit, building, floor, etc. |
billToAddress.city |
string | yes | City or locality. |
billToAddress.stateProvince |
string | no | State, province, or region. |
billToAddress.country |
string | yes | Country name or ISO 3166-1 country code. |
billToAddress.zipCode |
string | yes | Postal code or ZIP code as required by the country postal system. |
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. |
subscriptions[].id |
string | no | Id of the subscription (a UUID). Absent when the line records only a subscription number. |
subscriptions[].subscriptionNumber |
string (decimal) | no | System-assigned subscription number. |
subscriptions[].externalSubscriptionId |
string | no | The subscribing system's own id for this subscription, when the order was integrated from one. |
subscriptions[].termType |
string | no | Whether the subscription runs to a fixed end date or renews indefinitely. One of 'termed', 'evergreen'. |
subscriptions[].autoRenew |
boolean | no | True when the subscription renews automatically at the end of its term. |
subscriptions[].serviceStartDate |
string (date) | no | First date the subscription delivers service (YYYY-MM-DD). |
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. |
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. |
subscriptions[].products[].productCode |
string | yes | Company-specific code of the product. |
subscriptions[].products[].productId |
string | yes | Id of the product (a UUID). |
subscriptions[].products[].productLineId |
string | yes | Id of the product line under the product (a UUID). |
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. |
subscriptions[].products[].salesOrderProductLineId |
string | no | Id of this sales-order line (a UUID). |
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. |
subscriptions[].products[].listPrice |
string (decimal) | no | Per-unit list price before discounts. |
subscriptions[].products[].unitPrice |
string (decimal) | no | Per-unit price after discounts. Equals listPrice − discountAmount, or listPrice * (1 − discountPercentage/100). |
subscriptions[].products[].totalPrice |
string (decimal) | no | Total price for this line (unitPrice * quantity). |
subscriptions[].products[].discountAmount |
string (decimal) | no | Per-unit discount in the order currency. |
subscriptions[].products[].discountPercentage |
string (decimal) | no | Per-unit discount as a percentage (e.g. 10 for 10%). |
subscriptions[].products[].invoiceFrequency |
string | no | How often invoices are generated for this line, e.g. monthly, quarterly, annually. |
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'. |
subscriptions[].products[].lineInvoiceDay |
string | no | Which day of the period the invoice is dated, e.g. 'firstDayOfMonth', 'specificDay', 'serviceStartDate'. |
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. |
subscriptions[].products[].unitOfMeasure |
string | no | Unit the quantity is counted in, e.g. 'each', 'user', 'gigabyte'. |
subscriptions[].products[].pricingTerm |
string | no | Period the unit price is quoted for, e.g. 'monthly', 'annual' — the basis prices are normalised to before invoicing. |
subscriptions[].products[].serviceStartDate |
string (date) | no | First date services for this product are delivered (YYYY-MM-DD). Defaults to the order-level serviceStartDate. |
subscriptions[].products[].serviceEndDate |
string (date) | no | Last date services for this product are delivered (YYYY-MM-DD). Defaults to the order-level serviceEndDate. |
subscriptions[].products[].externalIdentifiers |
array of object | yes | External identifiers recorded against this line, one per configured field. Empty when none are. |
subscriptions[].products[].externalIdentifiers[].fieldName |
string | yes | Configured field the identifier belongs to, e.g. 'salesforceLineId'. |
subscriptions[].products[].externalIdentifiers[].value |
string | yes | The identifier's value in that external system. |
subscriptions[].products[].externalIdentifiers[].externalUrl |
string | no | Deep link to the record in that system, when the configuration defines one. |
subscriptions[].products[].overage |
object | no | Overage pricing for usage above the line's allowance. Present only when the product line has an allowance configured. |
subscriptions[].products[].overage.listPrice |
string (decimal) | no | Per-unit list price for overage usage. |
subscriptions[].products[].overage.unitPrice |
string (decimal) | no | Per-unit price for overage usage after discounts. |
subscriptions[].products[].overage.discountAmount |
string (decimal) | no | Per-unit overage discount in the order currency. |
subscriptions[].products[].overage.discountPercentage |
string (decimal) | no | Per-unit overage discount as a percentage. |
subscriptions[].products[].rateCardEntries |
array of object | no | Rate-card rows for this line. Present when the product line uses rate-card pricing. |
subscriptions[].products[].rateCardEntries[].id |
string | yes | Id of this rate-card entry (a UUID). |
subscriptions[].products[].rateCardEntries[].identifier |
string | no | BillableComponent identifier this rate-card row meters. |
subscriptions[].products[].rateCardEntries[].label |
string | no | Free-text label for this rate-card row, used as an additional discriminator alongside the identifier. |
subscriptions[].products[].rateCardEntries[].unitOfMeasure |
string | yes | Unit in which this rate-card row is priced. |
subscriptions[].products[].rateCardEntries[].unitPrice |
string (decimal) | yes | Per-unit rate negotiated for this order. |
subscriptions[].products[].rateCardEntries[].currency |
string | yes | ISO 4217 currency code for this rate-card row. |
subscriptions[].products[].tiers |
array of object | no | Pricing tiers for this product line. Present only for tiered, volume or stairstep price models. |
subscriptions[].products[].tiers[].fromQuantity |
string (decimal) | yes | Lower bound of the quantity range (inclusive). |
subscriptions[].products[].tiers[].toQuantity |
string (decimal) | no | Upper bound of the quantity range (inclusive). Absent on an open-ended last tier. |
subscriptions[].products[].tiers[].unitPrice |
string (decimal) | yes | Per-unit price for quantities in this tier. |
subscriptions[].products[].tiers[].listPrice |
string (decimal) | no | Per-unit list price before discount. |
subscriptions[].products[].tiers[].priceModel |
string | no | Per-tier price model. One of 'flat', 'perUnit'. |
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. |
subscriptions[].products[].tags[].dimension |
string | yes | Tag dimension name, e.g. 'Department', 'Project'. |
subscriptions[].products[].tags[].value |
string | yes | Value within the dimension, e.g. 'Engineering', 'Alpha-2026'. |
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. |
subscriptions[].products[].items[].id |
string | yes | Id of this SalesOrderProductItem junction record (a UUID). |
subscriptions[].products[].items[].itemId |
string | no | Id of the linked inventory item (a UUID). Absent when the record has no item set. |
subscriptions[].products[].items[].itemCode |
string | no | Item code from ItemMaster. |
subscriptions[].products[].items[].itemName |
string | no | Item name from ItemMaster. |
subscriptions[].products[].items[].productName |
string | no | Product name denormalised from the parent SalesOrderProduct. |
subscriptions[].products[].items[].itemOrdered |
string (decimal) | yes | Ordered quantity for this item, after explosion: line quantity x product-item quantity. |
subscriptions[].products[].items[].totalShipped |
string (decimal) | no | Sum of shipped quantity across all linked SalesOrderShipmentItems. |
subscriptions[].products[].rampDeal |
object | no | Ramp-deal definition. Present only when the product is a ramp deal; ramps echo the persisted SalesOrderProductLine records. |
subscriptions[].products[].rampDeal.interval |
string | yes | Ramp interval mode. One of 'annually', 'specificDates'. |
subscriptions[].products[].rampDeal.invoiceTiming |
string | yes | Ramp invoice timing. One of 'perInterval', 'allAtOnce'. |
subscriptions[].products[].rampDeal.ramps |
array of object | yes | Persisted ramps, ordered by start date. At least two. |
subscriptions[].products[].rampDeal.ramps[].serviceStartDate |
string (date) | yes | First date this ramp's services are delivered (YYYY-MM-DD). |
subscriptions[].products[].rampDeal.ramps[].serviceEndDate |
string (date) | yes | Last date this ramp's services are delivered (YYYY-MM-DD). |
subscriptions[].products[].rampDeal.ramps[].quantity |
string (decimal) | yes | Quantity for this ramp period. |
subscriptions[].products[].rampDeal.ramps[].listPrice |
string (decimal) | no | Per-unit list price for this ramp before discount. |
subscriptions[].products[].rampDeal.ramps[].unitPrice |
string (decimal) | no | Per-unit price for this ramp after discount. |
subscriptions[].products[].rampDeal.ramps[].invoiceFrequency |
string | no | How often this ramp is invoiced. |
subscriptions[].products[].prepaidConfiguration |
object | no | Prepaid balance details for this product. Absent when the product is not configured as prepaid. |
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). |
subscriptions[].products[].prepaidConfiguration.rolloverAtRenewal |
boolean | yes | Whether any unused balance carries forward when the subscription renews. |
subscriptions[].products[].prepaidConfiguration.balance |
string (decimal) | no | Remaining prepaid quantity for this product. Decreases as consumption is applied. |
subscriptions[].products[].prepaidConfiguration.consumedAmount |
string (decimal) | no | Total quantity consumed from the prepaid balance to date. |
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. |
nonSubscriptionProducts[].productCode |
string | yes | Company-specific code of the product. |
nonSubscriptionProducts[].productId |
string | yes | Id of the product (a UUID). |
nonSubscriptionProducts[].productLineId |
string | yes | Id of the product line under the product (a UUID). |
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. |
nonSubscriptionProducts[].salesOrderProductLineId |
string | no | Id of this sales-order line (a UUID). |
nonSubscriptionProducts[].quantity |
string (decimal) | yes | Quantity of the product on this line. For ramp deals the per-period quantity is on each ramp instead. |
nonSubscriptionProducts[].listPrice |
string (decimal) | no | Per-unit list price before discounts. |
nonSubscriptionProducts[].unitPrice |
string (decimal) | no | Per-unit price after discounts. Equals listPrice − discountAmount, or listPrice * (1 − discountPercentage/100). |
nonSubscriptionProducts[].totalPrice |
string (decimal) | no | Total price for this line (unitPrice * quantity). |
nonSubscriptionProducts[].discountAmount |
string (decimal) | no | Per-unit discount in the order currency. |
nonSubscriptionProducts[].discountPercentage |
string (decimal) | no | Per-unit discount as a percentage (e.g. 10 for 10%). |
nonSubscriptionProducts[].invoiceFrequency |
string | no | How often invoices are generated for this line, e.g. monthly, quarterly, annually. |
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'. |
nonSubscriptionProducts[].lineInvoiceDay |
string | no | Which day of the period the invoice is dated, e.g. 'firstDayOfMonth', 'specificDay', 'serviceStartDate'. |
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. |
nonSubscriptionProducts[].unitOfMeasure |
string | no | Unit the quantity is counted in, e.g. 'each', 'user', 'gigabyte'. |
nonSubscriptionProducts[].pricingTerm |
string | no | Period the unit price is quoted for, e.g. 'monthly', 'annual' — the basis prices are normalised to before invoicing. |
nonSubscriptionProducts[].serviceStartDate |
string (date) | no | First date services for this product are delivered (YYYY-MM-DD). Defaults to the order-level serviceStartDate. |
nonSubscriptionProducts[].serviceEndDate |
string (date) | no | Last date services for this product are delivered (YYYY-MM-DD). Defaults to the order-level serviceEndDate. |
nonSubscriptionProducts[].externalIdentifiers |
array of object | yes | External identifiers recorded against this line, one per configured field. Empty when none are. |
nonSubscriptionProducts[].externalIdentifiers[].fieldName |
string | yes | Configured field the identifier belongs to, e.g. 'salesforceLineId'. |
nonSubscriptionProducts[].externalIdentifiers[].value |
string | yes | The identifier's value in that external system. |
nonSubscriptionProducts[].externalIdentifiers[].externalUrl |
string | no | Deep link to the record in that system, when the configuration defines one. |
nonSubscriptionProducts[].overage |
object | no | Overage pricing for usage above the line's allowance. Present only when the product line has an allowance configured. |
nonSubscriptionProducts[].overage.listPrice |
string (decimal) | no | Per-unit list price for overage usage. |
nonSubscriptionProducts[].overage.unitPrice |
string (decimal) | no | Per-unit price for overage usage after discounts. |
nonSubscriptionProducts[].overage.discountAmount |
string (decimal) | no | Per-unit overage discount in the order currency. |
nonSubscriptionProducts[].overage.discountPercentage |
string (decimal) | no | Per-unit overage discount as a percentage. |
nonSubscriptionProducts[].rateCardEntries |
array of object | no | Rate-card rows for this line. Present when the product line uses rate-card pricing. |
nonSubscriptionProducts[].rateCardEntries[].id |
string | yes | Id of this rate-card entry (a UUID). |
nonSubscriptionProducts[].rateCardEntries[].identifier |
string | no | BillableComponent identifier this rate-card row meters. |
nonSubscriptionProducts[].rateCardEntries[].label |
string | no | Free-text label for this rate-card row, used as an additional discriminator alongside the identifier. |
nonSubscriptionProducts[].rateCardEntries[].unitOfMeasure |
string | yes | Unit in which this rate-card row is priced. |
nonSubscriptionProducts[].rateCardEntries[].unitPrice |
string (decimal) | yes | Per-unit rate negotiated for this order. |
nonSubscriptionProducts[].rateCardEntries[].currency |
string | yes | ISO 4217 currency code for this rate-card row. |
nonSubscriptionProducts[].tiers |
array of object | no | Pricing tiers for this product line. Present only for tiered, volume or stairstep price models. |
nonSubscriptionProducts[].tiers[].fromQuantity |
string (decimal) | yes | Lower bound of the quantity range (inclusive). |
nonSubscriptionProducts[].tiers[].toQuantity |
string (decimal) | no | Upper bound of the quantity range (inclusive). Absent on an open-ended last tier. |
nonSubscriptionProducts[].tiers[].unitPrice |
string (decimal) | yes | Per-unit price for quantities in this tier. |
nonSubscriptionProducts[].tiers[].listPrice |
string (decimal) | no | Per-unit list price before discount. |
nonSubscriptionProducts[].tiers[].priceModel |
string | no | Per-tier price model. One of 'flat', 'perUnit'. |
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. |
nonSubscriptionProducts[].tags[].dimension |
string | yes | Tag dimension name, e.g. 'Department', 'Project'. |
nonSubscriptionProducts[].tags[].value |
string | yes | Value within the dimension, e.g. 'Engineering', 'Alpha-2026'. |
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. |
nonSubscriptionProducts[].items[].id |
string | yes | Id of this SalesOrderProductItem junction record (a UUID). |
nonSubscriptionProducts[].items[].itemId |
string | no | Id of the linked inventory item (a UUID). Absent when the record has no item set. |
nonSubscriptionProducts[].items[].itemCode |
string | no | Item code from ItemMaster. |
nonSubscriptionProducts[].items[].itemName |
string | no | Item name from ItemMaster. |
nonSubscriptionProducts[].items[].productName |
string | no | Product name denormalised from the parent SalesOrderProduct. |
nonSubscriptionProducts[].items[].itemOrdered |
string (decimal) | yes | Ordered quantity for this item, after explosion: line quantity x product-item quantity. |
nonSubscriptionProducts[].items[].totalShipped |
string (decimal) | no | Sum of shipped quantity across all linked SalesOrderShipmentItems. |
nonSubscriptionProducts[].rampDeal |
object | no | Ramp-deal definition. Present only when the product is a ramp deal; ramps echo the persisted SalesOrderProductLine records. |
nonSubscriptionProducts[].rampDeal.interval |
string | yes | Ramp interval mode. One of 'annually', 'specificDates'. |
nonSubscriptionProducts[].rampDeal.invoiceTiming |
string | yes | Ramp invoice timing. One of 'perInterval', 'allAtOnce'. |
nonSubscriptionProducts[].rampDeal.ramps |
array of object | yes | Persisted ramps, ordered by start date. At least two. |
nonSubscriptionProducts[].rampDeal.ramps[].serviceStartDate |
string (date) | yes | First date this ramp's services are delivered (YYYY-MM-DD). |
nonSubscriptionProducts[].rampDeal.ramps[].serviceEndDate |
string (date) | yes | Last date this ramp's services are delivered (YYYY-MM-DD). |
nonSubscriptionProducts[].rampDeal.ramps[].quantity |
string (decimal) | yes | Quantity for this ramp period. |
nonSubscriptionProducts[].rampDeal.ramps[].listPrice |
string (decimal) | no | Per-unit list price for this ramp before discount. |
nonSubscriptionProducts[].rampDeal.ramps[].unitPrice |
string (decimal) | no | Per-unit price for this ramp after discount. |
nonSubscriptionProducts[].rampDeal.ramps[].invoiceFrequency |
string | no | How often this ramp is invoiced. |
nonSubscriptionProducts[].prepaidConfiguration |
object | no | Prepaid balance details for this product. Absent when the product is not configured as prepaid. |
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). |
nonSubscriptionProducts[].prepaidConfiguration.rolloverAtRenewal |
boolean | yes | Whether any unused balance carries forward when the subscription renews. |
nonSubscriptionProducts[].prepaidConfiguration.balance |
string (decimal) | no | Remaining prepaid quantity for this product. Decreases as consumption is applied. |
nonSubscriptionProducts[].prepaidConfiguration.consumedAmount |
string (decimal) | no | Total quantity consumed from the prepaid balance to date. |
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. |
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. |
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. |
externalIdentifiers[].value |
string | yes | The identifier as the source system holds it. |
externalIdentifiers[].externalUrl |
string | no | Absolute http(s) link to the object in the originating system, when one is stored. |
Errors
| Code | Status |
|---|---|
NOT_FOUND |
400 |
Statuses
400— Invalid request or business failure. Codes: NOT_FOUND401— Missing or invalid access token403— Not authorized404— Not found429— Too many requests500— Internal server error