Skip to main content

Orders

Unified order management

All endpoints require a bearer token (oh_... API key or user JWT) and are served under https://api.orderly-hub.com. Use the Try it consoles to run a request against the Preview (test) server.

The order object

Every source platform is normalized to the same order shape. Nested objects use the following fields consistently across list, create, and detail responses.

customer

FieldTypeDescription
idstringCustomer identifier from the source platform
emailstringCustomer email address
firstNamestringFirst name
lastNamestringLast name
phonestringPhone number

shippingAddress and billingAddress

FieldTypeDescription
namestringFull recipient name
companystringCompany name
address1stringAddress line 1
address2stringAddress line 2
citystringCity
provincestringState or province
provinceCodestringState or province code
zipstringPostal code
countrystringCountry name
countryCodestringTwo-letter country code
phonestringRecipient phone
emailstringRecipient email

lineItems[]

FieldTypeDescription
idstringOrderly line-item identifier
externalIdstringSource-platform line-item identifier
skustringStock keeping unit
namestringProduct or line title
quantitynumberUnits ordered
unitPricenumberPer-unit price in the order currency
totalPricenumberExtended line total
weightnumberUnit weight
weightUnitstringoz, lb, g, or kg
variantTitlestringVariant title
productIdstringSource product identifier
variantIdstringSource variant identifier
requiresShippingbooleanWhether the item ships physically
taxablebooleanWhether the item is taxable
propertiesobjectCustomer-defined SKU fields; keys are preserved exactly

totals

FieldTypeDescription
subtotalnumberMerchandise subtotal
shippingnumberShipping amount
taxnumberTax amount
discountnumberDiscount amount
totalnumberFinal order total

All totals use the order's currency.

metadata

FieldTypeDescription
customobjectCustom nested fields; keys are preserved exactly

Use metadata.custom for custom order data in Orders API requests and responses.

List orders

GET/api/v1/orders

Parameters

NameInRequiredTypeDescription
pagequerynointeger
limitquerynointegerNumber of orders per page, from 1 to 500
statusquerynostring
bridgeIdquerynostring
searchquerynostringSearch by order number or external ID
includequerynostringComma-separated: bridge, dispatch_assignments

Responses

200 Paginated order list

Order[] object:

FieldTypeDescription
idstring
organizationIdstring
bridgeIdstring
externalIdstring
orderNumberstring
statusstring
paymentStatusstring
fulfillmentStatusstring
customerCustomer
shippingAddressAddress
billingAddressAddress
lineItemsLineItem[]
totalsOrderTotals
currencystring
tagsarray
notestring
metadataOrderMetadataCustom order data stored under metadata.custom.
sourceDataobject
orderedAtstring
createdAtstring
updatedAtstring
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"organizationId": "550e8400-e29b-41d4-a716-446655440000",
"bridgeId": "550e8400-e29b-41d4-a716-446655440000",
"externalId": "550e8400-e29b-41d4-a716-446655440000",
"orderNumber": "string",
"status": "pending",
"paymentStatus": "pending",
"fulfillmentStatus": "pending",
"customer": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "jane@example.com",
"firstName": "string",
"lastName": "string",
"phone": "string"
},
"shippingAddress": {
"name": "Jane Doe",
"company": "string",
"address1": "string",
"address2": "string",
"city": "string",
"province": "string",
"provinceCode": "string",
"zip": "94107",
"country": "string",
"countryCode": "string",
"phone": "string",
"email": "jane@example.com"
},
"billingAddress": {
"name": "Jane Doe",
"company": "string",
"address1": "string",
"address2": "string",
"city": "string",
"province": "string",
"provinceCode": "string",
"zip": "94107",
"country": "string",
"countryCode": "string",
"phone": "string",
"email": "jane@example.com"
},
"lineItems": [
{
"id": null,
"externalId": null,
"sku": null,
"name": null,
"quantity": null,
"unitPrice": null,
"totalPrice": null,
"weight": null,
"weightUnit": null,
"variantTitle": null,
"productId": null,
"variantId": null,
"requiresShipping": null,
"taxable": null,
"properties": null
}
],
"totals": {
"subtotal": 49.99,
"shipping": 0,
"tax": 0,
"discount": 0,
"total": 49.99
},
"currency": "USD",
"tags": [
"string"
],
"note": "string",
"metadata": {
"custom": {}
},
"sourceData": {},
"orderedAt": "2026-07-23T12:00:00Z",
"createdAt": "2026-07-23T12:00:00Z",
"updatedAt": "2026-07-23T12:00:00Z"
}
],
"pagination": {
"page": 0,
"limit": 0,
"total": 49.99,
"totalPages": 0,
"hasMore": true
}
}
GET/api/v1/orders

List orders

