Skip to content

Depot procurement

Registers the procurement routes (not RMAs, PunchOut or the distributor catalog, which are other owners’).

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

GET /api/v1/inventory/items/{id}/suppliers

Section titled “GET /api/v1/inventory/items/{id}/suppliers”

GETinventory:readshared facehosteditmspIdempotent

Source: [object Object]

listSupplierItems lists who sells a stock item, with their part numbers and costs.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, array of SupplierItemViewSuccess.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
[].costCentsrequiredinteger

int64.

[].leadDaysrequiredinteger
[].publicIdrequiredstring
[].rowVersionrequiredinteger

int64.

[].stockItemIdrequiredstring
[].supplierIdrequiredstring
[].supplierNamerequiredstring
[].supplierSkurequiredstring
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>/suppliers' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PUT /api/v1/inventory/items/{id}/suppliers/{supplierId}

Section titled “PUT /api/v1/inventory/items/{id}/suppliers/{supplierId}”

PUTprocurement:writeshared facehosteditmspIdempotent

Source: [object Object]

putSupplierItem sets one supplier’s part number, cost and lead time for a stock item.

NameInTypeRequiredDescription
idpathstringYes
supplierIdpathstringYes

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, SupplierItemViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
costCentsrequiredinteger

int64.

leadDaysrequiredinteger
publicIdrequiredstring
rowVersionrequiredinteger

int64.

stockItemIdrequiredstring
supplierIdrequiredstring
supplierNamerequiredstring
supplierSkurequiredstring
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/items/<id>/suppliers/<supplierId>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

DELETE /api/v1/inventory/items/{id}/suppliers/{supplierId}

Section titled “DELETE /api/v1/inventory/items/{id}/suppliers/{supplierId}”

DELETEprocurement:writeshared facehosteditmspIdempotent

Source: [object Object]

deleteSupplierItem removes a supplier from a stock item.

NameInTypeRequiredDescription
idpathstringYes
supplierIdpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:write.
404application/problem+json, ProblemDetailsThis supplier does not sell this item.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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>/suppliers/<supplierId>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETprocurement:readshared facehosteditmspIdempotent

Source: [object Object]

listBills lists supplier bills, newest bill date first.

Filters: state (comma-separated), supplier, q (bill number or supplier), from, to.

NameInTypeRequiredDescription
fromquerystringNo
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
qquerystringNoFree-text search term.
statequerystring, one of approved, draft, exported, matched, variance, voidNoComma-separated set. An unrecognised value is refused.
supplierquerystringNo
toquerystringNo
StatusBodyDescription
200application/json, PagedResultBillViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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 BillView
items[].approvedAtstring or null
items[].approvedByNamestring or null
items[].billDaterequiredstring
items[].billNumberrequiredstring
items[].createdAtrequiredstring
items[].dueOnstring or null
items[].exportBatchstring or null
items[].exportedAtstring or null
items[].freightCentsrequiredinteger

int64.

items[].linesrequiredarray of BillLineView
items[].lines[].amountCentsrequiredinteger

int64.

items[].lines[].descriptionrequiredstring
items[].lines[].kindrequiredstring
items[].lines[].matchStaterequiredstring
items[].lines[].periodEndstring or null
items[].lines[].periodStartstring or null
items[].lines[].poNumberstring or null
items[].lines[].poQtyOrderedstring or null
items[].lines[].poQtyReceivedstring or null
items[].lines[].poUnitCostCentsinteger or null

int64.

items[].lines[].positionrequiredinteger
items[].lines[].proRatarequiredboolean
items[].lines[].publicIdrequiredstring
items[].lines[].purchaseOrderIdstring or null
items[].lines[].purchaseOrderLineIdstring or null
items[].lines[].qtyrequiredstring
items[].lines[].subscriptionExternalIdstring or null
items[].lines[].unitCostCentsrequiredinteger

int64.

items[].lines[].varianceCentsrequiredinteger

int64.

items[].publicIdrequiredstring
items[].rowVersionrequiredinteger

int64.

items[].sourcerequiredstring
items[].staterequiredstring
items[].subtotalCentsrequiredinteger

int64.

items[].supplierIdrequiredstring
items[].supplierNamerequiredstring
items[].taxCentsrequiredinteger

int64.

items[].totalCentsrequiredinteger

int64.

items[].varianceCentsrequiredinteger

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/procurement/bills?from=<from>&page=0&pageSize=0&q=<q>&state=approved&supplier=<supplier>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTprocurement:writeshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

createBill enters a supplier bill by hand.

Freight and tax given as totals become lines of their own.

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, BillViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvedAtstring or null
approvedByNamestring or null
billDaterequiredstring
billNumberrequiredstring
createdAtrequiredstring
dueOnstring or null
exportBatchstring or null
exportedAtstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of BillLineView
lines[].amountCentsrequiredinteger

int64.

lines[].descriptionrequiredstring
lines[].kindrequiredstring
lines[].matchStaterequiredstring
lines[].periodEndstring or null
lines[].periodStartstring or null
lines[].poNumberstring or null
lines[].poQtyOrderedstring or null
lines[].poQtyReceivedstring or null
lines[].poUnitCostCentsinteger or null

int64.

lines[].positionrequiredinteger
lines[].proRatarequiredboolean
lines[].publicIdrequiredstring
lines[].purchaseOrderIdstring or null
lines[].purchaseOrderLineIdstring or null
lines[].qtyrequiredstring
lines[].subscriptionExternalIdstring or null
lines[].unitCostCentsrequiredinteger

int64.

lines[].varianceCentsrequiredinteger

int64.

publicIdrequiredstring
rowVersionrequiredinteger

int64.

sourcerequiredstring
staterequiredstring
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

varianceCentsrequiredinteger

int64.

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/procurement/bills' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETprocurement:readshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

getBill reads one supplier bill with its lines and their match.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, BillViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvedAtstring or null
approvedByNamestring or null
billDaterequiredstring
billNumberrequiredstring
createdAtrequiredstring
dueOnstring or null
exportBatchstring or null
exportedAtstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of BillLineView
lines[].amountCentsrequiredinteger

int64.

lines[].descriptionrequiredstring
lines[].kindrequiredstring
lines[].matchStaterequiredstring
lines[].periodEndstring or null
lines[].periodStartstring or null
lines[].poNumberstring or null
lines[].poQtyOrderedstring or null
lines[].poQtyReceivedstring or null
lines[].poUnitCostCentsinteger or null

