Purchase orders
Base URL: https://api.miridia.io. Read Authentication and Conventions before you call these operations.
| Method | Path | Operation |
|---|---|---|
| GET | /api/v1/purchase-orders | Get purchase orders |
| POST | /api/v1/purchase-orders | Create purchase order |
| GET | /api/v1/purchase-orders/{purchaseOrderId} | Get purchase order |
| PATCH | /api/v1/purchase-orders/{purchaseOrderId} | Patch purchase order |
| GET | /api/v1/purchase-orders/{purchaseOrderId}/traces | Get activity traces |
| POST | /api/v1/purchase-orders/{purchaseOrderId}/items | Add purchase order item |
| DELETE | /api/v1/purchase-orders/{purchaseOrderId}/items/{itemId} | Remove purchase order item |
| POST | /api/v1/purchase-orders/{purchaseOrderId}/shipments | Create purchase order shipment |
| POST | /api/v1/purchase-orders/{purchaseOrderId}/receipts | Receive purchase order |
Get purchase orders
GET/api/v1/purchase-orders
Access. Send a bearer token or an API key. The caller needs the PurchaseOrders view permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Page | query | integer (int32) | No | Limits: minimum 1. |
PageSize | query | integer (int32) | No | Limits: minimum 1, maximum 100. |
$orderby | query | string | No | Example: "created_at desc" or "name asc" |
$filter | query | string | No | Apply a ODATA style filter to the query to add a fixed constraint. For example, if you want to filter by the creation date, you would set the filter to "created_at ge 2022-01-01". Or if you want to filter by a specific status, you would set the filter to "status eq 'active'". |
$search | query | string | No | Provide a search value which would inherit the 'CONTAINS' behaviour. |
supplierId | query | string (uuid) | No | |
status | query | enum PurchaseOrderStatus | No | One of: Draft, Ordered, Confirmed, PartiallyReceived, Received, Closed, Cancelled. |
destinationLocationId | query | string (uuid) | No | |
fromDate | query | string (date-time) | No | |
toDate | query | string (date-time) | No |
Response
200. Returns a PagedResult envelope. Each item in data is PurchaseOrderResponse.
curl -X GET "https://api.miridia.io/api/v1/purchase-orders" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"count": 0,
"totalCount": 0,
"page": 0,
"finalPage": 0,
"pageSize": 0,
"hasMore": true,
"statusCode": "OK",
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"supplierId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"supplierTitle": "string",
"destinationLocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"destinationLocationTitle": "string",
"sourceTransferOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "Draft",
"currencyCode": "Eur",
"subTotal": 0,
"totalTax": 0,
"totalPrice": 0,
"expectedDeliveryDate": "2026-09-29T08:00:00Z",
"effectiveDate": "2026-09-29T08:00:00Z",
"dateOfReceiptCompletion": "2026-09-29T08:00:00Z",
"description": "string",
"notes": "string",
"items": [
{}
],
"shipments": [
{}
],
"dateCreated": "2026-09-29T08:00:00Z",
"dateModified": "2026-09-29T08:00:00Z"
}
],
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
]
}Create purchase order
POST/api/v1/purchase-orders
Access. Send a bearer token or an API key. The caller needs the PurchaseOrders modify permission.
Request body
Send JSON with the shape CreatePurchaseOrderCommand.
| Field | Type | Required | Description |
|---|---|---|---|
supplierId | string (uuid) | No | |
destinationLocationId | string (uuid) | No | |
sourceTransferOrderId | string (uuid) | No | Optional demand-source link. See sourceTransferOrderId. |
currencyCode | enum CurrencyCode | No | One of: Invalid, Eur, Usd, Gbp, Zar, Zmw. |
expectedDeliveryDate | string (date-time) | No | |
effectiveDate | string (date-time) | No | Order/placement date. Defaults to now when omitted. |
description | string | No | |
notes | string | No | |
items | CreatePurchaseOrderItemRequest[] | No |
Response
200. Returns a SingleResult envelope. The data field is PurchaseOrderResponse.
curl -X POST "https://api.miridia.io/api/v1/purchase-orders" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"supplierId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"destinationLocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"sourceTransferOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"currencyCode": "Eur",
"expectedDeliveryDate": "2026-09-29T08:00:00Z",
"effectiveDate": "2026-09-29T08:00:00Z",
"description": "string",
"notes": "string",
"items": [
{
"productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"quantityOrdered": 0,
"unitCost": 0,
"totalTax": 0
}
]
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"supplierId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"supplierTitle": "string",
"destinationLocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"destinationLocationTitle": "string",
"sourceTransferOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "Draft",
"currencyCode": "Eur",
"subTotal": 0,
"totalTax": 0,
"totalPrice": 0,
"expectedDeliveryDate": "2026-09-29T08:00:00Z",
"effectiveDate": "2026-09-29T08:00:00Z",
"dateOfReceiptCompletion": "2026-09-29T08:00:00Z",
"description": "string",
"notes": "string",
"items": [
{}
],
"shipments": [
{}
],
"dateCreated": "2026-09-29T08:00:00Z",
"dateModified": "2026-09-29T08:00:00Z"
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Get purchase order
GET/api/v1/purchase-orders/{purchaseOrderId}
Access. Send a bearer token or an API key. The caller needs the PurchaseOrders view permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
purchaseOrderId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is PurchaseOrderResponse.
curl -X GET "https://api.miridia.io/api/v1/purchase-orders/{purchaseOrderId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"supplierId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"supplierTitle": "string",
"destinationLocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"destinationLocationTitle": "string",
"sourceTransferOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "Draft",
"currencyCode": "Eur",
"subTotal": 0,
"totalTax": 0,
"totalPrice": 0,
"expectedDeliveryDate": "2026-09-29T08:00:00Z",
"effectiveDate": "2026-09-29T08:00:00Z",
"dateOfReceiptCompletion": "2026-09-29T08:00:00Z",
"description": "string",
"notes": "string",
"items": [
{}
],
"shipments": [
{}
],
"dateCreated": "2026-09-29T08:00:00Z",
"dateModified": "2026-09-29T08:00:00Z"
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Patch purchase order
PATCH/api/v1/purchase-orders/{purchaseOrderId}
Access. Send a bearer token or an API key. The caller needs the PurchaseOrders modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
purchaseOrderId | path | string (uuid) | Yes |
Request body
Send JSON with the shape PatchPurchaseOrderCommand. Partial update of a purchase order's header. Every field is nullable and only applied when non-null.
| Field | Type | Required | Description |
|---|---|---|---|
purchaseOrderId | string (uuid) | No | Bound from the route, not the body. |
supplierId | string (uuid) | No | |
destinationLocationId | string (uuid) | No | |
currencyCode | enum CurrencyCode | No | One of: Invalid, Eur, Usd, Gbp, Zar, Zmw. |
status | enum PurchaseOrderStatus | No | One of: Draft, Ordered, Confirmed, PartiallyReceived, Received, Closed, Cancelled. |
expectedDeliveryDate | string (date-time) | No | |
description | string | No | |
notes | string | No |
Response
200. Returns a SingleResult envelope. The data field is PurchaseOrderResponse.
curl -X PATCH "https://api.miridia.io/api/v1/purchase-orders/{purchaseOrderId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"purchaseOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"supplierId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"destinationLocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"currencyCode": "Eur",
"status": "Draft",
"expectedDeliveryDate": "2026-09-29T08:00:00Z",
"description": "string",
"notes": "string"
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"supplierId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"supplierTitle": "string",
"destinationLocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"destinationLocationTitle": "string",
"sourceTransferOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "Draft",
"currencyCode": "Eur",
"subTotal": 0,
"totalTax": 0,
"totalPrice": 0,
"expectedDeliveryDate": "2026-09-29T08:00:00Z",
"effectiveDate": "2026-09-29T08:00:00Z",
"dateOfReceiptCompletion": "2026-09-29T08:00:00Z",
"description": "string",
"notes": "string",
"items": [
{}
],
"shipments": [
{}
],
"dateCreated": "2026-09-29T08:00:00Z",
"dateModified": "2026-09-29T08:00:00Z"
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Get activity traces
GET/api/v1/purchase-orders/{purchaseOrderId}/traces
Get purchase order activity traces
Access. Send a bearer token or an API key. The caller needs the PurchaseOrders view permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
purchaseOrderId | path | string (uuid) | Yes |
Response
200. Returns a PagedResult envelope. Each item in data is ActivityTrace.
curl -X GET "https://api.miridia.io/api/v1/purchase-orders/{purchaseOrderId}/traces" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"count": 0,
"totalCount": 0,
"page": 0,
"finalPage": 0,
"pageSize": 0,
"hasMore": true,
"statusCode": "OK",
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"activityType": "System",
"userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"title": "string",
"message": "string",
"source": "string",
"actionLink": "string",
"level": "Standard",
"dateOfActivity": "2026-09-29T08:00:00Z",
"isDashboardOnly": true,
"icon": "SyncAlert"
}
],
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
]
}Add purchase order item
POST/api/v1/purchase-orders/{purchaseOrderId}/items
Access. Send a bearer token or an API key. The caller needs the PurchaseOrders modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
purchaseOrderId | path | string (uuid) | Yes |
Request body
Send JSON with the shape CreatePurchaseOrderItemRequest. A line item supplied when creating a purchase order or adding an item to a Draft one.
| Field | Type | Required | Description |
|---|---|---|---|
productId | string (uuid) | No | |
quantityOrdered | number (double) | No | |
unitCost | number (double) | No | The unit cost for this line. When omitted, it defaults to the product's primary supplier link's LastQuotedPrice; when neither is available it is zero. |
totalTax | number (double) | No |
Response
200. Returns a SingleResult envelope. The data field is PurchaseOrderResponse.
curl -X POST "https://api.miridia.io/api/v1/purchase-orders/{purchaseOrderId}/items" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"quantityOrdered": 0,
"unitCost": 0,
"totalTax": 0
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"supplierId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"supplierTitle": "string",
"destinationLocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"destinationLocationTitle": "string",
"sourceTransferOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "Draft",
"currencyCode": "Eur",
"subTotal": 0,
"totalTax": 0,
"totalPrice": 0,
"expectedDeliveryDate": "2026-09-29T08:00:00Z",
"effectiveDate": "2026-09-29T08:00:00Z",
"dateOfReceiptCompletion": "2026-09-29T08:00:00Z",
"description": "string",
"notes": "string",
"items": [
{}
],
"shipments": [
{}
],
"dateCreated": "2026-09-29T08:00:00Z",
"dateModified": "2026-09-29T08:00:00Z"
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Remove purchase order item
DELETE/api/v1/purchase-orders/{purchaseOrderId}/items/{itemId}
Access. Send a bearer token or an API key. The caller needs the PurchaseOrders modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
purchaseOrderId | path | string (uuid) | Yes | |
itemId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is PurchaseOrderResponse.
curl -X DELETE "https://api.miridia.io/api/v1/purchase-orders/{purchaseOrderId}/items/{itemId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"supplierId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"supplierTitle": "string",
"destinationLocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"destinationLocationTitle": "string",
"sourceTransferOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "Draft",
"currencyCode": "Eur",
"subTotal": 0,
"totalTax": 0,
"totalPrice": 0,
"expectedDeliveryDate": "2026-09-29T08:00:00Z",
"effectiveDate": "2026-09-29T08:00:00Z",
"dateOfReceiptCompletion": "2026-09-29T08:00:00Z",
"description": "string",
"notes": "string",
"items": [
{}
],
"shipments": [
{}
],
"dateCreated": "2026-09-29T08:00:00Z",
"dateModified": "2026-09-29T08:00:00Z"
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Create purchase order shipment
POST/api/v1/purchase-orders/{purchaseOrderId}/shipments
Access. Send a bearer token or an API key. The caller needs the PurchaseOrders modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
purchaseOrderId | path | string (uuid) | Yes |
Request body
Send JSON with the shape CreatePurchaseOrderShipmentCommand.
| Field | Type | Required | Description |
|---|---|---|---|
purchaseOrderId | string (uuid) | No | Bound from the route, not the body. |
dateCreated | string (date-time) | No | When the shipment was created. Optional; defaults to now. |
Response
200. Returns a SingleResult envelope. The data field is ShipmentResponse.
curl -X POST "https://api.miridia.io/api/v1/purchase-orders/{purchaseOrderId}/shipments" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"purchaseOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"dateCreated": "2026-09-29T08:00:00Z"
}'Receive purchase order
POST/api/v1/purchase-orders/{purchaseOrderId}/receipts
Access. Send a bearer token or an API key. The caller needs the PurchaseOrders modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
purchaseOrderId | path | string (uuid) | Yes |
Request body
Send JSON with the shape ReceivePurchaseOrderCommand. Records a receiving pass against a purchase order. Per-line received/rejected quantities that post inventory movements, increment the line items, and recompute the purchase order's status.
| Field | Type | Required | Description |
|---|---|---|---|
purchaseOrderId | string (uuid) | No | Bound from the route, not the body. |
effectiveDate | string (date-time) | No | Optional business-date override for this receipt's inventory movement(s) and, once the purchase order completes, the dateOfReceiptCompletion stamp (defaults to now). One per receipt call. Not per line. Mirroring the platform's existing effective-date backdating convention (orders/movements). |
lines | ReceivePurchaseOrderItemRequest[] | No |
Response
200. Returns a SingleResult envelope. The data field is PurchaseOrderResponse.
curl -X POST "https://api.miridia.io/api/v1/purchase-orders/{purchaseOrderId}/receipts" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"purchaseOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"effectiveDate": "2026-09-29T08:00:00Z",
"lines": [
{
"productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"quantityReceived": 0,
"quantityRejected": 0,
"unitCost": 0
}
]
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"supplierId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"supplierTitle": "string",
"destinationLocationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"destinationLocationTitle": "string",
"sourceTransferOrderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "Draft",
"currencyCode": "Eur",
"subTotal": 0,
"totalTax": 0,
"totalPrice": 0,
"expectedDeliveryDate": "2026-09-29T08:00:00Z",
"effectiveDate": "2026-09-29T08:00:00Z",
"dateOfReceiptCompletion": "2026-09-29T08:00:00Z",
"description": "string",
"notes": "string",
"items": [
{}
],
"shipments": [
{}
],
"dateCreated": "2026-09-29T08:00:00Z",
"dateModified": "2026-09-29T08:00:00Z"
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Models
The operations on this page use these object types. Select a type to see its fields.
ActivityTrace
Refer to ActionMessage. An activity trace becomes an action message once the response to the client is sent.
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
activityType | enum ActivityType | One of: System, User. |
userId | string (uuid) | |
code | string | |
title | string | |
message | string | |
source | string | |
actionLink | string | |
level | enum NotificationLevel | One of: Standard, Info, Warning, Error, Success, Recommendation. |
dateOfActivity | string (date-time) | |
isDashboardOnly | boolean | |
icon | enum MdiIcon | One of: None, SyncAlert, Autorenew, Check, CheckMarkedCircle, AlertCircle, TruckDeliveryOutline, TruckFastOutline, PackageCheck, Warehouse, SwapHorizontal, AccountCheck, AccountRemove, AccountCancel, Delete. |
AddressResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
placeId | string | |
name | string | |
website | string | |
fullAddress | string | |
street | string | |
suburb | string | |
city | string | |
country | string | |
postcode | string | |
unit | string | |
number | string | |
province | string | |
latitude | number (double) | |
longitude | number (double) |
BusinessResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
registeredName | string | |
registrationNumber | string | |
displayName | string | |
phoneNumber | string | |
website | string | |
email | string | |
requiresOrderIntegration | boolean | |
requiresOrderFulfillment | boolean | |
requiresAccountingIntegration | boolean | |
requiresDispatchBuilder | boolean | |
billingAddress | AddressResponse | |
shippingAddress | AddressResponse | |
currentUser | PrimitiveUserResponse |
CollectionResponse
| Field | Type | Description |
|---|---|---|
address | AddressResponse | |
instructions | string | |
contact | ContactResponse | |
businessName | string | |
collectAfterTime | string | Formatted in HH not hh (24 hours) |
collectBeforeTime | string | Formatted in HH not hh (24 hours) |
dateOfCollection | string (date-time) |
ContactResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
title | string | |
description | string | |
firstName | string | |
lastName | string | |
email | string | |
phoneNumber | string | |
mobileNumber | string |
CreatePurchaseOrderItemRequest
A line item supplied when creating a purchase order or adding an item to a Draft one.
| Field | Type | Description |
|---|---|---|
productId | string (uuid) | |
quantityOrdered | number (double) | |
unitCost | number (double) | The unit cost for this line. When omitted, it defaults to the product's primary supplier link's LastQuotedPrice; when neither is available it is zero. |
totalTax | number (double) |
CurrencyResponse
| Field | Type | Description |
|---|---|---|
iso4217 | string | |
utf8Symbol | string | |
currencyCode | enum CurrencyCode | One of: Invalid, Eur, Usd, Gbp, Zar, Zmw. |
CustomerIntegrationProviderResponse
| Field | Type | Description |
|---|---|---|
provider | PrimitiveIntegrationProviderResponse | |
customer | CustomerResponse |
CustomerResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
isBusiness | boolean | |
title | string | |
website | string | |
email | string | |
businessName | string | |
groupId | string (uuid) | The customer group this customer belongs to, if any. Used as a price-list assignment scope. |
phoneNumber | string | This would generally represent the phone number for the customer if the customer is a business. Otherwise, the contact details should be part of the contact, and not the customer. Limits: maximum 20 characters. |
integrationType | enum IntegrationProviderType | One of: None, Commerce, Accounting, Erp, Crm, Fulfillment, Warehouse, WorkflowManager. |
dateCreated | string (date-time) | |
billingAddress | AddressResponse | |
shippingAddress | AddressResponse | |
integrations | CustomerIntegrationProviderResponse[] | |
contacts | ContactResponse[] | |
primaryContact | ContactResponse | |
parent | CustomerResponse | |
attachments | MetadataFileAttachment[] | |
totalSales | integer (int32) | |
totalSpent | number (double) | |
metadata | map<string, string> |
DeliveryResponse
| Field | Type | Description |
|---|---|---|
address | AddressResponse | |
instructions | string | |
contact | ContactResponse | |
businessName | string | |
deliverAfterTime | string | Formatted in HH not hh (24 hours) |
deliverBeforeTime | string | Formatted in HH not hh (24 hours) |
dateOfDelivery | string (date-time) |
DimensionTypeWithSymbols
| Field | Type | Description |
|---|---|---|
lengthType | enum LengthType | One of: Unknown, Centimeter, Meter, Inch, Foot. |
weightType | enum WeightType | One of: Unknown, Kilogram, Tonne, Pound, Stone, UsTon, ImperialTon, Gram. |
volumeType | enum VolumeType | One of: None, Litre, CubicCentimeter, CubicMeter, Gallon, CubicInch, CubicFoot. |
lengthSymbol | string | |
weightSymbol | string | |
volumeSymbol | string |
DispatchResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
code | string | |
description | string | |
dispatchStatus | enum DispatchStatuses | One of: Active, Pending, Dispatched, Cancelled, Complete, Draft, InTransit, Unassigned. |
dateOfDeparture | string (date-time) | |
scheduledDateOfDeparture | string (date-time) | |
dateOfCompletion | string (date-time) | |
shipments | ShipmentResponse[] | |
drivers | DriverResponse[] | |
vehicle | VehicleResponse | |
business | BusinessResponse |
DriverResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
idNumber | string | |
licenseNumber | string | |
licenseTypeId | integer (int32) | |
licenseRenewalDate | string (date-time) | |
licenseIssuedDate | string (date-time) | |
user | DriverUserResponse |
DriverUserResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
firstName | string | |
lastName | string | |
email | string | |
phoneNumber | string |
FulfillmentItemResponse
| Field | Type | Description |
|---|---|---|
weight | number (double) | |
width | number (double) | |
length | number (double) | |
height | number (double) | |
title | string | |
quantity | number (double) | |
declaredValue | number (double) | |
description | string |
FulfillmentProviderServiceTypeModel
This model represents the different services which the fulfillment provider provides.
| Field | Type | Description |
|---|---|---|
id | integer (int32) | |
value | string |
FulfillmentRequirementTypeModel
| Field | Type | Description |
|---|---|---|
id | integer (int32) | |
value | string |
GeometryFieldsResponse
| Field | Type | Description |
|---|---|---|
weight | number (double) | |
width | number (double) | |
length | number (double) | |
height | number (double) | |
lengthType | enum LengthType | One of: Unknown, Centimeter, Meter, Inch, Foot. |
weightType | enum WeightType | One of: Unknown, Kilogram, Tonne, Pound, Stone, UsTon, ImperialTon, Gram. |
weightSymbol | string | |
lengthSymbol | string |
MetadataFileAttachment
Not quite as complete as the normal FileAttachment aggregate.
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
type | enum MetadataAttachmentType | One of: File, Link. |
fileAttachmentId | string (uuid) | Left as Guid.Empty for Link entries. |
title | string | |
url | string | |
contentType | string | |
description | string |
OrderCarrierMetadata
| Field | Type | Description |
|---|---|---|
carrierId | string (uuid) | |
earliestCollection | string (date-time) | |
collectionRequested | string (date-time) | |
collectionAfterRequest | string (date-time) | |
dateDelivered | string (date-time) | |
dateOfReturnRequested | string (date-time) | |
timeframe | string | |
requestedCollection | boolean | |
shipmentLabelGenerated | boolean | |
requestedReturn | boolean | |
packageCount | integer (int32) | |
packages | OrderPackageMetadata[] |
OrderIntegrationDetailsResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
integrationId | string | The integration id as displayed on the relevant integration |
provider | PrimitiveIntegrationProviderResponse |
OrderItemResponse
Order Item maps onto ProductOrder and contains a property with all of the product information.
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
code | string | |
quantityOrdered | number (double) | |
unit | enum UnitOfMeasure | One of: Each, Kilogram, Gram, Litre, Millilitre, Metre, Centimetre, SquareMetre, CubicMetre, Pair, Pack, Box, Roll, Sheet. |
orderShipment | OrderShipmentResponse | |
product | ProductResponse | |
shipment | ShipmentResponse | |
carrier | PrimitiveIntegrationProviderResponse | |
dimensionPreset | PrimitiveDimensionPreset | |
title | string | |
description | string | |
primaryImageUrl | string | |
geometry | GeometryFieldsResponse | |
billing | PriceDetailsResponse |
OrderPackageMetadata
| Field | Type | Description |
|---|---|---|
productId | string (uuid) | |
dimensions | Geometry |
OrderResponse
| Field | Type | Description |
|---|---|---|
dateCreated | string (date-time) | |
dateModified | string (date-time) | |
id | string (uuid) | |
code | string | |
deliveryItemCount | integer (int32) | |
orderItemCount | number (double) | Total quantity of items ordered across all line items. Surfaced for list views. |
description | string | |
purchaseOrderNumber | string | The customer's purchase order number, when this order was raised from a received customer PO. |
billing | PriceDetailsResponse | |
shippingCosts | OrderShippingCostsResponse | |
fulfillmentStatus | enum FulfillmentStatus | One of: Unknown, Unassigned, PendingCollection, PendingDelivery, Fulfilled, Cancelled. |
customerIpAddress | string | |
serviceLevel | enum ServiceLevel | One of: Unknown, Standard, Express, SameDay, Overnight, TwoDay, InternationalStandard, InternationalExpress, OnDemand, Freight. |
weightType | enum WeightType | One of: Unknown, Kilogram, Tonne, Pound, Stone, UsTon, ImperialTon, Gram. |
lengthType | enum LengthType | One of: Unknown, Centimeter, Meter, Inch, Foot. |
status | enum OrderStatus | One of: Unknown, New, PendingCollection, PendingDelivery, Complete, Cancelled, PendingReturn, Returned. |
fulfillmentType | enum FulfillmentType | One of: Unknown, Package, Pallet, Container, Miscellaneous. |
fulfillmentSubType | enum FulfillmentSubType | One of: Unknown, GeneralPackage, FoodDelivery, MedicalDelivery, GroceriesDelivery, StandardPallet, StandardInternationalPallet, StandardUsPallet, StandardEuroPallet, CustomPallet, General10Ft, General20Ft, HighCube20Ft, General40Ft, HighCube40Ft, General45Ft, HighCube45Ft, FlatRack20FtWithSides, FlatRack20FtWithoutSides, FlatRack40FtWithSides, FlatRack40FtWithoutSides, OpenTop20Ft, OpenTop40Ft, Reefer20Ft, Reefer40Ft, MiniVan, DryVan, Flatbed, Tanker, AutoHauler, BoxTruck, Trailer, LowBoy, Dumper, Pickup, TowTruck, DumpTruck. |
dateOfScheduledCollection | string (date-time) | |
dateCreatedOnIntegration | string (date-time) | |
effectiveDate | string (date-time) | |
dateOfDeliveryCompletion | string (date-time) | |
dateImported | string (date-time) | |
countryCode | enum CountryCode | One of: Invalid, Global, FallbackZa, Be, De, Lu, Nl, Za, Zw, Gb, Us, Zm. |
paymentProcessed | boolean | |
paymentUrl | string | |
integrationOrderUrl | string | |
multiCarrier | boolean | |
currencyCode | enum CurrencyCode | One of: Invalid, Eur, Usd, Gbp, Zar, Zmw. |
paymentMethod | enum PaymentMethod | One of: Unknown, Cash, Card, CashOnDelivery, CardOnDelivery, Eft, Crypto, Paypal, WireTransfer, DebitOrder. |
attachments | MetadataFileAttachment[] | |
orderItems | OrderItemResponse[] | |
orderShipments | OrderShipmentResponse[] | |
destinationAddress | AddressResponse | |
originAddress | AddressResponse | |
originLocationId | string (uuid) | The location/store the order is attributed to (trace which store it came from). |
originLocationTitle | string | |
sourceChannelId | string (uuid) | The sales channel (medium) the order came through. |
sourceChannelTitle | string | |
sourceChannel | SalesChannelResponse | |
customer | CustomerResponse | |
carrierMetadata | OrderCarrierMetadata | |
dimensionType | DimensionTypeWithSymbols | |
currencyMetadata | CurrencyResponse | |
fulfillmentProviders | PrimitiveIntegrationProviderResponse[] | |
packageSizes | PrimitiveDimensionPreset[] | |
integrations | OrderIntegrationDetailsResponse[] | |
metadata | map<string, string> |
OrderShipmentResponse
| Field | Type | Description |
|---|---|---|
shipmentQuotation | ShipmentQuotationResponse | |
order | OrderResponse | |
shipment | ShipmentResponse | |
fulfillmentProvider | PrimitiveIntegrationProviderResponse | |
canModifyItems | boolean | Whether the item set of this shipment can still be changed, through PUT /orders/{orderId}/shipments/{shipmentId}/items. False once the shipment leaves the Active status, or once a label, an invoice, a fulfillment request, an approved quotation, or a manual lock names the load it carries. |
OrderShippingCostsResponse
| Field | Type | Description |
|---|---|---|
shippingSubTotal | number (double) | |
shippingDiscount | number (double) | |
shippingTax | number (double) | |
shippingTotal | number (double) |
PriceDetailsResponse
| Field | Type | Description |
|---|---|---|
subTotal | number (double) | |
totalPrice | number (double) | |
totalTax | number (double) | |
totalDiscount | number (double) | |
discount | number (double) | |
discountType | enum DiscountType | One of: None, Percentage, FixedValue. |
taxIncluded | boolean | |
taxRate | number (double) | |
taxType | enum TaxType | One of: None, Sales, Vat, Gst, Pst, Hst, Qst, Ist, Ust, Cst. |
currency | CurrencyResponse |
PrimitiveDimensionPreset
| Field | Type | Description |
|---|---|---|
title | string | |
weight | number (double) | |
width | number (double) | |
length | number (double) | |
height | number (double) | |
id | string (uuid) | |
fulfillmentType | enum FulfillmentType | One of: Unknown, Package, Pallet, Container, Miscellaneous. |
lengthType | enum LengthType | One of: Unknown, Centimeter, Meter, Inch, Foot. |
weightType | enum WeightType | One of: Unknown, Kilogram, Tonne, Pound, Stone, UsTon, ImperialTon, Gram. |
PrimitiveIntegrationProviderResponse
| Field | Type | Description |
|---|---|---|
configuredProviderId | string (uuid) | |
id | integer (int32) | |
title | string | |
description | string | |
logoUrl | string |
PrimitiveUserResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
displayName | string | |
firstName | string | |
lastName | string | |
email | string | |
phoneNumber | string |
ProductResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
code | string | |
sku | string | |
barcode | string | |
upc | string | |
ean | string | |
mpn | string | |
title | string | |
description | string | |
body | string | |
productLink | string | |
productType | enum ProductType | One of: FinishedGood, RawMaterial, Component, Consumable, Service. |
status | enum ProductStatus | One of: Active, Inactive, Discontinued. |
unit | enum UnitOfMeasure | One of: Each, Kilogram, Gram, Litre, Millilitre, Metre, Centimetre, SquareMetre, CubicMetre, Pair, Pack, Box, Roll, Sheet. |
purchasable | boolean | |
isSellable | boolean | |
isPurchasable | boolean | |
isTaxable | boolean | |
requiresShipping | boolean | |
totalAvailableQuantity | number (double) | Available stock derived from the inventory ledger: the sum of (on-hand − reserved) across the product's inventory records at all locations. |
totalSold | number (double) | |
totalSoldValue | number (double) | |
onSale | boolean | |
currentPrice | ProductPriceDetailsResponse | |
traces | ActionMessage[] | Get the historical view of changes for this object |
defaultImage | MetadataFileAttachment | |
images | MetadataFileAttachment[] | |
attachments | MetadataFileAttachment[] | |
geometry | ProductGeometryFieldsResponse | |
integrations | ProductIntegrationProviderResponse[] | |
locale | SymbolicLocaleMetadata | |
dimensionPreset | DimensionPresetResponse | |
dimensionPresets | DimensionPresetResponse[] | |
categories | ProductCategoryPrimitive[] | |
supplier | SupplierResponse | |
group | ProductGroupSummaryResponse | |
tags | string[] | |
hasRating | boolean | |
rating | number (double) | |
metadata | map<string, string> | |
dateCreated | string (date-time) |
PurchaseOrderItemResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
productId | string (uuid) | |
productTitle | string | |
productSku | string | |
quantityOrdered | number (double) | |
unit | enum UnitOfMeasure | One of: Each, Kilogram, Gram, Litre, Millilitre, Metre, Centimetre, SquareMetre, CubicMetre, Pair, Pack, Box, Roll, Sheet. |
quantityReceived | number (double) | |
quantityRejected | number (double) | |
unitCost | number (double) | |
subTotal | number (double) | |
totalTax | number (double) | |
totalPrice | number (double) |
PurchaseOrderResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
code | string | |
supplierId | string (uuid) | |
supplierTitle | string | |
destinationLocationId | string (uuid) | |
destinationLocationTitle | string | |
sourceTransferOrderId | string (uuid) | |
status | enum PurchaseOrderStatus | One of: Draft, Ordered, Confirmed, PartiallyReceived, Received, Closed, Cancelled. |
currencyCode | enum CurrencyCode | One of: Invalid, Eur, Usd, Gbp, Zar, Zmw. |
subTotal | number (double) | |
totalTax | number (double) | |
totalPrice | number (double) | |
expectedDeliveryDate | string (date-time) | |
effectiveDate | string (date-time) | |
dateOfReceiptCompletion | string (date-time) | |
description | string | |
notes | string | |
items | PurchaseOrderItemResponse[] | |
shipments | PurchaseOrderShipmentResponse[] | |
dateCreated | string (date-time) | |
dateModified | string (date-time) |
PurchaseOrderShipmentResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
shipmentId | string (uuid) | |
shipmentCode | string | |
shipmentStatus | enum ShipmentStatus | One of: Unknown, Active, PendingCollection, CollectionUnassigned, CollectionAssigned, CollectionRejected, CollectionException, CollectionFailedAttempt, Collected, AtHub, ReturnedToHub, InTransit, AtDestinationHub, DeliveryUnassigned, DeliveryAssigned, DeliveryRejected, DeliveryException, OutForDelivery, DeliveryFailedAttempt, InLocker, Delivered, Cancelled. |
shipmentFulfillmentStatus | enum FulfillmentStatus | One of: Unknown, Unassigned, PendingCollection, PendingDelivery, Fulfilled, Cancelled. |
shipmentTrackingId | string | |
dateCreated | string (date-time) |
ReceivePurchaseOrderItemRequest
A single receiving line: how much of a given product was received/rejected against the purchase order. unitCost is optional. When omitted it defaults to the line item's ordered unit cost.
| Field | Type | Description |
|---|---|---|
productId | string (uuid) | |
quantityReceived | number (double) | |
quantityRejected | number (double) | |
unitCost | number (double) |
SalesChannelResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
title | string | |
kind | enum SalesChannelKind | One of: Direct, PointOfSale, Online, Marketplace. |
defaultLocationId | string (uuid) |
ShipmentItemResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
orderItemId | string (uuid) | |
productId | string (uuid) | |
quantity | number (double) | |
unit | enum UnitOfMeasure | One of: Each, Kilogram, Gram, Litre, Millilitre, Metre, Centimetre, SquareMetre, CubicMetre, Pair, Pack, Box, Roll, Sheet. |
title | string | |
description | string | |
geometry | GeometryFieldsResponse | |
subTotal | number (double) | |
totalPrice | number (double) | |
totalTax | number (double) | |
totalDiscount | number (double) | |
discount | number (double) | |
discountType | enum DiscountType | One of: None, Percentage, FixedValue. |
ShipmentQuotationResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
provider | PrimitiveIntegrationProviderResponse | |
items | FulfillmentItemResponse[] | |
requiredServices | FulfillmentProviderServiceTypeModel[] | |
requirements | FulfillmentRequirementTypeModel[] | |
collection | CollectionResponse | |
delivery | DeliveryResponse | |
totalDeclaredValue | number (double) | |
isInternational | boolean | |
isApprovedByUser | boolean | |
totalItems | integer (int32) | |
serviceLevelText | string | |
serviceLevel | enum ServiceLevel | One of: Unknown, Standard, Express, SameDay, Overnight, TwoDay, InternationalStandard, InternationalExpress, OnDemand, Freight. |
fulfillmentType | enum FulfillmentType | One of: Unknown, Package, Pallet, Container, Miscellaneous. |
deliveryType | enum FulfillmentDeliveryType | One of: Unknown, DoorToDoor, DoorToCollectionPoint, CollectionPointToDoor, CollectionPointToCollectionPoint, DoorToPort, PortToDoor, PortToPort, LockerToLocker. |
weightType | enum WeightType | One of: Unknown, Kilogram, Tonne, Pound, Stone, UsTon, ImperialTon, Gram. |
lengthType | enum LengthType | One of: Unknown, Centimeter, Meter, Inch, Foot. |
countryCode | enum CountryCode | One of: Invalid, Global, FallbackZa, Be, De, Lu, Nl, Za, Zw, Gb, Us, Zm. |
dateOfEstimatedCollection | string (date-time) | The estimated collection and delivery dates, when they are known. They are null when no estimate exists. Do not substitute today's date. |
dateOfEstimatedDelivery | string (date-time) | |
currency | CurrencyResponse | |
subTotal | number (double) | |
totalPrice | number (double) | |
totalTax | number (double) | |
totalDiscount | number (double) | |
discount | number (double) | |
discountType | enum DiscountType | One of: None, Percentage, FixedValue. |
taxIncluded | boolean | |
shipment | ShipmentResponse |
ShipmentResponse
| Field | Type | Description |
|---|---|---|
dateCreated | string (date-time) | |
dateModified | string (date-time) | |
id | string (uuid) | |
fulfillmentType | enum FulfillmentType | One of: Unknown, Package, Pallet, Container, Miscellaneous. |
status | enum ShipmentStatus | One of: Unknown, Active, PendingCollection, CollectionUnassigned, CollectionAssigned, CollectionRejected, CollectionException, CollectionFailedAttempt, Collected, AtHub, ReturnedToHub, InTransit, AtDestinationHub, DeliveryUnassigned, DeliveryAssigned, DeliveryRejected, DeliveryException, OutForDelivery, DeliveryFailedAttempt, InLocker, Delivered, Cancelled. |
hasDimensions | boolean | |
dateOfDeparture | string (date-time) | |
title | string | Limits: maximum 100 characters. |
providerServiceLevelId | Uid | |
providerServiceLevelIdType | enum UidType | One of: Unknown, Long, Guid, String. |
serviceLevel | enum ServiceLevel | One of: Unknown, Standard, Express, SameDay, Overnight, TwoDay, InternationalStandard, InternationalExpress, OnDemand, Freight. |
code | string | |
description | string | Limits: maximum 3000 characters. |
handlingType | enum HandlingType | One of: Unknown, Delivery, Collection, Unassigned. |
requiresApproval | boolean | |
totalDeclaredValue | number (double) | |
quantityOfItems | number (double) | |
trackingId | string | |
barcode | string | |
delivery | DeliveryResponse | |
collection | CollectionResponse | |
currency | CurrencyResponse | |
dispatch | DispatchResponse | |
business | BusinessResponse | |
customer | CustomerResponse | |
items | ShipmentItemResponse[] | |
fulfillmentContacts | ContactResponse[] | |
orderShipments | OrderShipmentResponse[] | |
waypoints | ShipmentWaypointResponse[] | |
metadata | map<string, string> | |
attachments | MetadataFileAttachment[] |
ShipmentWaypointResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
segmentPosition | integer (int32) | |
title | string | |
dateCheckedIn | string (date-time) | |
dateCheckedOut | string (date-time) | |
dateCreated | string (date-time) | |
dateModified | string (date-time) | |
address | AddressResponse |
VehicleResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
licensePlate | string | |
dateOfLicenseExpiry | string (date-time) | |
licenseDisc | string | |
vehicleIdentificationNumber | string | |
model | string | |
make | string | |
acquisitionDate | string (date-time) | |
vehicleType | enum VehicleType | One of: Motorcycle, LightMotorVehicle, HeavyMotorVehicleSub16, HeaveMotorVehicleOver16. |
dateCreated | string (date-time) | |
dateModified | string (date-time) |