https://api-test.orderly-hub.com/api/v1/orders

Create an order

POST/api/v1/orders

Request body

FieldTypeDescription
bridgeIdstring
externalIdstring
orderNumberstring
statusstring
paymentStatusstring
fulfillmentStatusstring
customerCustomer
shippingAddressAddress
billingAddressAddress
lineItemsLineItem[]
totalsOrderTotals
currencystring
tagsarray
notestring
metadataOrderMetadataCustom order data stored under metadata.custom.
sourceDataobject
orderedAtstring
{
"bridgeId": "550e8400-e29b-41d4-a716-446655440000",
"externalId": "550e8400-e29b-41d4-a716-446655440000",
"orderNumber": "string",
"status": "pending",
"paymentStatus": "pending",
"fulfillmentStatus": "pending",
"customer": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "jane@example.com",
"firstName": "string",
"lastName": "string",
"phone": "string"
},
"shippingAddress": {
"name": "Jane Doe",
"company": "string",
"address1": "string",
"address2": "string",
"city": "string",
"province": "string",
"provinceCode": "string",
"zip": "94107",
"country": "string",
"countryCode": "string",
"phone": "string",
"email": "jane@example.com"
},
"billingAddress": {
"name": "Jane Doe",
"company": "string",
"address1": "string",
"address2": "string",
"city": "string",
"province": "string",
"provinceCode": "string",
"zip": "94107",
"country": "string",
"countryCode": "string",
"phone": "string",
"email": "jane@example.com"
},
"lineItems": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"externalId": "550e8400-e29b-41d4-a716-446655440000",
"sku": "string",
"name": "Jane Doe",
"quantity": 0,
"unitPrice": 0,
"totalPrice": 0,
"weight": 0,
"weightUnit": "oz",
"variantTitle": "string",
"productId": "550e8400-e29b-41d4-a716-446655440000",
"variantId": "550e8400-e29b-41d4-a716-446655440000",
"requiresShipping": true,
"taxable": true,
"properties": {}
}
],
"totals": {
"subtotal": 49.99,
"shipping": 0,
"tax": 0,
"discount": 0,
"total": 49.99
},
"currency": "USD",
"tags": [
"string"
],
"note": "string",
"metadata": {
"custom": {}
},
"sourceData": {},
"orderedAt": "2026-07-23T12:00:00Z"
}

Responses

201 Order created

Order object:

FieldTypeDescription
idstring
organizationIdstring
bridgeIdstring
externalIdstring
orderNumberstring
statusstring
paymentStatusstring
fulfillmentStatusstring
customerCustomer
shippingAddressAddress
billingAddressAddress
lineItemsLineItem[]
totalsOrderTotals
currencystring
tagsarray
notestring
metadataOrderMetadataCustom order data stored under metadata.custom.
sourceDataobject
orderedAtstring
createdAtstring
updatedAtstring
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"organizationId": "550e8400-e29b-41d4-a716-446655440000",
"bridgeId": "550e8400-e29b-41d4-a716-446655440000",
"externalId": "550e8400-e29b-41d4-a716-446655440000",
"orderNumber": "string",
"status": "pending",
"paymentStatus": "pending",
"fulfillmentStatus": "pending",
"customer": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "jane@example.com",
"firstName": "string",
"lastName": "string",
"phone": "string"
},
"shippingAddress": {
"name": "Jane Doe",
"company": "string",
"address1": "string",
"address2": "string",
"city": "string",
"province": "string",
"provinceCode": "string",
"zip": "94107",
"country": "string",
"countryCode": "string",
"phone": "string",
"email": "jane@example.com"
},
"billingAddress": {
"name": "Jane Doe",
"company": "string",
"address1": "string",
"address2": "string",
"city": "string",
"province": "string",
"provinceCode": "string",
"zip": "94107",
"country": "string",
"countryCode": "string",
"phone": "string",
"email": "jane@example.com"
},
"lineItems": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"externalId": "550e8400-e29b-41d4-a716-446655440000",
"sku": "string",
"name": "Jane Doe",
"quantity": 0,
"unitPrice": 0,
"totalPrice": 0,
"weight": 0,
"weightUnit": "oz",
"variantTitle": "string",
"productId": "550e8400-e29b-41d4-a716-446655440000",
"variantId": "550e8400-e29b-41d4-a716-446655440000",
"requiresShipping": true,
"taxable": true,
"properties": {}
}
],
"totals": {
"subtotal": 49.99,
"shipping": 0,
"tax": 0,
"discount": 0,
"total": 49.99
},
"currency": "USD",
"tags": [
"string"
],
"note": "string",
"metadata": {
"custom": {}
},
"sourceData": {},
"orderedAt": "2026-07-23T12:00:00Z",
"createdAt": "2026-07-23T12:00:00Z",
"updatedAt": "2026-07-23T12:00:00Z"
}
}

