Skip to content

Depot inventory

Mounts the /inventory routes.

This page is generated from the Depot route table. Every operation carries the permission it needs and the anchor an agent can link to.

POSTinventory:writeshared facehosteditmsp

Source: [object Object]

createAdjustment corrects stock at one location.

Every adjustment needs a reason.

Required, sent as application/json.

The body is any.

StatusBodyDescription
201application/json, StockMovementViewCreated.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

201 response body

FieldTypeDescription
actorNamestring or null
createdAtrequiredstring (date-time)
kindrequiredstring
locationIdrequiredstring
locationNamerequiredstring
publicIdrequiredstring
qtyrequiredstring
reasonCodestring or null
reasonNoterequiredstring
refIdstring or null
refKindstring or null
refLabelstring or null
skurequiredstring
stockItemIdrequiredstring
unitCostCentsrequiredinteger

int64.

valueCentsrequiredinteger

int64.

Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
curl -X POST 'https://depot.example.com/api/v1/inventory/adjustments' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETinventory:readshared facehosteditmspIdempotent

Source: [object Object]

listItems lists stock items by SKU, searchable by SKU, name, part number and UPC.

NameInTypeRequiredDescription
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
qquerystringNoFree-text search term.
serializedquerystringNo
StatusBodyDescription
200application/json, PagedResultStockItemViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
itemsrequiredarray of StockItemView
items[].activerequiredboolean
items[].avgCostCentsrequiredinteger

int64.

items[].catalogItemIdstring or null
items[].categoryrequiredstring
items[].createdAtrequiredstring (date-time)
items[].defaultSupplierIdstring or null
items[].defaultSupplierNamestring or null
items[].descriptionrequiredstring
items[].lastCostCentsrequiredinteger

int64.

items[].manufacturerrequiredstring
items[].mpnrequiredstring
items[].namerequiredstring
items[].onHandTotalrequiredstring
items[].publicIdrequiredstring
items[].rowVersionrequiredinteger

int64.

items[].serializedrequiredboolean
items[].skurequiredstring
items[].unitrequiredstring
items[].upcrequiredstring
items[].updatedAtrequiredstring (date-time)
pagerequiredinteger
pageSizerequiredinteger
totalrequiredinteger
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/inventory/items?page=0&pageSize=0&q=<q>&serialized=<serialized>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTinventory:writeshared facehosteditmsp

Source: [object Object]

createItem adds a stock item.

SKUs are unique forever, retired included.

Required, sent as application/json.

The body is any.

StatusBodyDescription
201application/json, StockItemViewCreated.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

201 response body

FieldTypeDescription
activerequiredboolean
avgCostCentsrequiredinteger

int64.

catalogItemIdstring or null
categoryrequiredstring
createdAtrequiredstring (date-time)
defaultSupplierIdstring or null
defaultSupplierNamestring or null
descriptionrequiredstring
lastCostCentsrequiredinteger

int64.

manufacturerrequiredstring
mpnrequiredstring
namerequiredstring
onHandTotalrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

serializedrequiredboolean
skurequiredstring
unitrequiredstring
upcrequiredstring
updatedAtrequiredstring (date-time)
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
curl -X POST 'https://depot.example.com/api/v1/inventory/items' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETinventory:readshared facehosteditmspIdempotent

Source: [object Object]

getItem reads one stock item with its on-hand total.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, StockItemViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
activerequiredboolean
avgCostCentsrequiredinteger

int64.

catalogItemIdstring or null
categoryrequiredstring
createdAtrequiredstring (date-time)
defaultSupplierIdstring or null
defaultSupplierNamestring or null
descriptionrequiredstring
lastCostCentsrequiredinteger

int64.

manufacturerrequiredstring
mpnrequiredstring
namerequiredstring
onHandTotalrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

serializedrequiredboolean
skurequiredstring
unitrequiredstring
upcrequiredstring
updatedAtrequiredstring (date-time)
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/inventory/items/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PATCHinventory:writeshared facehosteditmspIdempotent

Source: [object Object]

updateItem edits a stock item; serial tracking cannot change while units are in stock.

NameInTypeRequiredDescription
idpathstringYes

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, StockItemViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
activerequiredboolean
avgCostCentsrequiredinteger

int64.

catalogItemIdstring or null
categoryrequiredstring
createdAtrequiredstring (date-time)
defaultSupplierIdstring or null
defaultSupplierNamestring or null
descriptionrequiredstring
lastCostCentsrequiredinteger

int64.

manufacturerrequiredstring
mpnrequiredstring
namerequiredstring
onHandTotalrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

serializedrequiredboolean
skurequiredstring
unitrequiredstring
upcrequiredstring
updatedAtrequiredstring (date-time)
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X PATCH 'https://depot.example.com/api/v1/inventory/items/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

