Skip to content

Depot assets

Mounts the /assets routes and the warranty provider routes.

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

GETassets:readshared facehosteditmspIdempotent

Source: [object Object]

listAssets lists the asset register, filtered and paged.

NameInTypeRequiredDescription
categoryquerystring, one of accessory, component, desktop, laptop, license, monitor, network, other, peripheral, phone, printer, server, tabletNoComma-separated set. An unrecognised value is refused.
dirquerystring, one of asc, descNoSort direction.
holderKindquerystringNo
pagequeryintegerNoOne-based page number. Defaults to 1.
pageSizequeryintegerNoRows per page, 1 to 200. Defaults to 50.
qquerystringNoFree-text search term.
sortquerystring, one of name, purchased, state, tag, warrantyNoSort key.
statequerystring, one of deployed, disposed, in_repair, in_stock, lost, purchased, retired, rmaNoComma-separated set. An unrecognised value is refused.
unlinkedquerystringNo
warrantyBeforequerystringNo
StatusBodyDescription
200application/json, PagedResultAssetViewSuccess.
400application/problem+json, ProblemDetailsOne or more validation errors occurred.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold assets:read.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no database for this request yet.

200 response body

FieldTypeDescription
itemsrequiredarray of AssetView
items[].assetTagstring or null
items[].categoryrequiredstring
items[].clientIdstring or null
items[].clientNamestring or null
items[].createdAtrequiredstring
items[].disposalMethodstring or null
items[].endpointAgentIdstring or null
items[].endpointLinkKindstring or null
items[].endpointNamestring or null
items[].holderIdstring or null
items[].holderKindstring or null
items[].holderNamestring or null
items[].landedCostCentsrequiredinteger

int64.

items[].manufacturerrequiredstring
items[].modelrequiredstring
items[].namerequiredstring
items[].notesrequiredstring
items[].poNumberstring or null
items[].publicIdrequiredstring
items[].purchaseCostCentsrequiredinteger

int64.

items[].purchaseOrderIdstring or null
items[].purchasedOnstring or null
items[].rowVersionrequiredinteger

int64.

items[].salesOrderIdstring or null
items[].salesOrderNumberstring or null
items[].serialNumberrequiredstring
items[].siteIdstring or null
items[].siteNamestring or null
items[].sourcerequiredstring
items[].staterequiredstring
items[].stateChangedAtrequiredstring
items[].stockItemIdstring or null
items[].stockLocationIdstring or null
items[].stockLocationNamestring or null
items[].updatedAtrequiredstring
items[].warrantyCheckedAtstring or null
items[].warrantyEndsOnstring or null
items[].warrantyErrorrequiredstring
items[].warrantySourcestring or null
items[].warrantyStartsOnstring or null
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/assets?category=accessory&dir=asc&holderKind=<holderKind>&page=0&pageSize=0&q=<q>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTassets:writeshared facehosteditmsp

Source: [object Object]

createAsset adds hardware to the register by hand.

Required, sent as application/json.

The body is any.

StatusBodyDescription
201application/json, AssetViewCreated.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold assets:write.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no database for this request yet.

201 response body

FieldTypeDescription
assetTagstring or null
categoryrequiredstring
clientIdstring or null
clientNamestring or null
createdAtrequiredstring
disposalMethodstring or null
endpointAgentIdstring or null
endpointLinkKindstring or null
endpointNamestring or null
holderIdstring or null
holderKindstring or null
holderNamestring or null
landedCostCentsrequiredinteger

int64.

manufacturerrequiredstring
modelrequiredstring
namerequiredstring
notesrequiredstring
poNumberstring or null
publicIdrequiredstring
purchaseCostCentsrequiredinteger

int64.

purchaseOrderIdstring or null
purchasedOnstring or null
rowVersionrequiredinteger

int64.