int64.

lines[].positionrequiredinteger
lines[].proRatarequiredboolean
lines[].publicIdrequiredstring
lines[].purchaseOrderIdstring or null
lines[].purchaseOrderLineIdstring or null
lines[].qtyrequiredstring
lines[].subscriptionExternalIdstring or null
lines[].unitCostCentsrequiredinteger

int64.

lines[].varianceCentsrequiredinteger

int64.

publicIdrequiredstring
rowVersionrequiredinteger

int64.

sourcerequiredstring
staterequiredstring
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

varianceCentsrequiredinteger

int64.

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/procurement/bills/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PUTprocurement:writeshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

putBill replaces a draft, matched or variance bill (rowVersion required); it returns to draft and is matched again.

NameInTypeRequiredDescription
idpathstringYes

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, BillViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvedAtstring or null
approvedByNamestring or null
billDaterequiredstring
billNumberrequiredstring
createdAtrequiredstring
dueOnstring or null
exportBatchstring or null
exportedAtstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of BillLineView
lines[].amountCentsrequiredinteger

int64.

lines[].descriptionrequiredstring
lines[].kindrequiredstring
lines[].matchStaterequiredstring
lines[].periodEndstring or null
lines[].periodStartstring or null
lines[].poNumberstring or null
lines[].poQtyOrderedstring or null
lines[].poQtyReceivedstring or null
lines[].poUnitCostCentsinteger or null

int64.

lines[].positionrequiredinteger
lines[].proRatarequiredboolean
lines[].publicIdrequiredstring
lines[].purchaseOrderIdstring or null
lines[].purchaseOrderLineIdstring or null
lines[].qtyrequiredstring
lines[].subscriptionExternalIdstring or null
lines[].unitCostCentsrequiredinteger

int64.

lines[].varianceCentsrequiredinteger

int64.

publicIdrequiredstring
rowVersionrequiredinteger

int64.

sourcerequiredstring
staterequiredstring
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

varianceCentsrequiredinteger

int64.

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/procurement/bills/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

POST /api/v1/procurement/bills/{id}/approve

Section titled “POST /api/v1/procurement/bills/{id}/approve”

POSTprocurement:approveshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

approveBill approves a matched (or variance) bill and rolls its freight, fees and price variance into the landed cost of what it paid for.

A second approve changes nothing.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, BillViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:approve.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvedAtstring or null
approvedByNamestring or null
billDaterequiredstring
billNumberrequiredstring
createdAtrequiredstring
dueOnstring or null
exportBatchstring or null
exportedAtstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of BillLineView
lines[].amountCentsrequiredinteger

int64.

lines[].descriptionrequiredstring
lines[].kindrequiredstring
lines[].matchStaterequiredstring
lines[].periodEndstring or null
lines[].periodStartstring or null
lines[].poNumberstring or null
lines[].poQtyOrderedstring or null
lines[].poQtyReceivedstring or null
lines[].poUnitCostCentsinteger or null

int64.

lines[].positionrequiredinteger
lines[].proRatarequiredboolean
lines[].publicIdrequiredstring
lines[].purchaseOrderIdstring or null
lines[].purchaseOrderLineIdstring or null
lines[].qtyrequiredstring
lines[].subscriptionExternalIdstring or null
lines[].unitCostCentsrequiredinteger

int64.

lines[].varianceCentsrequiredinteger

int64.

publicIdrequiredstring
rowVersionrequiredinteger

int64.

sourcerequiredstring
staterequiredstring
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

varianceCentsrequiredinteger

int64.

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/procurement/bills/<id>/approve' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTprocurement:writeshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

matchBill runs the 3-way match: each line against its PO line and what was received, within the price and freight tolerances in procurement settings.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, BillViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvedAtstring or null
approvedByNamestring or null
billDaterequiredstring
billNumberrequiredstring
createdAtrequiredstring
dueOnstring or null
exportBatchstring or null
exportedAtstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of BillLineView
lines[].amountCentsrequiredinteger

int64.

lines[].descriptionrequiredstring
lines[].kindrequiredstring
lines[].matchStaterequiredstring
lines[].periodEndstring or null
lines[].periodStartstring or null
lines[].poNumberstring or null
lines[].poQtyOrderedstring or null
lines[].poQtyReceivedstring or null
lines[].poUnitCostCentsinteger or null

int64.

lines[].positionrequiredinteger
lines[].proRatarequiredboolean
lines[].publicIdrequiredstring
lines[].purchaseOrderIdstring or null
lines[].purchaseOrderLineIdstring or null
lines[].qtyrequiredstring
lines[].subscriptionExternalIdstring or null
lines[].unitCostCentsrequiredinteger

int64.

lines[].varianceCentsrequiredinteger

int64.

publicIdrequiredstring
rowVersionrequiredinteger

int64.

sourcerequiredstring
staterequiredstring
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

varianceCentsrequiredinteger

int64.

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/procurement/bills/<id>/match' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTprocurement:approveshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

voidBill voids a bill that has not been exported.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, BillViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:approve.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvedAtstring or null
approvedByNamestring or null
billDaterequiredstring
billNumberrequiredstring
createdAtrequiredstring
dueOnstring or null
exportBatchstring or null
exportedAtstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of BillLineView
lines[].amountCentsrequiredinteger

int64.

lines[].descriptionrequiredstring
lines[].kindrequiredstring
lines[].matchStaterequiredstring
lines[].periodEndstring or null
lines[].periodStartstring or null
lines[].poNumberstring or null
lines[].poQtyOrderedstring or null
lines[].poQtyReceivedstring or null
lines[].poUnitCostCentsinteger or null

int64.

lines[].positionrequiredinteger
lines[].proRatarequiredboolean
lines[].publicIdrequiredstring
lines[].purchaseOrderIdstring or null
lines[].purchaseOrderLineIdstring or null
lines[].qtyrequiredstring
lines[].subscriptionExternalIdstring or null
lines[].unitCostCentsrequiredinteger

int64.

lines[].varianceCentsrequiredinteger

int64.

publicIdrequiredstring
rowVersionrequiredinteger

int64.

sourcerequiredstring
staterequiredstring
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

varianceCentsrequiredinteger

int64.

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/procurement/bills/<id>/void' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTprocurement:approveshared facehosteditmspIdempotentdownloadNot fully resolved

What this page does not know
  • response

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

