# Create a New Order Submit a new customer order with product line items and shipping details Endpoint: POST /orders Version: 1.0.1 Security: oauth2ClientCredentials ## Request fields (application/json): - `customer` (object, required) Customer information for the order - `customer.sourceId` (string, required) Unique customer identifier in your system Example: "1234567890" - `customer.firstName` (string, required) Customer's first name Example: "John" - `customer.lastName` (string, required) Customer's last name Example: "Doe" - `customer.email` (string) Customer's email address Example: "john.doe@example.com" - `customer.phone` (string) Customer's phone number Example: "1234567890" - `customer.address` (object, required) Physical address information - `customer.address.line1` (string, required) Primary address line Example: "437 Lytton" - `customer.address.line2` (string) Secondary address line (optional) Example: "Suite 100" - `customer.address.city` (string, required) City name Example: "Palo Alto" - `customer.address.state` (string, required) State or province code Example: "CA" - `customer.address.zip` (string, required) Postal/ZIP code Example: "94301" - `daysSupply` (integer, required) Number of days the order is intended to supply Enum: 30, 60, 90 - `lineItems` (array, required) Products included in the order - `lineItems.productId` (integer, required) Unique identifier of the product Example: 77123129891 - `lineItems.quantity` (integer, required) Quantity of the product Example: 2 - `lineItems.packDescription` (string, required) Description of the product packaging Example: "Whole Body Wellness" - `lineItems.administration` (object) Dosage schedule information - `lineItems.administration.morning` (integer, required) Morning dosage quantity Example: 1 - `lineItems.administration.afternoon` (integer, required) Afternoon dosage quantity - `lineItems.administration.evening` (integer, required) Evening dosage quantity Example: 1 - `lineItems.administration.sleep` (integer, required) Bedtime dosage quantity - `shippingMethod` (string, required) Shipping method for the order Enum: "STANDARD", "EXPRESS", "OVERNIGHT" - `orderType` (string, required) Type or order (this is currently only used for inventory forecasting by Juniper) Enum: "ONE_TIME", "SUBSCRIPTION" ## Response 201 fields (application/json): - `id` (string) Unique order identifier Example: "2vSGym0bH8qVEwCIGlyFoRgJq1A" - `discount` (string) Discount percentage applied to the order Example: "10%" - `daysSupply` (integer) Number of days the order is intended to supply Example: 30 - `orderType` (string) Order type (one-time or subscription) Enum: "ONE-TIME", "SUBSCRIPTION" - `shippingMethod` (string) Selected shipping method Enum: "STANDARD", "EXPRESS", "OVERNIGHT" - `status` (string) Current status of the order Enum: "CREATED", "CANCELLED", "PROCESSING", "FULFILLED", "AWAITING_SHIPMENT", "SHIPPED" - `fulfillmentInfo` (object) Details about the order fulfillment process - `fulfillmentInfo.carrier` (string) Shipping carrier name Example: "UPS" - `fulfillmentInfo.trackingNumber` (string) Shipping carrier tracking number Example: "1Z9999999999999999" - `lineItems` (array) Products included in the order - `lineItems.productId` (integer, required) Unique identifier of the product Example: 77123129891 - `lineItems.quantity` (integer, required) Quantity of the product Example: 2 - `lineItems.packDescription` (string, required) Description of the product packaging Example: "Whole Body Wellness" - `lineItems.price` (string) per pill price of product Example: "0.37" - `lineItems.discountedPrice` (string) per pill price of product with partner discount Example: "0.37" - `lineItems.administration` (object) Dosage schedule information - `lineItems.administration.morning` (integer, required) Morning dosage quantity Example: 1 - `lineItems.administration.afternoon` (integer, required) Afternoon dosage quantity - `lineItems.administration.evening` (integer, required) Evening dosage quantity Example: 1 - `lineItems.administration.sleep` (integer, required) Bedtime dosage quantity - `customer` (object) Customer information - `customer.sourceId` (string, required) Unique customer identifier in the partner system Example: "1234567890" - `customer.firstName` (string, required) Customer's first name Example: "John" - `customer.lastName` (string, required) Customer's last name Example: "Doe" - `customer.email` (string) Customer's email address Example: "john.doe@example.com" - `customer.phone` (string) Customer's phone number Example: "1234567890" - `customer.address` (object, required) Physical address information - `customer.address.line1` (string, required) Primary address line Example: "437 Lytton" - `customer.address.line2` (string) Secondary address line (optional) Example: "Suite 100" - `customer.address.city` (string, required) City name Example: "Palo Alto" - `customer.address.state` (string, required) State or province code Example: "CA" - `customer.address.zip` (string, required) Postal/ZIP code Example: "94301" - `subtotalPrice` (string) Order subtotal amount Example: "30.00" - `totalDiscount` (string) Order subtotal amount Example: "27.00" - `totalFees` (string) Total for handling fees on external products. Each external item has a $5 handling fee. Example: "5.00" - `totalShipping` (string) Shipping cost Example: "9.99" - `totalVolumeDiscount` (string) Additional discount as for purchasing a days supply over the specified volume discount limits. Example: "12.10" - `totalPrice` (string) Total order amount (subtotal + shipping) Example: "36.99" - `createdAt` (string) Order creation timestamp Example: "2023-10-01T12:00:00Z" - `updatedAt` (string) Order last update timestamp Example: "2023-10-01T12:00:00Z" ## Response 400 fields (application/json): - `detail` (string, required) Detailed error message explaining the bad request Example: "Invalid request parameters" ## Response 422 fields (application/json): - `detail` (array) List of specific validation errors - `detail.loc` (array, required) Location of the error in the request body - `detail.type` (string, required) Type of validation error Enum: "missing", "invalid", "type_error"