salesOrderIdstring or null
salesOrderNumberstring or null
serialNumberrequiredstring
siteIdstring or null
siteNamestring or null
sourcerequiredstring
staterequiredstring
stateChangedAtrequiredstring
stockItemIdstring or null
stockLocationIdstring or null
stockLocationNamestring or null
updatedAtrequiredstring
warrantyCheckedAtstring or null
warrantyEndsOnstring or null
warrantyErrorrequiredstring
warrantySourcestring or null
warrantyStartsOnstring or null
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/assets' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETassets:readshared facehosteditmspIdempotent

Source: [object Object]

getAsset reads one asset.

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

200 response body

FieldTypeDescription
assetTagstring or null
categoryrequiredstring
clientIdstring or null
clientNamestring or null
createdAtrequiredstring
disposalMethodstring or null
endpointAgentIdstring or null
endpointLinkKindstring or null
endpointNamestring or null
holderIdstring or null
holderKindstring or null
holderNamestring or null
landedCostCentsrequiredinteger

int64.

manufacturerrequiredstring
modelrequiredstring
namerequiredstring
notesrequiredstring
poNumberstring or null
publicIdrequiredstring
purchaseCostCentsrequiredinteger

int64.

purchaseOrderIdstring or null
purchasedOnstring or null
rowVersionrequiredinteger

int64.

salesOrderIdstring or null
salesOrderNumberstring or null
serialNumberrequiredstring
siteIdstring or null
siteNamestring or null
sourcerequiredstring
staterequiredstring
stateChangedAtrequiredstring
stockItemIdstring or null
stockLocationIdstring or null
stockLocationNamestring or null
updatedAtrequiredstring
warrantyCheckedAtstring or null
warrantyEndsOnstring or null
warrantyErrorrequiredstring
warrantySourcestring or null
warrantyStartsOnstring or null
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/assets/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PATCHassets:writeshared facehosteditmspIdempotent

Source: [object Object]

updateAsset edits an asset’s details.

State, links and warranty lookups have their own routes. rowVersion is required.

NameInTypeRequiredDescription
idpathstringYesA uuid.

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, AssetViewSuccess.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold assets:write.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no database for this request yet.

200 response body

FieldTypeDescription
assetTagstring or null
categoryrequiredstring
clientIdstring or null
clientNamestring or null
createdAtrequiredstring
disposalMethodstring or null
endpointAgentIdstring or null
endpointLinkKindstring or null
endpointNamestring or null
holderIdstring or null
holderKindstring or null
holderNamestring or null
landedCostCentsrequiredinteger

int64.

manufacturerrequiredstring
modelrequiredstring
namerequiredstring
notesrequiredstring
poNumberstring or null
publicIdrequiredstring
purchaseCostCentsrequiredinteger

int64.

purchaseOrderIdstring or null
purchasedOnstring or null
rowVersionrequiredinteger

int64.

salesOrderIdstring or null
salesOrderNumberstring or null
serialNumberrequiredstring
siteIdstring or null
siteNamestring or null
sourcerequiredstring
staterequiredstring
stateChangedAtrequiredstring
stockItemIdstring or null
stockLocationIdstring or null
stockLocationNamestring or null
updatedAtrequiredstring
warrantyCheckedAtstring or null
warrantyEndsOnstring or null
warrantyErrorrequiredstring
warrantySourcestring or null
warrantyStartsOnstring or null
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/assets/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

DELETEassets:writeshared facehosteditmspIdempotent

Source: [object Object]

deleteAsset removes a hand-entered asset with no history; anything with a past is retired instead (409 assetHasHistory).

NameInTypeRequiredDescription
idpathstringYesA uuid.
StatusBodyDescription
204NoneSuccess, with no body.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold assets:write.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no 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/assets/<id>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTassets:writeshared facehosteditmspIdempotent

Source: [object Object]

ackLink replaces the open checkout’s acknowledgement link and answers the new one once; the old link stops working.

NameInTypeRequiredDescription
idpathstringYesA uuid.
StatusBodyDescription
200application/json, objectSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold assets:write.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no 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/assets/<id>/ack-link' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTassets:writeshared facehosteditmspIdempotent

Source: [object Object]

checkin takes an asset back from its holder.

NameInTypeRequiredDescription
idpathstringYesA uuid.

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, AssetCheckoutViewSuccess.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold assets:write.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no database for this request yet.