exportBills writes the payables CSV for approved bills and marks them exported under one batch.

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/octet-stream, string (binary)Success. The body shape was not resolved; see x-outpost-unresolved.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:approve.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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 POST 'https://depot.example.com/api/v1/procurement/bills/export.csv' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETprocurement:readshared facehosteditmspIdempotent

Source: [object Object]

listPurchaseOrders lists purchase orders, newest first by default.

Filters: q (PO number, supplier reference, supplier name), status (comma-separated), supplier, salesOrder, client (drop-ship or line client), origin.

NameInTypeRequiredDescription
clientquerystringNo
dirquerystring, one of asc, descNoSort direction.
originquerystringNo
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
qquerystringNoFree-text search term.
salesOrderquerystringNo
sortquerystring, one of created, expected, number, totalNoSort key.
statusquerystring, one of approved, cancelled, closed, draft, partially_received, pending_approval, received, sent, submittedNoComma-separated set. An unrecognised value is refused.
supplierquerystringNo
StatusBodyDescription
200application/json, PagedResultPoSummaryViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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 PoSummaryView
items[].createdAtrequiredstring
items[].dropShipClientIdstring or null
items[].dropShipClientNamestring or null
items[].expectedOnstring or null
items[].locationIdstring or null
items[].locationNamestring or null
items[].originrequiredstring
items[].poNumberrequiredstring
items[].publicIdrequiredstring
items[].shipToKindrequiredstring
items[].statusrequiredstring
items[].submissionStaterequiredstring
items[].supplierIdrequiredstring
items[].supplierNamerequiredstring
items[].totalCentsrequiredinteger

int64.

items[].updatedAtrequiredstring
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/procurement/purchase-orders?client=<client>&dir=asc&origin=<origin>&page=0&pageSize=0&q=<q>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTprocurement:writeshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

createPurchaseOrder creates a draft purchase order and draws its number.

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, PoViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvalRequestedAtstring or null
approvedAtstring or null
approvedByNamestring or null
cancelledAtstring or null
closedAtstring or null
connectorIdstring or null
connectorLiverequiredboolean
connectorNamestring or null
createdAtrequiredstring
dropShipClientIdstring or null
dropShipClientNamestring or null
dropShipSiteIdstring or null
expectedOnstring or null
externalOrderIdstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of PoLineView
lines[].clientIdstring or null
lines[].clientNamestring or null
lines[].descriptionrequiredstring
lines[].expectedOnstring or null
lines[].kindrequiredstring
lines[].mpnrequiredstring
lines[].positionrequiredinteger
lines[].publicIdrequiredstring
lines[].qtyBackorderedrequiredstring
lines[].qtyCancelledrequiredstring
lines[].qtyOrderedrequiredstring
lines[].qtyReceivedrequiredstring
lines[].rowVersionrequiredinteger

int64.

lines[].salesOrderIdstring or null
lines[].salesOrderLineIdstring or null
lines[].salesOrderNumberstring or null
lines[].serializedrequiredboolean
lines[].stockItemIdstring or null
lines[].stockItemSkustring or null
lines[].supplierSkurequiredstring
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
needsApprovalrequiredboolean
notesrequiredstring
originrequiredstring
poNumberrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

sentAtstring or null
shipToKindrequiredstring
shipmentsrequiredarray of PoShipmentView
shipments[].carrierrequiredstring
shipments[].createdAtrequiredstring
shipments[].estimatedDeliveryOnstring or null
shipments[].publicIdrequiredstring
shipments[].serialsrequiredobject
shipments[].shippedAtstring or null
shipments[].sourcerequiredstring
shipments[].trackingNumberrequiredstring
shipments[].trackingUrlrequiredstring
statusrequiredstring
statusPolledAtstring or null
submissionAttemptsrequiredinteger
submissionErrorrequiredstring
submissionStaterequiredstring
submitConfirmedAtstring or null
submitExpectedTotalCentsinteger or null

int64.

submittedAtstring or null
submittedByNamestring or null
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
supplierReferencerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

updatedAtrequiredstring
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/procurement/purchase-orders' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GET /api/v1/procurement/purchase-orders/{id}

Section titled “GET /api/v1/procurement/purchase-orders/{id}”

GETprocurement:readshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

getPurchaseOrder reads one purchase order with its lines and shipments.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, PoViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvalRequestedAtstring or null
approvedAtstring or null
approvedByNamestring or null
cancelledAtstring or null
closedAtstring or null
connectorIdstring or null
connectorLiverequiredboolean
connectorNamestring or null
createdAtrequiredstring
dropShipClientIdstring or null
dropShipClientNamestring or null
dropShipSiteIdstring or null
expectedOnstring or null
externalOrderIdstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of PoLineView
lines[].clientIdstring or null
lines[].clientNamestring or null
lines[].descriptionrequiredstring
lines[].expectedOnstring or null
lines[].kindrequiredstring
lines[].mpnrequiredstring
lines[].positionrequiredinteger
lines[].publicIdrequiredstring
lines[].qtyBackorderedrequiredstring
lines[].qtyCancelledrequiredstring
lines[].qtyOrderedrequiredstring
lines[].qtyReceivedrequiredstring
lines[].rowVersionrequiredinteger

int64.

lines[].salesOrderIdstring or null
lines[].salesOrderLineIdstring or null
lines[].salesOrderNumberstring or null
lines[].serializedrequiredboolean
lines[].stockItemIdstring or null
lines[].stockItemSkustring or null
lines[].supplierSkurequiredstring
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
needsApprovalrequiredboolean
notesrequiredstring
originrequiredstring
poNumberrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

sentAtstring or null
shipToKindrequiredstring
shipmentsrequiredarray of PoShipmentView
shipments[].carrierrequiredstring
shipments[].createdAtrequiredstring
shipments[].estimatedDeliveryOnstring or null
shipments[].publicIdrequiredstring
shipments[].serialsrequiredobject
shipments[].shippedAtstring or null
shipments[].sourcerequiredstring
shipments[].trackingNumberrequiredstring
shipments[].trackingUrlrequiredstring
statusrequiredstring
statusPolledAtstring or null
submissionAttemptsrequiredinteger
submissionErrorrequiredstring
submissionStaterequiredstring
submitConfirmedAtstring or null
submitExpectedTotalCentsinteger or null

int64.

submittedAtstring or null
submittedByNamestring or null
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
supplierReferencerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