DELETEinventory:writeshared facehosteditmspIdempotent

Source: [object Object]

deactivateItem retires a stock item.

Its SKU stays taken.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X DELETE 'https://depot.example.com/api/v1/inventory/items/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETinventory:readshared facehosteditmspIdempotent

Source: [object Object]

listLevels lists on-hand and on-order by item and location.

NameInTypeRequiredDescription
itemquerystringNo
locationquerystringNo
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
StatusBodyDescription
200application/json, PagedResultStockLevelViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
itemsrequiredarray of StockLevelView
items[].belowReorderrequiredboolean
items[].itemNamerequiredstring
items[].locationIdrequiredstring
items[].locationNamerequiredstring
items[].onHandrequiredstring
items[].onOrderrequiredstring
items[].reorderPointstring or null
items[].reorderQtystring or null
items[].rowVersionrequiredinteger

int64.

items[].skurequiredstring
items[].stockItemIdrequiredstring
pagerequiredinteger
pageSizerequiredinteger
totalrequiredinteger
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/inventory/levels?item=<item>&location=<location>&page=0&pageSize=0' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PUT /api/v1/inventory/levels/{itemId}/{locationId}/reorder

Section titled “PUT /api/v1/inventory/levels/{itemId}/{locationId}/reorder”

PUTinventory:writeshared facehosteditmspIdempotent

Source: [object Object]

setReorderRule sets or clears the reorder point and quantity for one item at one location.

NameInTypeRequiredDescription
itemIdpathstringYes
locationIdpathstringYes

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, StockLevelViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
belowReorderrequiredboolean
itemNamerequiredstring
locationIdrequiredstring
locationNamerequiredstring
onHandrequiredstring
onOrderrequiredstring
reorderPointstring or null
reorderQtystring or null
rowVersionrequiredinteger

int64.

skurequiredstring
stockItemIdrequiredstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X PUT 'https://depot.example.com/api/v1/inventory/levels/<itemId>/<locationId>/reorder' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETinventory:readshared facehosteditmspIdempotent

Source: [object Object]

listLocations lists the live stock locations, the default first.

StatusBodyDescription
200application/json, array of StockLocationViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
[].holderNamestring or null
[].holderUserIdstring or null
[].isDefaultrequiredboolean
[].kindrequiredstring
[].namerequiredstring
[].publicIdrequiredstring
[].rowVersionrequiredinteger

int64.

[].shipToStockAddress

StockAddress is the ship-to a distributor needs, sealed at rest as JSON in StockLocation.ShipToAddressEnc.

[].shipTo.attentionstring
[].shipTo.cityrequiredstring
[].shipTo.countryCoderequiredstring
[].shipTo.line1requiredstring
[].shipTo.line2string
[].shipTo.postalCoderequiredstring
[].shipTo.regionstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/inventory/locations' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTinventory:writeshared facehosteditmsp

Source: [object Object]

createLocation adds a stock location; isDefault moves the default to it.

Required, sent as application/json.

The body is any.

StatusBodyDescription
201application/json, StockLocationViewCreated.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

201 response body

FieldTypeDescription
holderNamestring or null
holderUserIdstring or null
isDefaultrequiredboolean
kindrequiredstring
namerequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

shipToStockAddress

StockAddress is the ship-to a distributor needs, sealed at rest as JSON in StockLocation.ShipToAddressEnc.

shipTo.attentionstring
shipTo.cityrequiredstring
shipTo.countryCoderequiredstring
shipTo.line1requiredstring
shipTo.line2string
shipTo.postalCoderequiredstring
shipTo.regionstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
curl -X POST 'https://depot.example.com/api/v1/inventory/locations' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETinventory:readshared facehosteditmspIdempotent

Source: [object Object]

getLocation reads one stock location with its ship-to address.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, StockLocationViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
holderNamestring or null
holderUserIdstring or null
isDefaultrequiredboolean
kindrequiredstring
namerequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

shipToStockAddress

StockAddress is the ship-to a distributor needs, sealed at rest as JSON in StockLocation.ShipToAddressEnc.

shipTo.attentionstring
shipTo.cityrequiredstring
shipTo.countryCoderequiredstring
shipTo.line1requiredstring
shipTo.line2string
shipTo.postalCoderequiredstring
shipTo.regionstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/inventory/locations/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PATCHinventory:writeshared facehosteditmspIdempotent

Source: [object Object]

updateLocation edits a stock location.

NameInTypeRequiredDescription
idpathstringYes

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, StockLocationViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
holderNamestring or null
holderUserIdstring or null
isDefaultrequiredboolean
kindrequiredstring
namerequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

shipToStockAddress

StockAddress is the ship-to a distributor needs, sealed at rest as JSON in StockLocation.ShipToAddressEnc.