200 response body

FieldTypeDescription
ackExpiresAtstring or null
ackRequestedrequiredboolean
ackSignedAtstring or null
assetIdrequiredstring
assetNamerequiredstring
assetTagstring or null
checkInNoterequiredstring
checkedInAtstring or null
checkedOutAtrequiredstring
checkedOutByNamestring or null
conditionstring or null
dueBackOnstring or null
holderIdrequiredstring
holderKindrequiredstring
holderNamestring or null
publicIdrequiredstring
signerNamestring or null
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/assets/<id>/checkin' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

POSTassets:writeshared facehosteditmspIdempotent

Source: [object Object]

checkout hands an asset to a person.

With requestAck the answer carries a one-time acknowledgement link the holder signs.

NameInTypeRequiredDescription
idpathstringYesA uuid.

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, AssetCheckoutResultSuccess.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold assets:write.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no database for this request yet.

200 response body

FieldTypeDescription
ackUrlstring or null
checkoutrequiredAssetCheckoutView
checkout.ackExpiresAtstring or null
checkout.ackRequestedrequiredboolean
checkout.ackSignedAtstring or null
checkout.assetIdrequiredstring
checkout.assetNamerequiredstring
checkout.assetTagstring or null
checkout.checkInNoterequiredstring
checkout.checkedInAtstring or null
checkout.checkedOutAtrequiredstring
checkout.checkedOutByNamestring or null
checkout.conditionstring or null
checkout.dueBackOnstring or null
checkout.holderIdrequiredstring
checkout.holderKindrequiredstring
checkout.holderNamestring or null
checkout.publicIdrequiredstring
checkout.signerNamestring or null
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/assets/<id>/checkout' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

GETassets:readshared facehosteditmspIdempotent

Source: [object Object]

assetCheckouts is one asset’s custody history.

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

200 response body

FieldTypeDescription
[].ackExpiresAtstring or null
[].ackRequestedrequiredboolean
[].ackSignedAtstring or null
[].assetIdrequiredstring
[].assetNamerequiredstring
[].assetTagstring or null
[].checkInNoterequiredstring
[].checkedInAtstring or null
[].checkedOutAtrequiredstring
[].checkedOutByNamestring or null
[].conditionstring or null
[].dueBackOnstring or null
[].holderIdrequiredstring
[].holderKindrequiredstring
[].holderNamestring or null
[].publicIdrequiredstring
[].signerNamestring or null
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/assets/<id>/checkouts' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETassets:readshared facehosteditmspIdempotent

Source: [object Object]

listEvents is an asset’s timeline, newest first.

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

200 response body

FieldTypeDescription
[].actorKindrequiredstring
[].actorNamestring or null
[].atrequiredstring
[].detailsrequiredobject
[].fromStatestring or null
[].kindrequiredstring
[].publicIdrequiredstring
[].toStatestring or null
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/assets/<id>/events' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTassets:writeshared facehosteditmspIdempotent

Source: [object Object]

linkEndpoint links an asset to an RMM endpoint by hand.

A manual link is never replaced by serial matching.

NameInTypeRequiredDescription
idpathstringYesA uuid.

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, AssetViewSuccess.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold assets:write.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no database for this request yet.

200 response body

FieldTypeDescription
assetTagstring or null
categoryrequiredstring
clientIdstring or null
clientNamestring or null
createdAtrequiredstring
disposalMethodstring or null
endpointAgentIdstring or null
endpointLinkKindstring or null
endpointNamestring or null
holderIdstring or null
holderKindstring or null
holderNamestring or null
landedCostCentsrequiredinteger

int64.

manufacturerrequiredstring
modelrequiredstring
namerequiredstring
notesrequiredstring
poNumberstring or null
publicIdrequiredstring
purchaseCostCentsrequiredinteger

int64.

purchaseOrderIdstring or null
purchasedOnstring or null
rowVersionrequiredinteger

int64.