updatedAtrequiredstring
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/procurement/purchase-orders/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PUT /api/v1/procurement/purchase-orders/{id}

Section titled “PUT /api/v1/procurement/purchase-orders/{id}”

PUTprocurement:writeshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

putPurchaseOrder replaces the document (rowVersion required).

Allowed in draft, pending approval and approved; any edit returns it to draft and clears the approval. 409 notEditable once it went to the supplier.

NameInTypeRequiredDescription
idpathstringYes

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, PoViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvalRequestedAtstring or null
approvedAtstring or null
approvedByNamestring or null
cancelledAtstring or null
closedAtstring or null
connectorIdstring or null
connectorLiverequiredboolean
connectorNamestring or null
createdAtrequiredstring
dropShipClientIdstring or null
dropShipClientNamestring or null
dropShipSiteIdstring or null
expectedOnstring or null
externalOrderIdstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of PoLineView
lines[].clientIdstring or null
lines[].clientNamestring or null
lines[].descriptionrequiredstring
lines[].expectedOnstring or null
lines[].kindrequiredstring
lines[].mpnrequiredstring
lines[].positionrequiredinteger
lines[].publicIdrequiredstring
lines[].qtyBackorderedrequiredstring
lines[].qtyCancelledrequiredstring
lines[].qtyOrderedrequiredstring
lines[].qtyReceivedrequiredstring
lines[].rowVersionrequiredinteger

int64.

lines[].salesOrderIdstring or null
lines[].salesOrderLineIdstring or null
lines[].salesOrderNumberstring or null
lines[].serializedrequiredboolean
lines[].stockItemIdstring or null
lines[].stockItemSkustring or null
lines[].supplierSkurequiredstring
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
needsApprovalrequiredboolean
notesrequiredstring
originrequiredstring
poNumberrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

sentAtstring or null
shipToKindrequiredstring
shipmentsrequiredarray of PoShipmentView
shipments[].carrierrequiredstring
shipments[].createdAtrequiredstring
shipments[].estimatedDeliveryOnstring or null
shipments[].publicIdrequiredstring
shipments[].serialsrequiredobject
shipments[].shippedAtstring or null
shipments[].sourcerequiredstring
shipments[].trackingNumberrequiredstring
shipments[].trackingUrlrequiredstring
statusrequiredstring
statusPolledAtstring or null
submissionAttemptsrequiredinteger
submissionErrorrequiredstring
submissionStaterequiredstring
submitConfirmedAtstring or null
submitExpectedTotalCentsinteger or null

int64.

submittedAtstring or null
submittedByNamestring or null
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
supplierReferencerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

updatedAtrequiredstring
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/procurement/purchase-orders/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

DELETE /api/v1/procurement/purchase-orders/{id}

Section titled “DELETE /api/v1/procurement/purchase-orders/{id}”

DELETEprocurement:writeshared facehosteditmspIdempotent

Source: [object Object]

deletePurchaseOrder deletes a draft that was never approved.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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/procurement/purchase-orders/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/procurement/purchase-orders/{id}/approve

Section titled “POST /api/v1/procurement/purchase-orders/{id}/approve”

POSTprocurement:approveshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

approvePO approves a purchase order waiting for approval.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, PoViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:approve.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvalRequestedAtstring or null
approvedAtstring or null
approvedByNamestring or null
cancelledAtstring or null
closedAtstring or null
connectorIdstring or null
connectorLiverequiredboolean
connectorNamestring or null
createdAtrequiredstring
dropShipClientIdstring or null
dropShipClientNamestring or null
dropShipSiteIdstring or null
expectedOnstring or null
externalOrderIdstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of PoLineView
lines[].clientIdstring or null
lines[].clientNamestring or null
lines[].descriptionrequiredstring
lines[].expectedOnstring or null
lines[].kindrequiredstring
lines[].mpnrequiredstring
lines[].positionrequiredinteger
lines[].publicIdrequiredstring
lines[].qtyBackorderedrequiredstring
lines[].qtyCancelledrequiredstring
lines[].qtyOrderedrequiredstring
lines[].qtyReceivedrequiredstring
lines[].rowVersionrequiredinteger

int64.

lines[].salesOrderIdstring or null
lines[].salesOrderLineIdstring or null
lines[].salesOrderNumberstring or null
lines[].serializedrequiredboolean
lines[].stockItemIdstring or null
lines[].stockItemSkustring or null
lines[].supplierSkurequiredstring
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
needsApprovalrequiredboolean
notesrequiredstring
originrequiredstring
poNumberrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

sentAtstring or null
shipToKindrequiredstring
shipmentsrequiredarray of PoShipmentView
shipments[].carrierrequiredstring
shipments[].createdAtrequiredstring
shipments[].estimatedDeliveryOnstring or null
shipments[].publicIdrequiredstring
shipments[].serialsrequiredobject
shipments[].shippedAtstring or null
shipments[].sourcerequiredstring
shipments[].trackingNumberrequiredstring
shipments[].trackingUrlrequiredstring
statusrequiredstring
statusPolledAtstring or null
submissionAttemptsrequiredinteger
submissionErrorrequiredstring
submissionStaterequiredstring
submitConfirmedAtstring or null
submitExpectedTotalCentsinteger or null

int64.

submittedAtstring or null
submittedByNamestring or null
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
supplierReferencerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

updatedAtrequiredstring
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/procurement/purchase-orders/<id>/approve' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/procurement/purchase-orders/{id}/cancel

Section titled “POST /api/v1/procurement/purchase-orders/{id}/cancel”

POSTprocurement:writeshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

cancelPO cancels a purchase order before anything was received and before a distributor accepted it.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, PoViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvalRequestedAtstring or null
approvedAtstring or null
approvedByNamestring or null
cancelledAtstring or null
closedAtstring or null
connectorIdstring or null
connectorLiverequiredboolean
connectorNamestring or null
createdAtrequiredstring
dropShipClientIdstring or null
dropShipClientNamestring or null
dropShipSiteIdstring or null
expectedOnstring or null
externalOrderIdstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of PoLineView
lines[].clientIdstring or null
lines[].clientNamestring or null
lines[].descriptionrequiredstring
lines[].expectedOnstring or null
lines[].kindrequiredstring
lines[].mpnrequiredstring
lines[].positionrequiredinteger
lines[].publicIdrequiredstring
lines[].qtyBackorderedrequiredstring
lines[].qtyCancelledrequiredstring
lines[].qtyOrderedrequiredstring
lines[].qtyReceivedrequiredstring
lines[].rowVersionrequiredinteger

