Place Order

Creates a new order with product, customer, and shipping details.

POST
/api/v1/device-hub/place-order

Description

Submit an order to deploy IT assets to employees. Specify the products, shipping method, and recipient details to create a new deployment order.

Request

Headers

HeaderValueRequired
AuthorizationBearer <token>Yes
Content-Typeapplication/jsonYes

Request Body

FieldTypeRequiredDescription
productsarrayYesList of products to order
products[].namestringYesExact product title from inventory
products[].quantityintegerYesQuantity to order
emailstringYesCustomer email address
firstnamestringYesCustomer first name
lastnamestringYesCustomer last name
shipping_addressstringYesStreet address for delivery
shipping_citystringYesCity for delivery
shipping_statestringYesState/Province (if applicable)
shipping_zipstringYesPostal/ZIP code
shipping_countrystringYesCountry code (ISO2, e.g., US)
phone_numberstringYesContact number of the recipient
expedite_shippingstring / nullNoShipping method (e.g., "2nd Day Air", "Overnight"). Must match warehouse options.
is_signature_requiredbooleanNoWhether delivery signature is required (US and CA only)
shipment_protection_enabledbooleanNoWhether to add shipment protection to the order. Defaults to false when omitted. Only supported for orders fulfilled from US, Canada, Germany, and UK warehouses.
shipment_protection_declared_valuenumberConditionalDeclared value used for shipment protection. Required and must be greater than 0 and not exceed 50,000 when shipment_protection_enabled is true. Ignored when shipment_protection_enabled is false.
tagobject / stringNoOptional accounting tags. May be a JSON object or JSON-encoded string.
tag.cost_center_codestringNoIf a cost center with this code does not exist for your company, a new cost center is created and linked to the order.
tag.departmentstringNoIf a department with this name does not exist for your company, a new department is created and linked to the order. Alias: tag.department_name.
tag.gl_codestringNoGL code. Max 50 characters.
tag.po_numberstringNoPO number. Max 50 characters.
tag.sitestringNoSite. Max 100 characters.
tag.custom_field_1stringNoCustom field 1. Max 255 characters.
tag.custom_field_2stringNoCustom field 2. Max 255 characters.

Response Fields

FieldTypeDescription
messagestringConfirmation message
data.order_numberstringUnique order number
data.productsarrayOrdered products with details
data.products[].namestringProduct name
data.products[].qtyintegerQuantity ordered
data.products[].pricenumberUnit price
data.products[].imagestringURL to product image

Notes

  • The products[].name value must exactly match the title returned from the Inventory List endpoint
  • If expedite_shipping is specified, it must match one of the shipping options from the warehouse
  • Valid shipping options: "UPS Ground", "2nd Day Air", "Overnight"
  • is_signature_required only applies to US and CA shipments
  • Shipment protection is only supported for orders fulfilled from US, Canada, Germany, and UK warehouses
  • When shipment_protection_enabled is true, shipment_protection_declared_value is required and must be greater than 0 and not exceed 50,000
  • When shipment_protection_enabled is false (or omitted), any shipment_protection_declared_value sent is ignored and no protection is stored
  • The order_number can be used to track the order status
  • Ensure the shipping_country uses ISO2 country codes (e.g., US, CA, GB)
  • The tag object is optional; when omitted, no order_tags row is created
  • If a cost center with tag.cost_center_code does not exist for your company, a new cost center is created and linked to the order
  • If a department with tag.department (or tag.department_name) does not exist for your company, a new department is created and linked to the order
  • Use GET /api/v1/departments to list existing department names, or pass a new name to create one

Related Endpoints

Did this page help you?