salesOrderIdstring or null
salesOrderNumberstring or null
serialNumberrequiredstring
siteIdstring or null
siteNamestring or null
sourcerequiredstring
staterequiredstring
stateChangedAtrequiredstring
stockItemIdstring or null
stockLocationIdstring or null
stockLocationNamestring or null
updatedAtrequiredstring
warrantyCheckedAtstring or null
warrantyEndsOnstring or null
warrantyErrorrequiredstring
warrantySourcestring or null
warrantyStartsOnstring or null
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/assets/<id>/link-endpoint' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

POSTassets:writeshared facehosteditmspIdempotent

Source: [object Object]

transition moves an asset along its state machine.

An illegal edge is 422; a state that changed since it was read is 409 stateChanged.

NameInTypeRequiredDescription
idpathstringYesA uuid.

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, AssetViewSuccess.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold assets:write.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no database for this request yet.

200 response body

FieldTypeDescription
assetTagstring or null
categoryrequiredstring
clientIdstring or null
clientNamestring or null
createdAtrequiredstring
disposalMethodstring or null
endpointAgentIdstring or null
endpointLinkKindstring or null
endpointNamestring or null
holderIdstring or null
holderKindstring or null
holderNamestring or null
landedCostCentsrequiredinteger

int64.

manufacturerrequiredstring
modelrequiredstring
namerequiredstring
notesrequiredstring
poNumberstring or null
publicIdrequiredstring
purchaseCostCentsrequiredinteger

int64.

purchaseOrderIdstring or null
purchasedOnstring or null
rowVersionrequiredinteger

int64.

salesOrderIdstring or null
salesOrderNumberstring or null
serialNumberrequiredstring
siteIdstring or null
siteNamestring or null
sourcerequiredstring
staterequiredstring
stateChangedAtrequiredstring
stockItemIdstring or null
stockLocationIdstring or null
stockLocationNamestring or null
updatedAtrequiredstring
warrantyCheckedAtstring or null
warrantyEndsOnstring or null
warrantyErrorrequiredstring
warrantySourcestring or null
warrantyStartsOnstring or null
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/assets/<id>/transition' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-b 'outpost_console=<console-session>' \
--data '"string"'

POSTassets:writeshared facehosteditmspIdempotent

Source: [object Object]

unlinkEndpoint removes the asset’s endpoint link.

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

200 response body

FieldTypeDescription
assetTagstring or null
categoryrequiredstring
clientIdstring or null
clientNamestring or null
createdAtrequiredstring
disposalMethodstring or null
endpointAgentIdstring or null
endpointLinkKindstring or null
endpointNamestring or null
holderIdstring or null
holderKindstring or null
holderNamestring or null
landedCostCentsrequiredinteger

int64.

manufacturerrequiredstring
modelrequiredstring
namerequiredstring
notesrequiredstring
poNumberstring or null
publicIdrequiredstring
purchaseCostCentsrequiredinteger

int64.

purchaseOrderIdstring or null
purchasedOnstring or null
rowVersionrequiredinteger

int64.

salesOrderIdstring or null
salesOrderNumberstring or null
serialNumberrequiredstring
siteIdstring or null
siteNamestring or null
sourcerequiredstring
staterequiredstring
stateChangedAtrequiredstring
stockItemIdstring or null
stockLocationIdstring or null
stockLocationNamestring or null
updatedAtrequiredstring
warrantyCheckedAtstring or null
warrantyEndsOnstring or null
warrantyErrorrequiredstring
warrantySourcestring or null
warrantyStartsOnstring or null
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/assets/<id>/unlink-endpoint' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTassets:writeshared facehosteditmspIdempotent

Source: [object Object]

refreshWarranty looks the asset’s warranty up now with the practice’s provider for its manufacturer.

NameInTypeRequiredDescription
idpathstringYesA uuid.
StatusBodyDescription
200application/json, AssetViewSuccess.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold assets:write.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
429application/problem+json, ProblemDetailsThe vendor is rate limiting lookups. Try again in a minute.
500application/problem+json, ProblemDetailsThe request failed.
502application/problem+json, ProblemDetailsThe request was refused.
503application/problem+json, ProblemDetailsThis Depot has no database for this request yet.