int64.

lines[].salesOrderIdstring or null
lines[].salesOrderLineIdstring or null
lines[].salesOrderNumberstring or null
lines[].serializedrequiredboolean
lines[].stockItemIdstring or null
lines[].stockItemSkustring or null
lines[].supplierSkurequiredstring
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
needsApprovalrequiredboolean
notesrequiredstring
originrequiredstring
poNumberrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

sentAtstring or null
shipToKindrequiredstring
shipmentsrequiredarray of PoShipmentView
shipments[].carrierrequiredstring
shipments[].createdAtrequiredstring
shipments[].estimatedDeliveryOnstring or null
shipments[].publicIdrequiredstring
shipments[].serialsrequiredobject
shipments[].shippedAtstring or null
shipments[].sourcerequiredstring
shipments[].trackingNumberrequiredstring
shipments[].trackingUrlrequiredstring
statusrequiredstring
statusPolledAtstring or null
submissionAttemptsrequiredinteger
submissionErrorrequiredstring
submissionStaterequiredstring
submitConfirmedAtstring or null
submitExpectedTotalCentsinteger or null

int64.

submittedAtstring or null
submittedByNamestring or null
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
supplierReferencerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

updatedAtrequiredstring
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/procurement/purchase-orders/<id>/cancel' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/procurement/purchase-orders/{id}/close

Section titled “POST /api/v1/procurement/purchase-orders/{id}/close”

POSTprocurement:writeshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

closePO closes a received or partly received purchase order; whatever has not arrived is cancelled.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, PoViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvalRequestedAtstring or null
approvedAtstring or null
approvedByNamestring or null
cancelledAtstring or null
closedAtstring or null
connectorIdstring or null
connectorLiverequiredboolean
connectorNamestring or null
createdAtrequiredstring
dropShipClientIdstring or null
dropShipClientNamestring or null
dropShipSiteIdstring or null
expectedOnstring or null
externalOrderIdstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of PoLineView
lines[].clientIdstring or null
lines[].clientNamestring or null
lines[].descriptionrequiredstring
lines[].expectedOnstring or null
lines[].kindrequiredstring
lines[].mpnrequiredstring
lines[].positionrequiredinteger
lines[].publicIdrequiredstring
lines[].qtyBackorderedrequiredstring
lines[].qtyCancelledrequiredstring
lines[].qtyOrderedrequiredstring
lines[].qtyReceivedrequiredstring
lines[].rowVersionrequiredinteger

int64.

lines[].salesOrderIdstring or null
lines[].salesOrderLineIdstring or null
lines[].salesOrderNumberstring or null
lines[].serializedrequiredboolean
lines[].stockItemIdstring or null
lines[].stockItemSkustring or null
lines[].supplierSkurequiredstring
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
needsApprovalrequiredboolean
notesrequiredstring
originrequiredstring
poNumberrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

sentAtstring or null
shipToKindrequiredstring
shipmentsrequiredarray of PoShipmentView
shipments[].carrierrequiredstring
shipments[].createdAtrequiredstring
shipments[].estimatedDeliveryOnstring or null
shipments[].publicIdrequiredstring
shipments[].serialsrequiredobject
shipments[].shippedAtstring or null
shipments[].sourcerequiredstring
shipments[].trackingNumberrequiredstring
shipments[].trackingUrlrequiredstring
statusrequiredstring
statusPolledAtstring or null
submissionAttemptsrequiredinteger
submissionErrorrequiredstring
submissionStaterequiredstring
submitConfirmedAtstring or null
submitExpectedTotalCentsinteger or null

int64.

submittedAtstring or null
submittedByNamestring or null
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
supplierReferencerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

updatedAtrequiredstring
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/procurement/purchase-orders/<id>/close' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GET /api/v1/procurement/purchase-orders/{id}/pdf

Section titled “GET /api/v1/procurement/purchase-orders/{id}/pdf”

GETprocurement:readshared facehosteditmspIdempotentdownloadNot fully resolved

What this page does not know
  • response

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

purchaseOrderPDF renders the purchase order as a PDF.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/octet-stream, string (binary)Success. The body shape was not resolved; see x-outpost-unresolved.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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 GET 'https://depot.example.com/api/v1/procurement/purchase-orders/<id>/pdf' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GET /api/v1/procurement/purchase-orders/{id}/receipts

Section titled “GET /api/v1/procurement/purchase-orders/{id}/receipts”

GETprocurement:readshared facehosteditmspIdempotent

Source: [object Object]

listPOReceipts lists a purchase order’s receipts, oldest first.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, array of ReceiptViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
[].clientAssetsStaterequiredstring
[].dropShiprequiredboolean
[].linesrequiredarray of ReceiptLineView
[].lines[].assetIdsrequiredarray of string
[].lines[].descriptionrequiredstring
[].lines[].publicIdrequiredstring
[].lines[].purchaseOrderLineIdrequiredstring
[].lines[].qtyrequiredstring
[].lines[].serialsrequiredarray of string
[].lines[].unitCostCentsrequiredinteger

int64.

[].locationIdstring or null
[].locationNamestring or null
[].packingSliprequiredstring
[].poNumberrequiredstring
[].publicIdrequiredstring
[].purchaseOrderIdrequiredstring
[].receiptNumberrequiredstring
[].receivedAtrequiredstring
[].receivedByNamestring or null
[].reverseReasonstring or null
[].reversedAtstring or null
[].staterequiredstring
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/procurement/purchase-orders/<id>/receipts' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/procurement/purchase-orders/{id}/receipts

Section titled “POST /api/v1/procurement/purchase-orders/{id}/receipts”

POSTprocurement:receiveshared facehosteditmsp

Source: [object Object]

postPOReceipt receives goods on a purchase order.

Idempotent by idempotencyKey: a repeat answers the first receipt. Serialized items need one serial per unit (422 serialCount); 409 overReceipt, duplicateSerial.

NameInTypeRequiredDescription
idpathstringYes

Required, sent as application/json.

The body is any.

