Skip to content

Inventory

View as Markdown

Stock levels per product and per location.

5 operations, generated from the OpenAPI file. Authentication and the base URL are described in the API overview.

GET /api/inventory/

List stock levels

Operation ID inventory_list. Authentication: ApiKeyAuth.

Parameters

Name In Type Required Description
expiring_within_days query integer No Rows holding a batch that expires within this many days.
location query integer No Location id.
low_stock query boolean No Rows with a reorder point whose available stock is at or below it, and above zero.
out_of_stock query boolean No Rows with no available stock.
page query integer No A page number within the paginated result set.
page_size query integer No Number of results to return per page.
q query string No Search SKU, GTIN, name or brand.

Responses

Status Description Body
200 PaginatedStockLevelList (application/json)

Example

Terminal window
curl "https://api.horizonlogistics.eu/api/inventory/" \
-H "Authorization: Api-Key $HORIZON_API_KEY"

GET /api/inventory/location-stock/

Stock totals per location

Operation ID inventory_location_stock_retrieve. Authentication: ApiKeyAuth.

Responses

Status Description Body
200 LocationStockTotals (application/json)

Example

Terminal window
curl "https://api.horizonlogistics.eu/api/inventory/location-stock/" \
-H "Authorization: Api-Key $HORIZON_API_KEY"

GET /api/inventory/{product_id}/

Retrieve a product’s stock

Operation ID inventory_retrieve. Authentication: ApiKeyAuth.

Parameters

Name In Type Required Description
product_id path integer Yes

Responses

Status Description Body
200 ProductStock (application/json)

Example

Terminal window
curl "https://api.horizonlogistics.eu/api/inventory/{product_id}/" \
-H "Authorization: Api-Key $HORIZON_API_KEY"

GET /api/locations/

List locations

Operation ID locations_list. Authentication: ApiKeyAuth.

Responses

Status Description Body
200 array of Location (application/json)

Example

Terminal window
curl "https://api.horizonlogistics.eu/api/locations/" \
-H "Authorization: Api-Key $HORIZON_API_KEY"

GET /api/locations/{id}/

Retrieve a location

Operation ID locations_retrieve. Authentication: ApiKeyAuth.

Parameters

Name In Type Required Description
id path integer Yes

Responses

Status Description Body
200 Location (application/json)

Example

Terminal window
curl "https://api.horizonlogistics.eu/api/locations/{id}/" \
-H "Authorization: Api-Key $HORIZON_API_KEY"

Schemas

The objects the operations above send and receive. Fields of a nested object are listed under their parent (address.city, lines[].sku); a nested named object links to its own entry.

InventoryBatchRef

Field Type Required Description
id integer Yes
batch_code string Yes
produced_at string (date-time), nullable Yes
expires_at string (date-time), nullable Yes
days_until_expiry integer, nullable Yes
recall_state string Yes

InventoryBinRef

Field Type Required Description
id integer Yes
code string Yes
zone string Yes

InventoryLocationRef

Field Type Required Description
id integer Yes
code string Yes
name string Yes

InventoryMovementSummary

Field Type Required Description
id integer Yes
delta integer Yes
movement_type string Yes
source string Yes
source_ref string Yes
shopify_order_url string, nullable Yes
occurred_at string (date-time) Yes
actor_id integer, nullable Yes
notes string Yes
location_code string, nullable Yes
bin_code string, nullable Yes

Location

Field Type Required Description
id integer Yes Read-only.
code string Yes Max length 320.
name string Yes Max length 128.
location_type string (enum) Yes warehouse - warehouse; store - store; 3pl - 3pl; dropship - dropship; transit - transit; virtual - virtual.
address1 string No Max length 200.
city string No Max length 100.
postal_code string No Max length 20.
country string Yes Max length 2.
geo any, nullable No
is_active boolean No
is_fulfillable boolean No
is_default boolean No
shopify_location_id integer, nullable Yes Read-only.
floor_area_m2 string (decimal), nullable No Pattern ^-?\d{0,8}(?:\.\d{0,2})?$.
storage_type string (enum), may be blank No One of: ambient, racked, bulk, mezzanine, automated, cross_dock.
temperature_zone string (enum), may be blank No One of: ambient, chilled, frozen, controlled.
created_at string (date-time) Yes Read-only.
updated_at string (date-time) Yes Read-only.

LocationStockTotal

Field Type Required Description
location_id integer Yes
units_on_hand integer Yes
sku_count integer Yes Products with stock on hand.
last_movement_at string (date-time), nullable Yes

LocationStockTotals

Field Type Required Description
results array of LocationStockTotal Yes

PaginatedStockLevelList

Field Type Required Description
count integer Yes
next string (uri), nullable No
previous string (uri), nullable No
results array of StockLevel Yes

ProductStock

Field Type Required Description
product ProductStockProduct Yes
levels array of ProductStockLocation Yes
movements_recent array of InventoryMovementSummary Yes The latest stock movements of the product, newest first.

ProductStockBatch

Field Type Required Description
batch InventoryBatchRef Yes
on_hand integer Yes
committed integer Yes
available integer Yes

ProductStockBin

Field Type Required Description
bin InventoryBinRef, nullable Yes Null for stock not assigned to a bin.
on_hand integer Yes
committed integer Yes
reserved integer Yes
available integer Yes

ProductStockLocation

Field Type Required Description
location InventoryLocationRef Yes
on_hand_total integer Yes
committed_total integer Yes
reserved_total integer Yes
available_total integer Yes
reorder_point integer, nullable Yes
reorder_point_source string Yes
bin_breakdown array of ProductStockBin Yes
batch_breakdown array of ProductStockBatch Yes Batches with stock at this location, soonest expiry first.

ProductStockProduct

Field Type Required Description
recall string (enum), nullable Yes The strictest open recall of the product’s batches, or null.; voluntary - voluntary; mandatory - mandatory. One of: voluntary, mandatory.
id integer Yes
sku string Yes
gtin string, nullable Yes
name string Yes
brand string, nullable Yes
image string Yes Product image URL, or an empty string.
ppwr_grade string Yes Always an empty string for now.
is_kit boolean Yes

StockLevel

Field Type Required Description
location InventoryLocationRef Yes
recall string (enum), nullable Yes The strictest open recall of the product’s batches, or null.; voluntary - voluntary; mandatory - mandatory. One of: voluntary, mandatory.
product_id integer Yes
sku string Yes
gtin string, nullable Yes
name string Yes
brand string, nullable Yes
is_kit boolean Yes
image string Yes Product image URL, or an empty string.
on_hand integer Yes
committed integer Yes
reserved integer Yes
available integer Yes On hand less committed and reserved.
ppwr_grade string Yes Always an empty string for now.
earliest_expiry string (date-time), nullable Yes
expiring_soon boolean Yes
batch_count integer Yes
stock_status string Yes
reorder_point integer, nullable Yes
reorder_point_source string Yes auto, manual, or empty when no reorder point is set.
abc_class string Yes
last_counted_at string (date-time), nullable Yes