CartonCloud
CartonCloud API

Inbound Orders (Purchase Orders)

Endpoints related to Inbound Orders.


Create a new Inbound Order

POST
https://api.cartoncloud.com
/tenants/{tenantId}/inbound-orders
required permission: EDIT_INBOUND_ORDER

Create a new inbound order (purchase order).

Create a new Inbound Order › path Parameters

tenantId
​string · uuid · required

Tenant ID. Can be found in organisation settings

Create a new Inbound Order › Headers

Accept-Version
​string · enum · required

All API end points require Accept-Version in the request header.

Failure to provide the header will return a status code of 400, however, an invalid version can return a 404, 406 or 400.

Enum values:
8
External-Meta-Key
​string

The External-Meta-Key header allows to specify the desired external meta key and only data associated with the specified key will be returned. If no key is specified or the key does not contain data, then externalMeta will not be returned.

Users with VIEW_ALL_EXTERNAL_META permission can specify * to return all available external meta. Data in externalMeta will be keyed by the external meta key.

Include
​string[] · style: simple

Comma-separated list of additional fields to include in the response.

Enum values:
measures

Create a new Inbound Order › Request Body

Request payload for creating an Inbound Order
​object · required

Fields uniquely identifying Inbound order

​CustomerReference · required

Identifies a customer. When more than one identifying property is supplied, they are checked in this order: id, references.code, then name.

type
​string · enum
Enum values:
INBOUND
Default: INBOUND
​Properties

Custom and other property values keyed by name.

Custom fields may exist or may be requested by the tenant.

  • For Address, Shipment, Container, Consignment Data, Consignment Item, Vehicle, Customer, Driver, Sale Order, Purchase Order, or Transport Product, use the name in Mapped Field from the tenant.
  • For Sale Order Product (SOP) custom fields, use sop_custom_field_1, sop_custom_field_2, and so on.
  • For other entities such as Purchase Order Product and Product, use custom_field_1, custom_field_2, and so on.
measures
​object
status
​InboundOrderStatus · enum

Status of the inbound order

Enum values:
DRAFT
NOT_YET_RECEIVED
RECEIVED
VERIFIED
ALLOCATED
REJECTED
Example: DRAFT
​WarehouseReference

Identifies a warehouse. When both id and name are supplied, id is used first. name must match the warehouse name in CartonCloud exactly.

​InboundDetails

Details specific for the Inbound Order object

List of Inbound Item objects

Create a new Inbound Order › Responses

Order successfully created

Default Representation of Inbound Order object
id
​UUID · uuid

The customer that this entity is associated with. null for tenant data not associated with a specific customer. A user's access maybe restricted to specific customers. Also null for multi-customer groups. Pick To Tote as example (although each individual group member has its own customer reference).

​object · readOnly

Billing invoice this entity is assigned to. Only present when the entity has an assigned invoice and the user has VIEW_CHARGES permission.

type
​string · const
Const value: INBOUND

Fields uniquely identifying Inbound order

​Properties

Custom and other property values keyed by name.

Custom fields may exist or may be requested by the tenant.

  • For Address, Shipment, Container, Consignment Data, Consignment Item, Vehicle, Customer, Driver, Sale Order, Purchase Order, or Transport Product, use the name in Mapped Field from the tenant.
  • For Sale Order Product (SOP) custom fields, use sop_custom_field_1, sop_custom_field_2, and so on.
  • For other entities such as Purchase Order Product and Product, use custom_field_1, custom_field_2, and so on.
​object · readOnly

Only returned when the Include request header contains measures.

status
​InboundOrderStatus · enum

Status of the inbound order

Enum values:
DRAFT
NOT_YET_RECEIVED
RECEIVED
VERIFIED
ALLOCATED
REJECTED
Example: DRAFT
​WarehouseReference

Identifies a warehouse. When both id and name are supplied, id is used first. name must match the warehouse name in CartonCloud exactly.

​object

Map of timestamp entries for various lifecycle events

version
​integer
​ExternalMeta

External Metadata by a specific External meta key

​InboundDetails

Details specific for the Inbound Order object

List of Inbound Item objects


Bulk Delete Inbound Orders

POST
https://api.cartoncloud.com
/tenants/{tenantId}/inbound-orders/bulk-delete
required permission: DELETE_INBOUND_ORDER

Deletes inbound orders matching filter.condition. The condition is mandatory; omitting filter or filter.condition, or sending an empty condition, returns 422 Unprocessable Entity and no orders are deleted.

Bulk Delete Inbound Orders › path Parameters

tenantId
​string · uuid · required

Tenant ID. Can be found in organisation settings

Bulk Delete Inbound Orders › Headers

Accept-Version
​string · enum · required

All API end points require Accept-Version in the request header.