StatusBodyDescription
201application/json, ReceiptViewCreated.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:receive.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
clientAssetsStaterequiredstring
dropShiprequiredboolean
linesrequiredarray of ReceiptLineView
lines[].assetIdsrequiredarray of string
lines[].descriptionrequiredstring
lines[].publicIdrequiredstring
lines[].purchaseOrderLineIdrequiredstring
lines[].qtyrequiredstring
lines[].serialsrequiredarray of string
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
packingSliprequiredstring
poNumberrequiredstring
publicIdrequiredstring
purchaseOrderIdrequiredstring
receiptNumberrequiredstring
receivedAtrequiredstring
receivedByNamestring or null
reverseReasonstring or null
reversedAtstring or null
staterequiredstring
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/procurement/purchase-orders/<id>/receipts' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

POST /api/v1/procurement/purchase-orders/{id}/reject

Section titled “POST /api/v1/procurement/purchase-orders/{id}/reject”

POSTprocurement:approveshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

rejectPO returns a purchase order waiting for approval to draft.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, PoViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:approve.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvalRequestedAtstring or null
approvedAtstring or null
approvedByNamestring or null
cancelledAtstring or null
closedAtstring or null
connectorIdstring or null
connectorLiverequiredboolean
connectorNamestring or null
createdAtrequiredstring
dropShipClientIdstring or null
dropShipClientNamestring or null
dropShipSiteIdstring or null
expectedOnstring or null
externalOrderIdstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of PoLineView
lines[].clientIdstring or null
lines[].clientNamestring or null
lines[].descriptionrequiredstring
lines[].expectedOnstring or null
lines[].kindrequiredstring
lines[].mpnrequiredstring
lines[].positionrequiredinteger
lines[].publicIdrequiredstring
lines[].qtyBackorderedrequiredstring
lines[].qtyCancelledrequiredstring
lines[].qtyOrderedrequiredstring
lines[].qtyReceivedrequiredstring
lines[].rowVersionrequiredinteger

int64.

lines[].salesOrderIdstring or null
lines[].salesOrderLineIdstring or null
lines[].salesOrderNumberstring or null
lines[].serializedrequiredboolean
lines[].stockItemIdstring or null
lines[].stockItemSkustring or null
lines[].supplierSkurequiredstring
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
needsApprovalrequiredboolean
notesrequiredstring
originrequiredstring
poNumberrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

sentAtstring or null
shipToKindrequiredstring
shipmentsrequiredarray of PoShipmentView
shipments[].carrierrequiredstring
shipments[].createdAtrequiredstring
shipments[].estimatedDeliveryOnstring or null
shipments[].publicIdrequiredstring
shipments[].serialsrequiredobject
shipments[].shippedAtstring or null
shipments[].sourcerequiredstring
shipments[].trackingNumberrequiredstring
shipments[].trackingUrlrequiredstring
statusrequiredstring
statusPolledAtstring or null
submissionAttemptsrequiredinteger
submissionErrorrequiredstring
submissionStaterequiredstring
submitConfirmedAtstring or null
submitExpectedTotalCentsinteger or null

int64.

submittedAtstring or null
submittedByNamestring or null
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
supplierReferencerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

updatedAtrequiredstring
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/procurement/purchase-orders/<id>/reject' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/procurement/purchase-orders/{id}/request-approval

Section titled “POST /api/v1/procurement/purchase-orders/{id}/request-approval”

POSTprocurement:writeshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

requestPOApproval sends a draft for approval, or approves it at once when approval is off or the total is under the threshold.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, PoViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvalRequestedAtstring or null
approvedAtstring or null
approvedByNamestring or null
cancelledAtstring or null
closedAtstring or null
connectorIdstring or null
connectorLiverequiredboolean
connectorNamestring or null
createdAtrequiredstring
dropShipClientIdstring or null
dropShipClientNamestring or null
dropShipSiteIdstring or null
expectedOnstring or null
externalOrderIdstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of PoLineView
lines[].clientIdstring or null
lines[].clientNamestring or null
lines[].descriptionrequiredstring
lines[].expectedOnstring or null
lines[].kindrequiredstring
lines[].mpnrequiredstring
lines[].positionrequiredinteger
lines[].publicIdrequiredstring
lines[].qtyBackorderedrequiredstring
lines[].qtyCancelledrequiredstring
lines[].qtyOrderedrequiredstring
lines[].qtyReceivedrequiredstring
lines[].rowVersionrequiredinteger

int64.

lines[].salesOrderIdstring or null
lines[].salesOrderLineIdstring or null
lines[].salesOrderNumberstring or null
lines[].serializedrequiredboolean
lines[].stockItemIdstring or null
lines[].stockItemSkustring or null
lines[].supplierSkurequiredstring
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
needsApprovalrequiredboolean
notesrequiredstring
originrequiredstring
poNumberrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

sentAtstring or null
shipToKindrequiredstring
shipmentsrequiredarray of PoShipmentView
shipments[].carrierrequiredstring
shipments[].createdAtrequiredstring
shipments[].estimatedDeliveryOnstring or null
shipments[].publicIdrequiredstring
shipments[].serialsrequiredobject
shipments[].shippedAtstring or null
shipments[].sourcerequiredstring
shipments[].trackingNumberrequiredstring
shipments[].trackingUrlrequiredstring
statusrequiredstring
statusPolledAtstring or null
submissionAttemptsrequiredinteger
submissionErrorrequiredstring
submissionStaterequiredstring
submitConfirmedAtstring or null
submitExpectedTotalCentsinteger or null

int64.

submittedAtstring or null
submittedByNamestring or null
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
supplierReferencerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

updatedAtrequiredstring
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/procurement/purchase-orders/<id>/request-approval' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/procurement/purchase-orders/{id}/send

Section titled “POST /api/v1/procurement/purchase-orders/{id}/send”

POSTprocurement:writeshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

sendPO emails the purchase order PDF to the supplier and marks it sent.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, PoViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
502application/problem+json, ProblemDetailsThe mail provider did not accept the message. The purchase order is not marked sent.
503application/problem+json, ProblemDetailsThis Depot has no home database for this request yet.

200 response body

FieldTypeDescription
approvalRequestedAtstring or null
approvedAtstring or null
approvedByNamestring or null
cancelledAtstring or null
closedAtstring or null
connectorIdstring or null
connectorLiverequiredboolean
connectorNamestring or null
createdAtrequiredstring
dropShipClientIdstring or null
dropShipClientNamestring or null
dropShipSiteIdstring or null
expectedOnstring or null
externalOrderIdstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of PoLineView
lines[].clientIdstring or null
lines[].clientNamestring or null
lines[].descriptionrequiredstring
lines[].expectedOnstring or null
lines[].kindrequiredstring
lines[].mpnrequiredstring
lines[].positionrequiredinteger
lines[].publicIdrequiredstring
lines[].qtyBackorderedrequiredstring
lines[].qtyCancelledrequiredstring
lines[].qtyOrderedrequiredstring
lines[].qtyReceivedrequiredstring
lines[].rowVersionrequiredinteger