shipTo.attentionstring
shipTo.cityrequiredstring
shipTo.countryCoderequiredstring
shipTo.line1requiredstring
shipTo.line2string
shipTo.postalCoderequiredstring
shipTo.regionstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X PATCH 'https://depot.example.com/api/v1/inventory/locations/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

DELETEinventory:writeshared facehosteditmspIdempotent

Source: [object Object]

archiveLocation archives an empty stock location.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X DELETE 'https://depot.example.com/api/v1/inventory/locations/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETinventory:readshared facehosteditmspIdempotent

Source: [object Object]

listMovements reads the stock ledger, newest first.

NameInTypeRequiredDescription
fromquerystringNo
itemquerystringNo
kindquerystring, one of adjustment, cost_adjustment, fulfillment, fulfillment_reversal, receipt, receipt_reversal, return_in, rma_out, transfer_in, transfer_outNoComma-separated set. An unrecognised value is refused.
locationquerystringNo
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
refquerystringNo
toquerystringNo
StatusBodyDescription
200application/json, PagedResultStockMovementViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
itemsrequiredarray of StockMovementView
items[].actorNamestring or null
items[].createdAtrequiredstring (date-time)
items[].kindrequiredstring
items[].locationIdrequiredstring
items[].locationNamerequiredstring
items[].publicIdrequiredstring
items[].qtyrequiredstring
items[].reasonCodestring or null
items[].reasonNoterequiredstring
items[].refIdstring or null
items[].refKindstring or null
items[].refLabelstring or null
items[].skurequiredstring
items[].stockItemIdrequiredstring
items[].unitCostCentsrequiredinteger

int64.

items[].valueCentsrequiredinteger

int64.

pagerequiredinteger
pageSizerequiredinteger
totalrequiredinteger
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/inventory/movements?from=<from>&item=<item>&kind=adjustment&location=<location>&page=0&pageSize=0' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETinventory:readshared facehosteditmspIdempotent

Source: [object Object]

listReorder lists the levels at or below their reorder point once open purchase orders are counted.

StatusBodyDescription
200application/json, array of ReorderCandidateViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
[].defaultSupplierIdstring or null
[].defaultSupplierNamestring or null
[].itemNamerequiredstring
[].locationIdrequiredstring
[].locationNamerequiredstring
[].onHandrequiredstring
[].onOrderrequiredstring
[].reorderPointrequiredstring
[].reorderQtyrequiredstring
[].skurequiredstring
[].stockItemIdrequiredstring
[].suggestedQtyrequiredstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/inventory/reorder' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTprocurement:writeshared facehosteditmspIdempotent

Source: [object Object]

runReorder drafts purchase orders now: one reorder draft per supplier and location.

StatusBodyDescription
200application/json, ReorderRunResultSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
draftsTouchedrequiredinteger
linesAddedrequiredinteger
skippedNoSupplierrequiredinteger
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X POST 'https://depot.example.com/api/v1/inventory/reorder/run' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETinventory:readshared facehosteditmspIdempotent

Source: [object Object]

listTransfers lists stock transfers, newest first.

NameInTypeRequiredDescription
locationquerystringNo
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
statequerystring, one of cancelled, draft, in_transit, receivedNoComma-separated set. An unrecognised value is refused.
StatusBodyDescription
200application/json, PagedResultStockTransferViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
itemsrequiredarray of StockTransferView
items[].cancelledAtstring (date-time) or null
items[].createdAtrequiredstring (date-time)
items[].fromLocationIdrequiredstring
items[].fromLocationNamerequiredstring
items[].linesrequiredarray of StockTransferLineView
items[].lines[].assetIdsrequiredarray of string
items[].lines[].publicIdrequiredstring
items[].lines[].qtyrequiredstring
items[].lines[].skurequiredstring
items[].lines[].stockItemIdrequiredstring
items[].noterequiredstring
items[].publicIdrequiredstring
items[].receivedAtstring (date-time) or null
items[].rowVersionrequiredinteger

int64.

items[].shippedAtstring (date-time) or null
items[].staterequiredstring
items[].toLocationIdrequiredstring
items[].toLocationNamerequiredstring
pagerequiredinteger
pageSizerequiredinteger
totalrequiredinteger
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/inventory/transfers?location=<location>&page=0&pageSize=0&state=cancelled' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTinventory:writeshared facehosteditmsp

Source: [object Object]

createTransfer drafts a transfer between two locations.

Serialized lines name their units.

Required, sent as application/json.

The body is any.

StatusBodyDescription
201application/json, StockTransferViewCreated.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

201 response body

