Advance an item's lifecycle (sandbox only)
Sandbox-only. Moves a fixture item to the given lifecycle status so
you can simulate intake → available → fulfillment → delivered without
physical product. Emits the same webhooks the production system
would. Returns 404 in production.
POST
/sandbox/items/{qid}/advanceAuthorization
X-API-KeyAPI key · headerrequiredAPI key in format `sk_*`. Scoped to your partner account; server-side use only.
Path parameters
qidQIDrequiredHeader parameters
Idempotency-KeystringrequiredUnique key for safe retries. Reusing a key on the same endpoint returns the original result.
max length 255
Request body
requiredapplication/jsonto_statusItemStatusrequiredCustody lifecycle for one physical item. New statuses may be added compatibly within v1.
Allowed:
receiveddigitizedavailablein_fulfillmentin_transitdeliveredpending_transferreleasedwithdrawnResponses
200The item in its new status.
One of:
GradedSlabItem
active_fulfillment_idstring<uuid> | nullThe fulfillment currently holding this item, if any.
categorystringItem category.
external_refstring | nullYour identifier for this item, echoed from the manifest line when matched.
image_assetsImageAsset[]requiredPer-item intake imagery for graded slabs or catalog imagery for product items.
Show propertiesHide properties
Array of
ImageAssetvariantstringrequiredWhich view of the slab this asset shows.
Allowed:
frontbacklabelurlstring<uri>requiredPermanent CDN URL.
widthintegerrequiredPixel width.
heightintegerrequiredPixel height.
formatstringrequiredAllowed:
webpjpegpngintake_atstring<date-time>requiredWhen the item completed intake and entered the system.
manifest_line_idstring<uuid> | nullThe expected-manifest line this item matched at intake, if any.
model_3dstring<uri> | nullReserved for future render assets and always null today so clients can keep a stable schema.
namestringrequiredDisplay name, clean enough to show to your end customers.
qidQIDrequiredVault's canonical identifier for one physical item. It is assigned at intake and remains stable for the item's lifetime.
setstring | nullcard_numberstring | nullskustringrequiredWarehouse SKU. Product items reference the partner catalog; graded slabs use their graded-item SKU.
statusItemStatusrequiredCustody lifecycle for one physical item. New statuses may be added compatibly within v1.
Allowed:
receiveddigitizedavailablein_fulfillmentin_transitdeliveredpending_transferreleasedwithdrawntypestringrequiredAllowed:
graded_slabupdated_atstring<date-time>requiredcert_numberstringrequiredGrader certification number.
gradestringrequiredgraderstringrequiredGrading company.
ProductItem
active_fulfillment_idstring<uuid> | nullThe fulfillment currently holding this item, if any.
categorystringItem category.
external_refstring | nullYour identifier for this item, echoed from the manifest line when matched.
image_assetsImageAsset[]requiredPer-item intake imagery for graded slabs or catalog imagery for product items.
Show propertiesHide properties
Array of
ImageAssetvariantstringrequiredWhich view of the slab this asset shows.
Allowed:
frontbacklabelurlstring<uri>requiredPermanent CDN URL.
widthintegerrequiredPixel width.
heightintegerrequiredPixel height.
formatstringrequiredAllowed:
webpjpegpngintake_atstring<date-time>requiredWhen the item completed intake and entered the system.
manifest_line_idstring<uuid> | nullThe expected-manifest line this item matched at intake, if any.
model_3dstring<uri> | nullReserved for future render assets and always null today so clients can keep a stable schema.
namestringrequiredDisplay name, clean enough to show to your end customers.
qidQIDrequiredVault's canonical identifier for one physical item. It is assigned at intake and remains stable for the item's lifetime.
setstring | nullcard_numberstring | nullskustringrequiredWarehouse SKU. Product items reference the partner catalog; graded slabs use their graded-item SKU.
statusItemStatusrequiredCustody lifecycle for one physical item. New statuses may be added compatibly within v1.
Allowed:
receiveddigitizedavailablein_fulfillmentin_transitdeliveredpending_transferreleasedwithdrawntypestringrequiredAllowed:
productupdated_atstring<date-time>requiredcert_numberstring | nullrequiredAllowed:
nullgradestring | nullrequiredAllowed:
nullgraderstring | nullrequiredAllowed:
null400Validation failed.
codeErrorCoderequiredStable machine-readable error vocabulary for v1.
Allowed:
validation_errorstate_conflictenvironment_mismatchunsupported_destinationinvalid_api_keynot_foundrate_limitedextraobjectrequiredStructured details such as field errors or SKU availability.
messagestringrequiredHuman-readable summary.
401Missing, invalid, expired, or environment-mismatched API key.
codeErrorCoderequiredStable machine-readable error vocabulary for v1.
Allowed:
validation_errorstate_conflictenvironment_mismatchunsupported_destinationinvalid_api_keynot_foundrate_limitedextraobjectrequiredStructured details such as field errors or SKU availability.
messagestringrequiredHuman-readable summary.
404No such resource exists for this partner and environment.
codeErrorCoderequiredStable machine-readable error vocabulary for v1.
Allowed:
validation_errorstate_conflictenvironment_mismatchunsupported_destinationinvalid_api_keynot_foundrate_limitedextraobjectrequiredStructured details such as field errors or SKU availability.
messagestringrequiredHuman-readable summary.
429Rate limit exceeded for this API key.
codeErrorCoderequiredStable machine-readable error vocabulary for v1.
Allowed:
validation_errorstate_conflictenvironment_mismatchunsupported_destinationinvalid_api_keynot_foundrate_limitedextraobjectrequiredStructured details such as field errors or SKU availability.
messagestringrequiredHuman-readable summary.
Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X POST "https://api.vault.stashtab.gg/v1/sandbox/items/7c9e6679-7425-40de-944b-e07fc1f90ae7/advance" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Idempotency-Key: string" \
-H "Content-Type: application/json" \
-d '{
"to_status": "available"
}'const response = await fetch("https://api.vault.stashtab.gg/v1/sandbox/items/7c9e6679-7425-40de-944b-e07fc1f90ae7/advance", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Idempotency-Key": "string",
"Content-Type": "application/json"
},
body: JSON.stringify({
"to_status": "available"
})
});Response
{
"active_fulfillment_id": "bcb367cb-b94e-4e20-973d-e3de4f574083",
"category": "sports-card",
"external_ref": "string",
"image_assets": [
{
"variant": "front",
"url": "http://example.com",
"width": 0,
"height": 0,
"format": "webp"
}
],
"intake_at": "2019-08-24T14:15:22Z",
"manifest_line_id": "e1bcc1ed-284d-4866-b8d7-5633b41d43ea",
"model_3d": "http://example.com",
"name": "2018 Panini Prizm Luka Doncic",
"qid": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"set": "2018-19 Panini Prizm",
"card_number": "280",
"sku": "string",
"status": "available",
"type": "graded_slab",
"updated_at": "2019-08-24T14:15:22Z",
"cert_number": "string",
"grade": "string",
"grader": "string"
}{
"code": "validation_error",
"extra": {},
"message": "string"
}{
"code": "validation_error",
"extra": {},
"message": "string"
}{
"code": "validation_error",
"extra": {},
"message": "string"
}{
"code": "validation_error",
"extra": {},
"message": "string"
}