409 Duplicate external ID

POST/api/v1/orders

Create an order

https://api-test.orderly-hub.com/api/v1/orders

Get single order

GET/api/v1/orders/{id}

Parameters

NameInRequiredTypeDescription
idpathyesstring
includequerynostringComma-separated: bridge, dispatch_assignments

Responses

200 Order details

Order object:

FieldTypeDescription
idstring
organizationIdstring
bridgeIdstring
externalIdstring
orderNumberstring
statusstring
paymentStatusstring
fulfillmentStatusstring
customerCustomer
shippingAddressAddress
billingAddressAddress
lineItemsLineItem[]
totalsOrderTotals
currencystring
tagsarray
notestring
metadataOrderMetadataCustom order data stored under metadata.custom.
sourceDataobject
orderedAtstring
createdAtstring
updatedAtstring
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"organizationId": "550e8400-e29b-41d4-a716-446655440000",
"bridgeId": "550e8400-e29b-41d4-a716-446655440000",
"externalId": "550e8400-e29b-41d4-a716-446655440000",
"orderNumber": "string",
"status": "pending",
"paymentStatus": "pending",
"fulfillmentStatus": "pending",
"customer": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "jane@example.com",
"firstName": "string",
"lastName": "string",
"phone": "string"
},
"shippingAddress": {
"name": "Jane Doe",
"company": "string",
"address1": "string",
"address2": "string",
"city": "string",
"province": "string",
"provinceCode": "string",
"zip": "94107",
"country": "string",
"countryCode": "string",
"phone": "string",
"email": "jane@example.com"
},
"billingAddress": {
"name": "Jane Doe",
"company": "string",
"address1": "string",
"address2": "string",
"city": "string",
"province": "string",
"provinceCode": "string",
"zip": "94107",
"country": "string",
"countryCode": "string",
"phone": "string",
"email": "jane@example.com"
},
"lineItems": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"externalId": "550e8400-e29b-41d4-a716-446655440000",
"sku": "string",
"name": "Jane Doe",
"quantity": 0,
"unitPrice": 0,
"totalPrice": 0,
"weight": 0,
"weightUnit": "oz",
"variantTitle": "string",
"productId": "550e8400-e29b-41d4-a716-446655440000",
"variantId": "550e8400-e29b-41d4-a716-446655440000",
"requiresShipping": true,
"taxable": true,
"properties": {}
}
],
"totals": {
"subtotal": 49.99,
"shipping": 0,
"tax": 0,
"discount": 0,
"total": 49.99
},
"currency": "USD",
"tags": [
"string"
],
"note": "string",
"metadata": {
"custom": {}
},
"sourceData": {},
"orderedAt": "2026-07-23T12:00:00Z",
"createdAt": "2026-07-23T12:00:00Z",
"updatedAt": "2026-07-23T12:00:00Z"
}
}

404 Order not found

GET/api/v1/orders/{id}

Get single order

https://api-test.orderly-hub.com/api/v1/orders/

Update an order

PATCH/api/v1/orders/{id}

Parameters

NameInRequiredTypeDescription
idpathyesstring

Request body

FieldTypeDescription
statusstring
paymentStatusstring
fulfillmentStatusstring
tagsarray
notestring
metadataOrderMetadataCustom order data stored under metadata.custom.
{
"status": "pending",
"paymentStatus": "pending",
"fulfillmentStatus": "pending",
"tags": [
"string"
],
"note": "string",
"metadata": {
"custom": {}
}
}

Responses

200 Order updated

404 Order not found

PATCH/api/v1/orders/{id}

Update an order

https://api-test.orderly-hub.com/api/v1/orders/

Delete an order

DELETE/api/v1/orders/{id}

Parameters

NameInRequiredTypeDescription
idpathyesstring

Responses

200 Order deleted

DELETE/api/v1/orders/{id}

Delete an order

https://api-test.orderly-hub.com/api/v1/orders/

Get order activity feed

GET/api/v1/orders/{id}/activities

Parameters

NameInRequiredTypeDescription
idpathyesstring
limitquerynointeger
offsetquerynointeger

Responses

200 Activity list

404 Order not found

GET/api/v1/orders/{id}/activities

Get order activity feed

https://api-test.orderly-hub.com/api/v1/orders//activities

Add a note to an order

POST/api/v1/orders/{id}/notes

Parameters

NameInRequiredTypeDescription
idpathyesstring

Request body

FieldTypeDescription
notestring
{
"note": "string"
}

Responses

201 Note added

POST/api/v1/orders/{id}/notes

Add a note to an order

https://api-test.orderly-hub.com/api/v1/orders//notes