int64.

lines[].salesOrderIdstring or null
lines[].salesOrderLineIdstring or null
lines[].salesOrderNumberstring or null
lines[].serializedrequiredboolean
lines[].stockItemIdstring or null
lines[].stockItemSkustring or null
lines[].supplierSkurequiredstring
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
needsApprovalrequiredboolean
notesrequiredstring
originrequiredstring
poNumberrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

sentAtstring or null
shipToKindrequiredstring
shipmentsrequiredarray of PoShipmentView
shipments[].carrierrequiredstring
shipments[].createdAtrequiredstring
shipments[].estimatedDeliveryOnstring or null
shipments[].publicIdrequiredstring
shipments[].serialsrequiredobject
shipments[].shippedAtstring or null
shipments[].sourcerequiredstring
shipments[].trackingNumberrequiredstring
shipments[].trackingUrlrequiredstring
statusrequiredstring
statusPolledAtstring or null
submissionAttemptsrequiredinteger
submissionErrorrequiredstring
submissionStaterequiredstring
submitConfirmedAtstring or null
submitExpectedTotalCentsinteger or null

int64.

submittedAtstring or null
submittedByNamestring or null
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
supplierReferencerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

updatedAtrequiredstring
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/procurement/purchase-orders/<id>/send' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/procurement/purchase-orders/{id}/shipments

Section titled “POST /api/v1/procurement/purchase-orders/{id}/shipments”

POSTprocurement:writeshared facehosteditmsp

Source: [object Object]

recordPOShipment records tracking (and optionally reported serials and backordered quantities, keyed by PO line) for a purchase order.

NameInTypeRequiredDescription
idpathstringYes

Required, sent as application/json.

The body is any.

StatusBodyDescription
201application/json, PoShipmentViewCreated.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
carrierrequiredstring
createdAtrequiredstring
estimatedDeliveryOnstring or null
publicIdrequiredstring
serialsrequiredobject
shippedAtstring or null
sourcerequiredstring
trackingNumberrequiredstring
trackingUrlrequiredstring
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/procurement/purchase-orders/<id>/shipments' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

POST /api/v1/procurement/purchase-orders/{id}/submit

Section titled “POST /api/v1/procurement/purchase-orders/{id}/submit”

POSTprocurement:approveshared facehosteditmspIdempotentNot fully resolved

What this page does not know
  • response-status

These are parts of the route the extractor could not read from the source. Everything else on this page came straight from it.

Source: [object Object]

submitPO queues an approved purchase order for submission to its distributor.

Needs confirm true and the total the person reviewed; 409 liveDisabled, totalChanged or notApproved. The worker places the order.

NameInTypeRequiredDescription
idpathstringYes

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, PoViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:approve.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvalRequestedAtstring or null
approvedAtstring or null
approvedByNamestring or null
cancelledAtstring or null
closedAtstring or null
connectorIdstring or null
connectorLiverequiredboolean
connectorNamestring or null
createdAtrequiredstring
dropShipClientIdstring or null
dropShipClientNamestring or null
dropShipSiteIdstring or null
expectedOnstring or null
externalOrderIdstring or null
freightCentsrequiredinteger

int64.

linesrequiredarray of PoLineView
lines[].clientIdstring or null
lines[].clientNamestring or null
lines[].descriptionrequiredstring
lines[].expectedOnstring or null
lines[].kindrequiredstring
lines[].mpnrequiredstring
lines[].positionrequiredinteger
lines[].publicIdrequiredstring
lines[].qtyBackorderedrequiredstring
lines[].qtyCancelledrequiredstring
lines[].qtyOrderedrequiredstring
lines[].qtyReceivedrequiredstring
lines[].rowVersionrequiredinteger

int64.

lines[].salesOrderIdstring or null
lines[].salesOrderLineIdstring or null
lines[].salesOrderNumberstring or null
lines[].serializedrequiredboolean
lines[].stockItemIdstring or null
lines[].stockItemSkustring or null
lines[].supplierSkurequiredstring
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
needsApprovalrequiredboolean
notesrequiredstring
originrequiredstring
poNumberrequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

sentAtstring or null
shipToKindrequiredstring
shipmentsrequiredarray of PoShipmentView
shipments[].carrierrequiredstring
shipments[].createdAtrequiredstring
shipments[].estimatedDeliveryOnstring or null
shipments[].publicIdrequiredstring
shipments[].serialsrequiredobject
shipments[].shippedAtstring or null
shipments[].sourcerequiredstring
shipments[].trackingNumberrequiredstring
shipments[].trackingUrlrequiredstring
statusrequiredstring
statusPolledAtstring or null
submissionAttemptsrequiredinteger
submissionErrorrequiredstring
submissionStaterequiredstring
submitConfirmedAtstring or null
submitExpectedTotalCentsinteger or null

int64.

submittedAtstring or null
submittedByNamestring or null
subtotalCentsrequiredinteger

int64.

supplierIdrequiredstring
supplierNamerequiredstring
supplierReferencerequiredstring
taxCentsrequiredinteger

int64.

totalCentsrequiredinteger

int64.

updatedAtrequiredstring
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/procurement/purchase-orders/<id>/submit' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETprocurement:readshared facehosteditmspIdempotent

Source: [object Object]

getReceipt reads one receipt.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, ReceiptViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
clientAssetsStaterequiredstring
dropShiprequiredboolean
linesrequiredarray of ReceiptLineView
lines[].assetIdsrequiredarray of string
lines[].descriptionrequiredstring
lines[].publicIdrequiredstring
lines[].purchaseOrderLineIdrequiredstring
lines[].qtyrequiredstring
lines[].serialsrequiredarray of string
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
packingSliprequiredstring
poNumberrequiredstring
publicIdrequiredstring
purchaseOrderIdrequiredstring
receiptNumberrequiredstring
receivedAtrequiredstring
receivedByNamestring or null
reverseReasonstring or null
reversedAtstring or null
staterequiredstring
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/procurement/receipts/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POST /api/v1/procurement/receipts/{id}/reverse

Section titled “POST /api/v1/procurement/receipts/{id}/reverse”