200 response body

FieldTypeDescription
assetTagstring or null
categoryrequiredstring
clientIdstring or null
clientNamestring or null
createdAtrequiredstring
disposalMethodstring or null
endpointAgentIdstring or null
endpointLinkKindstring or null
endpointNamestring or null
holderIdstring or null
holderKindstring or null
holderNamestring or null
landedCostCentsrequiredinteger

int64.

manufacturerrequiredstring
modelrequiredstring
namerequiredstring
notesrequiredstring
poNumberstring or null
publicIdrequiredstring
purchaseCostCentsrequiredinteger

int64.

purchaseOrderIdstring or null
purchasedOnstring or null
rowVersionrequiredinteger

int64.

salesOrderIdstring or null
salesOrderNumberstring or null
serialNumberrequiredstring
siteIdstring or null
siteNamestring or null
sourcerequiredstring
staterequiredstring
stateChangedAtrequiredstring
stockItemIdstring or null
stockLocationIdstring or null
stockLocationNamestring or null
updatedAtrequiredstring
warrantyCheckedAtstring or null
warrantyEndsOnstring or null
warrantyErrorrequiredstring
warrantySourcestring or null
warrantyStartsOnstring or null
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/assets/<id>/warranty/refresh' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETassets:readshared facehosteditmspIdempotent

Source: [object Object]

listCheckouts lists custody periods by holder: the People equipment panel.

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

200 response body

FieldTypeDescription
[].ackExpiresAtstring or null
[].ackRequestedrequiredboolean
[].ackSignedAtstring or null
[].assetIdrequiredstring
[].assetNamerequiredstring
[].assetTagstring or null
[].checkInNoterequiredstring
[].checkedInAtstring or null
[].checkedOutAtrequiredstring
[].checkedOutByNamestring or null
[].conditionstring or null
[].dueBackOnstring or null
[].holderIdrequiredstring
[].holderKindrequiredstring
[].holderNamestring or null
[].publicIdrequiredstring
[].signerNamestring or null
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/assets/checkouts?holder=<holder>&holderKind=<holderKind>&open=<open>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETassets:readshared facehosteditmspIdempotent

Source: [object Object]

forecast lists hardware due for replacement: warranty ending within the horizon (or already ended) or older than the practice’s refresh age.

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

200 response body

FieldTypeDescription
[].assetrequiredAssetView
[].asset.assetTagstring or null
[].asset.categoryrequiredstring
[].asset.clientIdstring or null
[].asset.clientNamestring or null
[].asset.createdAtrequiredstring
[].asset.disposalMethodstring or null
[].asset.endpointAgentIdstring or null
[].asset.endpointLinkKindstring or null
[].asset.endpointNamestring or null
[].asset.holderIdstring or null
[].asset.holderKindstring or null
[].asset.holderNamestring or null
[].asset.landedCostCentsrequiredinteger

int64.

[].asset.manufacturerrequiredstring
[].asset.modelrequiredstring
[].asset.namerequiredstring
[].asset.notesrequiredstring
[].asset.poNumberstring or null
[].asset.publicIdrequiredstring
[].asset.purchaseCostCentsrequiredinteger

int64.

[].asset.purchaseOrderIdstring or null
[].asset.purchasedOnstring or null
[].asset.rowVersionrequiredinteger

int64.

[].asset.salesOrderIdstring or null
[].asset.salesOrderNumberstring or null
[].asset.serialNumberrequiredstring
[].asset.siteIdstring or null
[].asset.siteNamestring or null
[].asset.sourcerequiredstring
[].asset.staterequiredstring
[].asset.stateChangedAtrequiredstring
[].asset.stockItemIdstring or null
[].asset.stockLocationIdstring or null
[].asset.stockLocationNamestring or null
[].asset.updatedAtrequiredstring
[].asset.warrantyCheckedAtstring or null
[].asset.warrantyEndsOnstring or null
[].asset.warrantyErrorrequiredstring
[].asset.warrantySourcestring or null
[].asset.warrantyStartsOnstring or null
[].dueOnrequiredstring
[].reasonrequiredstring
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/assets/forecast?horizonDays=<horizonDays>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GETassets:readshared facehosteditmspIdempotent

