> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stateset.com/llms.txt
> Use this file to discover all available pages before exploring further.

# ACP Request Schemas

> Request objects for ACP order submission.

# ACP Request Schemas

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

## AcpOrderRequest

| Field             | Type          | Required | Description                                |
| ----------------- | ------------- | -------- | ------------------------------------------ |
| `orderId`         | string        | Yes      | Unique order identifier from source system |
| `orderNumber`     | string        | Yes      | Display order number                       |
| `source`          | string        | No       | Source system (default: "agent")           |
| `customer`        | Customer      | Yes      | Customer information                       |
| `shippingAddress` | Address       | Yes      | Shipping destination                       |
| `billingAddress`  | Address       | No       | Billing address (defaults to shipping)     |
| `lineItems`       | LineItem\[]   | Yes      | Order line items (min 1)                   |
| `createdAt`       | datetime      | No       | Order timestamp (default: now)             |
| `tags`            | string\[]     | No       | Tags for categorization                    |
| `shippingMethod`  | string        | No       | Requested shipping method                  |
| `notes`           | string        | No       | Order notes/instructions                   |
| `routing`         | RoutingConfig | No       | Control where order is sent                |
| `metadata`        | object        | No       | Additional custom data                     |

## Customer

| Field        | Type   | Required | Description                   |
| ------------ | ------ | -------- | ----------------------------- |
| `id`         | string | No       | Customer ID in source system  |
| `email`      | string | Yes      | Customer email                |
| `firstName`  | string | Yes      | First name                    |
| `lastName`   | string | Yes      | Last name                     |
| `phone`      | string | No       | Phone number                  |
| `netsuiteId` | string | No       | NetSuite customer internal ID |

## Address

| Field         | Type   | Required | Description                        |
| ------------- | ------ | -------- | ---------------------------------- |
| `name`        | string | Yes      | Full name                          |
| `company`     | string | No       | Company name                       |
| `address1`    | string | Yes      | Street address line 1              |
| `address2`    | string | No       | Street address line 2              |
| `city`        | string | Yes      | City                               |
| `state`       | string | Yes      | State/province code                |
| `postalCode`  | string | Yes      | ZIP/postal code                    |
| `countryCode` | string | Yes      | 2-letter country code (e.g., "US") |
| `phone`       | string | No       | Phone number                       |

## LineItem

| Field            | Type   | Required | Description                   |
| ---------------- | ------ | -------- | ----------------------------- |
| `sku`            | string | Yes      | Product SKU                   |
| `title`          | string | Yes      | Product title                 |
| `quantity`       | number | Yes      | Quantity (must be > 0)        |
| `price`          | number | Yes      | Unit price                    |
| `variantId`      | string | No       | Variant ID from source system |
| `netsuiteItemId` | string | No       | NetSuite item internal ID     |
| `weight`         | number | No       | Weight in pounds              |

## RoutingConfig

| Field                 | Type    | Default | Description                     |
| --------------------- | ------- | ------- | ------------------------------- |
| `sendToFulfillment`   | boolean | true    | Send to DCL/Cart.com            |
| `sendToErp`           | boolean | true    | Send to NetSuite                |
| `createInStateset`    | boolean | true    | Create in StateSet              |
| `fulfillmentProvider` | string  | "auto"  | "dcl", "cart", or "auto"        |
| `dclLocation`         | string  | null    | Override DCL warehouse location |
