manhattan-associates Orders API
Order lifecycle and management
Documentation
Documentation
https://omni.developer.manh.com/
Documentation
https://supplychain.developer.manh.com/
Order lifecycle and management
openapi: 3.1.0
info:
title: Manhattan Active Omni Order Management Inbound Orders API
description: Manhattan Active Omni APIs enable omnichannel order management and fulfillment, including order promising, order orchestration, inventory availability, and customer service operations for retail and distribution.
version: 1.0.0
contact:
name: Manhattan Associates Developer Support
url: https://developer.manh.com/
license:
name: Proprietary
url: https://www.manh.com/terms-of-use
servers:
- url: https://api.developer.manh.com/omni/v1
description: Manhattan Active Omni REST API
security:
- OAuth2ClientCredentials: []
tags:
- name: Orders
description: Order lifecycle and management
paths:
/orders:
get:
operationId: listOrders
summary: List orders
description: Retrieve a paginated list of orders. Supports filtering by status, customer, channel, and date range.
tags:
- Orders
parameters:
- name: status
in: query
schema:
type: string
enum:
- created
- allocated
- released
- shipped
- delivered
- cancelled
- returned
- name: customerId
in: query
schema:
type: string
- name: channelId
in: query
schema:
type: string
- name: orderDateFrom
in: query
schema:
type: string
format: date-time
- name: orderDateTo
in: query
schema:
type: string
format: date-time
- name: limit
in: query
schema:
type: integer
default: 50
maximum: 500
- name: offset
in: query
schema:
type: integer
default: 0
responses:
'200':
description: List of orders
content:
application/json:
schema:
$ref: '#/components/schemas/OrderListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createOrder
summary: Create an order
description: Submit a new customer order for orchestration. The system performs inventory availability checking and assigns fulfillment nodes.
tags:
- Orders
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderCreateRequest'
responses:
'201':
description: Order created
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'400':
$ref: '#/components/responses/BadRequest'
'422':
description: Order validation failed (inventory, address, etc.)
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/orders/{orderId}:
get:
operationId: getOrder
summary: Get an order
description: Retrieve full details of an order including line items, fulfillment assignments, and shipments.
tags:
- Orders
parameters:
- name: orderId
in: path
required: true
schema:
type: string
responses:
'200':
description: Order details
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'404':
$ref: '#/components/responses/NotFound'
patch:
operationId: updateOrder
summary: Update an order
description: Modify an open order (add/remove lines, change quantities, update addresses).
tags:
- Orders
parameters:
- name: orderId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderUpdateRequest'
responses:
'200':
description: Order updated
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
/orders/{orderId}/cancel:
post:
operationId: cancelOrder
summary: Cancel an order
description: Cancel an order or specific order lines.
tags:
- Orders
parameters:
- name: orderId
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
reason:
type: string
lineIds:
type: array
items:
type: string
description: Specific line IDs to cancel (omit to cancel entire order)
responses:
'200':
description: Cancellation processed
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
components:
schemas:
OrderTotals:
type: object
properties:
subtotal:
type: number
taxTotal:
type: number
shippingTotal:
type: number
discountTotal:
type: number
orderTotal:
type: number
currency:
type: string
default: USD
Fulfillment:
type: object
properties:
fulfillmentId:
type: string
type:
type: string
enum:
- ship_from_store
- ship_from_dc
- in_store_pickup
- curbside_pickup
nodeId:
type: string
nodeName:
type: string
status:
type: string
trackingNumber:
type: string
carrier:
type: string
estimatedDeliveryDate:
type: string
format: date
shippedAt:
type: string
format: date-time
Address:
type: object
required:
- street1
- city
- state
- postalCode
- country
properties:
firstName:
type: string
lastName:
type: string
street1:
type: string
street2:
type: string
city:
type: string
state:
type: string
postalCode:
type: string
country:
type: string
phone:
type: string
Order:
type: object
properties:
orderId:
type: string
externalOrderId:
type: string
description: Customer or channel order number
status:
type: string
enum:
- created
- allocated
- released
- shipped
- delivered
- cancelled
- returned
channelId:
type: string
customerId:
type: string
orderDate:
type: string
format: date-time
requiredDeliveryDate:
type: string
format: date
shippingAddress:
$ref: '#/components/schemas/Address'
lines:
type: array
items:
$ref: '#/components/schemas/OrderLine'
totals:
$ref: '#/components/schemas/OrderTotals'
fulfillments:
type: array
items:
$ref: '#/components/schemas/Fulfillment'
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
OrderCreateRequest:
type: object
required:
- channelId
- customerId
- shippingAddress
- lines
properties:
externalOrderId:
type: string
channelId:
type: string
customerId:
type: string
orderDate:
type: string
format: date-time
requiredDeliveryDate:
type: string
format: date
shippingAddress:
$ref: '#/components/schemas/Address'
lines:
type: array
minItems: 1
items:
$ref: '#/components/schemas/OrderLineRequest'
shippingMethod:
type: string
OrderLine:
type: object
properties:
lineId:
type: string
externalLineId:
type: string
itemId:
type: string
sku:
type: string
description:
type: string
quantity:
type: number
unitPrice:
type: number
status:
type: string
enum:
- open
- allocated
- released
- shipped
- delivered
- cancelled
fulfillmentNodeId:
type: string
ErrorResponse:
type: object
properties:
code:
type: string
message:
type: string
details:
type: array
items:
type: object
properties:
field:
type: string
message:
type: string
OrderLineRequest:
type: object
required:
- itemId
- quantity
properties:
externalLineId:
type: string
itemId:
type: string
sku:
type: string
quantity:
type: number
minimum: 1
unitPrice:
type: number
OrderListResponse:
type: object
properties:
orders:
type: array
items:
$ref: '#/components/schemas/Order'
totalCount:
type: integer
limit:
type: integer
offset:
type: integer
OrderUpdateRequest:
type: object
properties:
shippingAddress:
$ref: '#/components/schemas/Address'
requiredDeliveryDate:
type: string
format: date
addLines:
type: array
items:
$ref: '#/components/schemas/OrderLineRequest'
removeLineIds:
type: array
items:
type: string
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Unauthorized:
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Invalid request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
securitySchemes:
OAuth2ClientCredentials:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://auth.developer.manh.com/oauth2/token
scopes:
orders:read: Read order data
orders:write: Create and modify orders
inventory:read: Read inventory positions
externalDocs:
description: Manhattan Active Omni Developer Portal
url: https://omni.developer.manh.com/