Place Order
Creates a new order with product, customer, and shipping details.
POST
/api/v1/device-hub/place-orderDescription
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
| Header | Value | Required |
|---|---|---|
| Content-Type | application/json | Yes |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
| items | array | Yes | List of products to order |
| items[].product_title | string | Yes | Exact product title from inventory |
| items[].quantity | integer | Yes | Quantity to order |
| string | Yes | Customer email address | |
| firstname | string | Yes | Customer first name |
| lastname | string | Yes | Customer last name |
| shipping_address | string | Yes | Street address for delivery |
| shipping_city | string | Yes | City for delivery |
| shipping_state | string | Yes | State/Province (if applicable) |
| shipping_zip | string | Yes | Postal/ZIP code |
| shipping_country | string | Yes | Country code (ISO2, e.g., US) |
| phone_number | string | Yes | Contact number of the recipient |
| expedite_shipping | string / null | No | Shipping method (e.g., "2nd Day Air", "Overnight"). Must match warehouse options. |
| is_signature_required | boolean | No | Whether delivery signature is required (US and CA only) |
Response Fields
| Field | Type | Description |
|---|---|---|
| message | string | Confirmation message |
| data.order_number | string | Unique order number |
| data.products | array | Ordered products with details |
| data.products[].name | string | Product name |
| data.products[].qty | integer | Quantity ordered |
| data.products[].price | number | Unit price |
| data.products[].image | string | URL to product image |
Error Responses
Common error responses you may encounter when using this endpoint.
Notes
- The product_title 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
- The order_number can be used to track the order status
- Ensure the shipping_country uses ISO2 country codes (e.g., US, CA, GB)
Related Endpoints
Did this page help you?
Request
curl --location 'https://dev-api.unduit.com/api/v1/device-hub/place-order' \
--header 'Content-Type: application/json' \
--data-raw '{
"items": [
{
"product_title": "Dell OptiPlex 7010 Micro",
"quantity": 1
}
],
"email": "test@test.com",
"firstname": "John",
"lastname": "Doe",
"shipping_address": "123 Main St",
"shipping_city": "Chicago",
"shipping_state": "IL",
"shipping_zip": "60601",
"shipping_country": "US",
"phone_number": "+1-555-0123",
"expedite_shipping": "2nd Day Air"
}'Success Response (200)
{
"message": "Thank you for placing the order",
"data": {
"order_number": "725491327",
"products": [
{
"name": "Dell OptiPlex 7010 Micro",
"qty": 1,
"price": 479.99,
"image": "https://example.com/images/dell-optiplex-7010.png"
}
]
}
}Error Responses
400 Bad Request
{
"message": "Invalid request parameters"
}401 Unauthorized
{
"message": "Authentication token is missing or invalid"
}422 Unprocessable Entity
{
"message": "Validation failed: quantity must be greater than 0"
}409 Conflict
{
"message": "Insufficient inventory for requested items"
}