Source: [object Object]

listReturns lists equipment owed back by disabled or offboarded people.

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

200 response body

FieldTypeDescription
[].assetIdsrequiredarray of string
[].closedAtstring or null
[].holderIdrequiredstring
[].holderKindrequiredstring
[].holderNamestring or null
[].openedAtrequiredstring
[].publicIdrequiredstring
[].reasonrequiredstring
[].ticketIdstring or null
[].ticketReferencestring or null
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/assets/returns?open=<open>' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

POSTassets:writeshared facehosteditmspIdempotent

Source: [object Object]

closeReturn marks an equipment return as settled.

NameInTypeRequiredDescription
idpathstringYesA uuid.
StatusBodyDescription
204NoneSuccess, with no body.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold assets:write.
404application/problem+json, ProblemDetailsNo resource matches that id.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no 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/assets/returns/<id>/close' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

GET /api/v1/integrations/warranty-providers

Section titled “GET /api/v1/integrations/warranty-providers”

GETshared facehosteditmspIdempotent

Source: [object Object]

listWarrantyProviders lists the Dell, Lenovo and HP warranty connections.

StatusBodyDescription
200application/json, array of WarrantyProviderViewSuccess.
404application/problem+json, ProblemDetailsNo resource matches.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no database for this request yet.

200 response body

FieldTypeDescription
[].credentialIdstring or null
[].credentialNamestring or null
[].enabledrequiredboolean
[].lastCheckAtstring or null
[].lastErrorrequiredstring
[].lastErrorKindstring or null
[].publicIdrequiredstring
[].rowVersionrequiredinteger

int64.

[].vendorrequiredstring
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/integrations/warranty-providers' \
-H 'X-CSRF-Token: <csrf-token>' \
-H 'Accept: application/json' \
-b 'outpost_console=<console-session>'

PUT /api/v1/integrations/warranty-providers/{vendor}

Section titled “PUT /api/v1/integrations/warranty-providers/{vendor}”

PUTintegrations:adminshared facehosteditmspIdempotent

Source: [object Object]

putWarrantyProvider sets a vendor’s warranty connection: which vault credential it signs in with, and whether lookups run.

NameInTypeRequiredDescription
vendorpathstringYes

Required, sent as application/json.

The body is any.

StatusBodyDescription
200application/json, WarrantyProviderViewSuccess.
400application/problem+json, ProblemDetailsThe request body is not valid JSON.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold integrations:admin.
404application/problem+json, ProblemDetailsWarranty connections are for dell, lenovo and hp.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no database for this request yet.

200 response body

FieldTypeDescription
credentialIdstring or null
credentialNamestring or null
enabledrequiredboolean
lastCheckAtstring or null
lastErrorrequiredstring
lastErrorKindstring or null
publicIdrequiredstring
rowVersionrequiredinteger

int64.

vendorrequiredstring
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/integrations/warranty-providers/<vendor>' \
-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/integrations/warranty-providers/{vendor}

Section titled “DELETE /api/v1/integrations/warranty-providers/{vendor}”

DELETEintegrations:adminshared facehosteditmspIdempotent

Source: [object Object]

deleteWarrantyProvider removes a vendor’s warranty connection.

NameInTypeRequiredDescription
vendorpathstringYes
StatusBodyDescription
204NoneSuccess, with no body.
401application/problem+json, ProblemDetailsNo signed-in identity.
403application/problem+json, ProblemDetailsThe identity does not hold integrations:admin.
404application/problem+json, ProblemDetailsWarranty connections are for dell, lenovo and hp.
409application/problem+json, ProblemDetailsThat change conflicts with the current state.
412application/problem+json, ProblemDetailsThis asset changed since it was read. Reload and try again.
500application/problem+json, ProblemDetailsThe request failed.
503application/problem+json, ProblemDetailsThis Depot has no 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/integrations/warranty-providers/<vendor>' \
-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.