POSTprocurement:receiveshared facehosteditmspIdempotent

Source: [object Object]

reverseReceipt reverses a receipt: stock comes back out and its assets are removed.

409 assetsMoved, insufficientStock, alreadyReversed.

NameInTypeRequiredDescription
idpathstringYes

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, ReceiptViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:receive.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
clientAssetsStaterequiredstring
dropShiprequiredboolean
linesrequiredarray of ReceiptLineView
lines[].assetIdsrequiredarray of string
lines[].descriptionrequiredstring
lines[].publicIdrequiredstring
lines[].purchaseOrderLineIdrequiredstring
lines[].qtyrequiredstring
lines[].serialsrequiredarray of string
lines[].unitCostCentsrequiredinteger

int64.

locationIdstring or null
locationNamestring or null
packingSliprequiredstring
poNumberrequiredstring
publicIdrequiredstring
purchaseOrderIdrequiredstring
receiptNumberrequiredstring
receivedAtrequiredstring
receivedByNamestring or null
reverseReasonstring or null
reversedAtstring or null
staterequiredstring
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/procurement/receipts/<id>/reverse' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETprocurement:readshared facehosteditmspIdempotent

Source: [object Object]

getProcSettings reads the procurement settings: number prefixes, the PO approval threshold (null turns approval off), match tolerances and the refresh age.

StatusBodyDescription
200application/json, ProcSettingsViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvalMinTotalCentsinteger or null

int64.

defaultLocationIdstring or null
freightToleranceCentsrequiredinteger

int64.

poPrefixrequiredstring
priceToleranceBasisPointsrequiredinteger
receiptPrefixrequiredstring
refreshAgeMonthsrequiredinteger
reorderEnabledrequiredboolean
rmaPrefixrequiredstring
rowVersionrequiredinteger

int64.

updatedAtrequiredstring
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/procurement/settings' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PUTprocurement:approveshared facehosteditmspIdempotent

Source: [object Object]

putProcSettings replaces the procurement settings (rowVersion required; 412 when stale).

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, ProcSettingsViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:approve.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
approvalMinTotalCentsinteger or null

int64.

defaultLocationIdstring or null
freightToleranceCentsrequiredinteger

int64.

poPrefixrequiredstring
priceToleranceBasisPointsrequiredinteger
receiptPrefixrequiredstring
refreshAgeMonthsrequiredinteger
reorderEnabledrequiredboolean
rmaPrefixrequiredstring
rowVersionrequiredinteger

int64.

updatedAtrequiredstring
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/procurement/settings' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETprocurement:readshared facehosteditmspIdempotent

Source: [object Object]

listSuppliers lists suppliers by name.

q matches the name or account number; includeInactive=1 adds inactive ones.

NameInTypeRequiredDescription
includeInactivequerystringNo
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
qquerystringNoFree-text search term.
StatusBodyDescription
200application/json, PagedResultSupplierViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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 SupplierView
items[].accountNumberrequiredstring
items[].activerequiredboolean
items[].createdAtrequiredstring
items[].currencyCoderequiredstring
items[].distributorConnectorIdstring or null
items[].distributorConnectorNamestring or null
items[].emailrequiredstring
items[].namerequiredstring
items[].phonerequiredstring
items[].publicIdrequiredstring
items[].rowVersionrequiredinteger

int64.

items[].termsrequiredstring
items[].updatedAtrequiredstring
items[].websiterequiredstring
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/procurement/suppliers?includeInactive=<includeInactive>&page=0&pageSize=0&q=<q>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTprocurement:writeshared facehosteditmsp

Source: [object Object]

createSupplier adds a supplier.

409 nameTaken when a live supplier already has the name.

Required, sent as application/json.

The body is any.

StatusBodyDescription
201application/json, SupplierViewCreated.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
accountNumberrequiredstring
activerequiredboolean
createdAtrequiredstring
currencyCoderequiredstring
distributorConnectorIdstring or null
distributorConnectorNamestring or null
emailrequiredstring
namerequiredstring
phonerequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

termsrequiredstring
updatedAtrequiredstring
websiterequiredstring
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/procurement/suppliers' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETprocurement:readshared facehosteditmspIdempotent

Source: [object Object]

getSupplier reads one supplier.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, SupplierViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
accountNumberrequiredstring
activerequiredboolean
createdAtrequiredstring
currencyCoderequiredstring
distributorConnectorIdstring or null
distributorConnectorNamestring or null
emailrequiredstring
namerequiredstring
phonerequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

termsrequiredstring
updatedAtrequiredstring
websiterequiredstring
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/procurement/suppliers/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PATCHprocurement:writeshared facehosteditmspIdempotent

Source: [object Object]

patchSupplier changes the fields sent.

NameInTypeRequiredDescription
idpathstringYes

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, SupplierViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
accountNumberrequiredstring
activerequiredboolean
createdAtrequiredstring
currencyCoderequiredstring
distributorConnectorIdstring or null
distributorConnectorNamestring or null
emailrequiredstring
namerequiredstring
phonerequiredstring
publicIdrequiredstring
rowVersionrequiredinteger

int64.

termsrequiredstring
updatedAtrequiredstring
websiterequiredstring
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/procurement/suppliers/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

DELETEprocurement:writeshared facehosteditmspIdempotent

Source: [object Object]

archiveSupplier archives a supplier.

409 supplierInUse while an open purchase order names it.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
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, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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/procurement/suppliers/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GET /api/v1/procurement/suppliers/{id}/items

Section titled “GET /api/v1/procurement/suppliers/{id}/items”

GETprocurement:readshared facehosteditmspIdempotent

Source: [object Object]

listSupplierPriceList lists every stock item one supplier sells, by item name, with the supplier’s part number, cost and lead time.

NameInTypeRequiredDescription
idpathstringYes
StatusBodyDescription
200application/json, array of SupplierPriceViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold procurement:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThe request conflicts with the current state of the record.
412application/problem+json, ProblemDetailsSomeone else changed this since you opened it. 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
[].costCentsrequiredinteger

int64.

[].leadDaysrequiredinteger
[].publicIdrequiredstring
[].rowVersionrequiredinteger

int64.

[].stockItemIdrequiredstring
[].stockItemNamerequiredstring
[].stockItemSkurequiredstring
[].supplierSkurequiredstring
[].updatedAtrequiredstring
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/procurement/suppliers/<id>/items' \
-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.