Failure to provide the header will return a status code of 400, however, an invalid version can return a 404, 406 or 400.

Enum values:
8

Bulk Delete Inbound Orders › Request Body

Bulk delete entities matching a search filter. A non-empty `filter.condition` is required; requests without a condition are rejected and no entities are deleted. To delete specific entities by UUID, use `filter.condition` with a ListComparisonCondition on `/id` and method EXISTS_IN.
​object · required

Search filter selecting entities to delete. condition is required.

Bulk Delete Inbound Orders › Responses

Success - Returns per-entity success and failure results

Response from a bulk delete operation with per-entity success and failure results.

Search Inbound Orders

POST
https://api.cartoncloud.com
/tenants/{tenantId}/inbound-orders/search
required permission: VIEW_INBOUND_ORDER

Search for previously created inbound orders (purchase orders).

To perform this action, the API Client needs to have the “WMS Create Job” role.

Condition Fields

Use JsonField pointers for search conditions.

Custom property pointers (/properties/{name}) may also be searchable.

Supported JsonField pointers

PointerDescription
/customer/idCustomer ID
/customer/nameCustomer name
/details/arrivalDateArrival date
/details/instructionsSpecial instructions
/details/isAdjustmentIs stock adjustment
/details/parentIdParent inbound order ID
/details/urgencyUrgency enum (NONE, CUSTOMER_REQUESTED, URGENT)
/details/urgentIs urgent order
/idOrder ID
/invoice/idInvoice ID (when the caller has VIEW_CHARGES, or Hide charging information is off)
/references/customerCustomer reference
/references/numericIdNumeric ID
/statusStatus enum (e.g. DRAFT)
/timestamps/allocated/timeAllocated (ISO 8601)
/timestamps/created/timeCreated (ISO 8601)
/timestamps/modified/timeModified (ISO 8601)
/timestamps/verified/timeVerified (ISO 8601)
/warehouse/idWarehouse ID

Product line search (productId)

Use a ValueField named productId (not a JsonField pointer). It matches inbound orders that have at least one line item for the given warehouse product UUID.

Condition typeMethods
TextComparisonConditionEQUAL_TO, NOT_EQUAL_TO
ListComparisonConditionEXISTS_IN, NOT_EXISTS_IN

For ListComparisonCondition, the value is an array of product UUIDs. EXISTS_IN matches orders that contain any listed product; NOT_EXISTS_IN excludes orders that contain any listed product.

Search Inbound Orders › path Parameters

tenantId
​string · uuid · required

Tenant ID. Can be found in organisation settings

Search Inbound Orders › Headers

Accept-Version
​string · enum · required

All API end points require Accept-Version in the request header.

Failure to provide the header will return a status code of 400, however, an invalid version can return a 404, 406 or 400.

Enum values:
8
Include
​string[] · style: simple

Comma-separated list of additional fields to include in the response.

Enum values:
measures
Prefer
​string · enum

When Prefer is applied, the Preference-Applied response header is returned.

ValueDescription
return=minimalSwitch the response into minimal representation (id only).
Enum values:
return=minimal

Search Inbound Orders › Request Body

Search request body. The condition tree is the value of `condition`. `condition.type` is `AndCondition` or `OrCondition`.
​WrapperCondition · required

And and Or conditions must be accompanied with internal conditions property that provides all the fields level conditions that the wrapper must be applied to. Note: The FreeTextSearch condition cannot be combined with other fields level conditions.

Search Inbound Orders › Responses

Success

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = array
type = array
Properties for InboundOrder_Default list (Prefer omitted):
Default Representation of Inbound Order object
id
​UUID · uuid

The customer that this entity is associated with. null for tenant data not associated with a specific customer. A user's access maybe restricted to specific customers. Also null for multi-customer groups. Pick To Tote as example (although each individual group member has its own customer reference).

​object · readOnly

Billing invoice this entity is assigned to. Only present when the entity has an assigned invoice and the user has VIEW_CHARGES permission.

type
​string · const
Const value: INBOUND

Fields uniquely identifying Inbound order

​Properties

Custom and other property values keyed by name.

Custom fields may exist or may be requested by the tenant.

  • For Address, Shipment, Container, Consignment Data, Consignment Item, Vehicle, Customer, Driver, Sale Order, Purchase Order, or Transport Product, use the name in Mapped Field from the tenant.
  • For Sale Order Product (SOP) custom fields, use sop_custom_field_1, sop_custom_field_2, and so on.
  • For other entities such as Purchase Order Product and Product, use custom_field_1, custom_field_2, and so on.
​object · readOnly

Only returned when the Include request header contains measures.

status
​InboundOrderStatus · enum

Status of the inbound order

Enum values:
DRAFT
NOT_YET_RECEIVED
RECEIVED
VERIFIED
ALLOCATED
REJECTED
Example: DRAFT
​WarehouseReference

