Skip to main content

ACP Request Schemas

Use these request objects when submitting orders through the ACP API.

A complete request

Everything below is one nested object. This is a valid submission with only the required fields plus routing:
Use your own orderId as the Idempotency-Key. A retried submission then replays the original result instead of creating a duplicate order — which matters when an agent is doing the retrying.

AcpOrderRequest

Customer

Address

LineItem

RoutingConfig

All three routing booleans default to true. Omitting routing entirely sends the order to fulfillment, to the ERP, and into StateSet. Set the ones you don’t want to false explicitly — a test submission with no routing block is a real order downstream.
Set fulfillmentProvider to "auto" unless you have a reason to pin a provider; auto selects based on the shipping address and current inventory position.

Field notes

  • Money and weight are numbers, not strings. price is the unit price, not the line total — the line total is price × quantity.
  • quantity must be greater than zero, and lineItems must contain at least one item.
  • state and countryCode are codes, not names"CA" and "US", not "California" and "United States".
  • billingAddress defaults to shippingAddress. Only send it when they genuinely differ.
  • netsuiteId and netsuiteItemId are optional pass-throughs. Supply them when you already hold the NetSuite internal IDs and want to skip a lookup on the ERP side.
  • createdAt defaults to now. Set it when backfilling so ordering and SLAs stay accurate.