FieldTypeDescription
cancelledAtstring (date-time) or null
createdAtrequiredstring (date-time)
fromLocationIdrequiredstring
fromLocationNamerequiredstring
linesrequiredarray of StockTransferLineView
lines[].assetIdsrequiredarray of string
lines[].publicIdrequiredstring
lines[].qtyrequiredstring
lines[].skurequiredstring
lines[].stockItemIdrequiredstring
noterequiredstring
publicIdrequiredstring
receivedAtstring (date-time) or null
rowVersionrequiredinteger

int64.

shippedAtstring (date-time) or null
staterequiredstring
toLocationIdrequiredstring
toLocationNamerequiredstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
curl -X POST 'https://depot.example.com/api/v1/inventory/transfers' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETinventory:readshared facehosteditmspIdempotent

Source: [object Object]

getTransfer reads one transfer with its lines.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, StockTransferViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
cancelledAtstring (date-time) or null
createdAtrequiredstring (date-time)
fromLocationIdrequiredstring
fromLocationNamerequiredstring
linesrequiredarray of StockTransferLineView
lines[].assetIdsrequiredarray of string
lines[].publicIdrequiredstring
lines[].qtyrequiredstring
lines[].skurequiredstring
lines[].stockItemIdrequiredstring
noterequiredstring
publicIdrequiredstring
receivedAtstring (date-time) or null
rowVersionrequiredinteger

int64.

shippedAtstring (date-time) or null
staterequiredstring
toLocationIdrequiredstring
toLocationNamerequiredstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X GET 'https://depot.example.com/api/v1/inventory/transfers/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/inventory/transfers/{id}/cancel

Section titled “POST /api/v1/inventory/transfers/{id}/cancel”

POSTinventory:writeshared facehosteditmspIdempotent

Source: [object Object]

cancelTransfer cancels a draft transfer.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, StockTransferViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
cancelledAtstring (date-time) or null
createdAtrequiredstring (date-time)
fromLocationIdrequiredstring
fromLocationNamerequiredstring
linesrequiredarray of StockTransferLineView
lines[].assetIdsrequiredarray of string
lines[].publicIdrequiredstring
lines[].qtyrequiredstring
lines[].skurequiredstring
lines[].stockItemIdrequiredstring
noterequiredstring
publicIdrequiredstring
receivedAtstring (date-time) or null
rowVersionrequiredinteger

int64.

shippedAtstring (date-time) or null
staterequiredstring
toLocationIdrequiredstring
toLocationNamerequiredstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X POST 'https://depot.example.com/api/v1/inventory/transfers/<id>/cancel' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/inventory/transfers/{id}/receive

Section titled “POST /api/v1/inventory/transfers/{id}/receive”

POSTinventory:writeshared facehosteditmspIdempotent

Source: [object Object]

receiveTransfer books an in-transit transfer into the destination location.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, StockTransferViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
cancelledAtstring (date-time) or null
createdAtrequiredstring (date-time)
fromLocationIdrequiredstring
fromLocationNamerequiredstring
linesrequiredarray of StockTransferLineView
lines[].assetIdsrequiredarray of string
lines[].publicIdrequiredstring
lines[].qtyrequiredstring
lines[].skurequiredstring
lines[].stockItemIdrequiredstring
noterequiredstring
publicIdrequiredstring
receivedAtstring (date-time) or null
rowVersionrequiredinteger

int64.

shippedAtstring (date-time) or null
staterequiredstring
toLocationIdrequiredstring
toLocationNamerequiredstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X POST 'https://depot.example.com/api/v1/inventory/transfers/<id>/receive' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/inventory/transfers/{id}/ship

Section titled “POST /api/v1/inventory/transfers/{id}/ship”

POSTinventory:writeshared facehosteditmspIdempotent

Source: [object Object]

shipTransfer sends a draft transfer: stock leaves the source location.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, StockTransferViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold inventory:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis record changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
cancelledAtstring (date-time) or null
createdAtrequiredstring (date-time)
fromLocationIdrequiredstring
fromLocationNamerequiredstring
linesrequiredarray of StockTransferLineView
lines[].assetIdsrequiredarray of string
lines[].publicIdrequiredstring
lines[].qtyrequiredstring
lines[].skurequiredstring
lines[].stockItemIdrequiredstring
noterequiredstring
publicIdrequiredstring
receivedAtstring (date-time) or null
rowVersionrequiredinteger

int64.

shippedAtstring (date-time) or null
staterequiredstring
toLocationIdrequiredstring
toLocationNamerequiredstring
Terminal window
# Sign in first. outpost_console is a session cookie, so send it with every request.
# This operation is idempotent. Repeating it does not repeat its effect.
curl -X POST 'https://depot.example.com/api/v1/inventory/transfers/<id>/ship' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

Content is licensed CC BY 4.0. Code samples are MIT. Outpost and the Outpost mark are trademarks of Outpost Business Solutions, PBC and are not covered by either license.