Identifies a warehouse. When both id and name are supplied, id is used first. name must match the warehouse name in CartonCloud exactly.

​object

Map of timestamp entries for various lifecycle events

version
​integer
​ExternalMeta

External Metadata by a specific External meta key

​InboundDetails

Details specific for the Inbound Order object

List of Inbound Item objects


View Inbound Order

GET
https://api.cartoncloud.com
/tenants/{tenantId}/inbound-orders/{orderId}
required permission: VIEW_INBOUND_ORDER

Retrieves a previously created inbound order (purchase order).

Response shape matches Create Inbound Order. Use Prefer: return=no-items to omit items. Use the Include header to add measures.

View Inbound Order › path Parameters

tenantId
​string · uuid · required

Tenant ID. Can be found in organisation settings

orderId
​string · uuid · required

Inbound Order ID

View Inbound Order › Headers

Accept-Version
​string · enum · required

All API end points require Accept-Version in the request header.

Failure to provide the header will return a status code of 400, however, an invalid version can return a 404, 406 or 400.

Enum values:
8
External-Meta-Key
​string

The External-Meta-Key header allows to specify the desired external meta key and only data associated with the specified key will be returned. If no key is specified or the key does not contain data, then externalMeta will not be returned.

Users with VIEW_ALL_EXTERNAL_META permission can specify * to return all available external meta. Data in externalMeta will be keyed by the external meta key.

Include
​string[] · style: simple

Comma-separated list of additional fields to include in the response.

Enum values:
measures
Prefer
​string · enum

When Prefer is applied, the Preference-Applied response header is returned.

ValueDescription
return=no-itemsOmit items from the response.
Enum values:
return=no-items

View Inbound Order › Responses

Success. Response body depends on the Prefer request header: - Prefer: return=no-items → InboundOrder_NoItems - Prefer header omitted → InboundOrder_Default

oneOf
Exactly one variant must match.

Decision Table

VariantMatching Criteria
type = object
type = object
Properties for InboundOrder_Default (Prefer header omitted):
Default Representation of Inbound Order object
id
​UUID · uuid

The customer that this entity is associated with. null for tenant data not associated with a specific customer. A user's access maybe restricted to specific customers. Also null for multi-customer groups. Pick To Tote as example (although each individual group member has its own customer reference).

​object · readOnly

Billing invoice this entity is assigned to. Only present when the entity has an assigned invoice and the user has VIEW_CHARGES permission.

type
​string · const
Const value: INBOUND

Fields uniquely identifying Inbound order

​Properties

Custom and other property values keyed by name.

Custom fields may exist or may be requested by the tenant.

  • For Address, Shipment, Container, Consignment Data, Consignment Item, Vehicle, Customer, Driver, Sale Order, Purchase Order, or Transport Product, use the name in Mapped Field from the tenant.
  • For Sale Order Product (SOP) custom fields, use sop_custom_field_1, sop_custom_field_2, and so on.
  • For other entities such as Purchase Order Product and Product, use custom_field_1, custom_field_2, and so on.
​object · readOnly

Only returned when the Include request header contains measures.

status
​InboundOrderStatus · enum

Status of the inbound order

Enum values:
DRAFT
NOT_YET_RECEIVED
RECEIVED
VERIFIED
ALLOCATED
REJECTED
Example: DRAFT
​WarehouseReference

Identifies a warehouse. When both id and name are supplied, id is used first. name must match the warehouse name in CartonCloud exactly.

​object

Map of timestamp entries for various lifecycle events

version
​integer
​ExternalMeta

External Metadata by a specific External meta key

​InboundDetails

Details specific for the Inbound Order object

List of Inbound Item objects


Delete an existing Inbound Order

DELETE
https://api.cartoncloud.com
/tenants/{tenantId}/inbound-orders/{orderId}
required permission: DELETE_INBOUND_ORDER

Permanently deletes an inbound order. This cannot be undone.

Requires DELETE_INBOUND_ORDER. An API client can delete an inbound order only when its status is DRAFT, NOT_YET_RECEIVED, or REJECTED. Any other status returns 422 Unprocessable Entity.

Delete also returns 422 when the inbound order has been invoiced, has been billed, or has items packed onto outbound orders.

Delete an existing Inbound Order › path Parameters

tenantId
​string · uuid · required

Tenant ID. Can be found in organisation settings

orderId
​string · uuid · required

Inbound Order ID

Delete an existing Inbound Order › Headers

Accept-Version
​string · enum · required

All API end points require Accept-Version in the request header.

Failure to provide the header will return a status code of 400, however, an invalid version can return a 404, 406 or 400.

Enum values:
8

Delete an existing Inbound Order › Responses

Inbound order has been deleted

No data returned