Test a webhook subscription
Send a signed synthetic event to this subscription.
POST
/webhook-subscriptions/{subscription_id}/testAuthorization
X-API-KeyAPI key · headerrequiredAPI key in format `sk_*`. Scoped to your partner account; server-side use only.
Path parameters
subscription_idstring<uuid>requiredHeader parameters
Idempotency-KeystringrequiredUnique key for safe retries. Reusing a key on the same endpoint returns the original result.
max length 255
Responses
202Synthetic event accepted for delivery.
One of:
WebhookItemIntakeCompleted
idstring<uuid>requiredUnique event ID — use for deduplication.
created_atstring<date-time>requiredtypestringrequiredAllowed:
item.intake.completeddataIntakeEventrequiredOne item completing digitization. Identical payload whether consumed via `GET /intakes` or the `item.intake.completed` webhook.
Show propertiesHide properties
qidQIDrequiredVault's canonical identifier for one physical item. It is assigned at intake and remains stable for the item's lifetime.
intake_atstring<date-time>requiredmanifest_idstring<uuid> | nullManifest this intake was attributed to, if any.
manifest_line_idstring<uuid> | nullExpected-manifest line this item matched, if any.
condition_flagsstring[]requiredVerification flags raised at intake (e.g. `cracked_case`, `label_mismatch`). Empty when the item verified clean.
itemItemrequiredShow propertiesHide properties
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:
nullWebhookItemStatusChanged
idstring<uuid>requiredUnique event ID — use for deduplication.
created_atstring<date-time>requiredtypestringrequiredAllowed:
item.status.changeddataItemrequiredShow propertiesHide properties
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:
nullWebhookFulfillmentStatusChanged
idstring<uuid>requiredUnique event ID — use for deduplication.
created_atstring<date-time>requiredtypestringrequiredAllowed:
fulfillment.status.changeddataFulfillmentrequiredEverything shipping-related you would mirror to your customer. Carrier, service, and tracking populate once the label is generated.
Show propertiesHide properties
idstring<uuid>requiredqidsQID[]requiredstatusFulfillmentStatusrequiredFulfillment lifecycle. Returned means custody has resumed and the item will repeat intake.
Allowed:
pendingprocessingshippeddeliveredcancelledexceptionreturnedprocessing_stageProcessingStage | nullWarehouse sub-stage while status is processing. It may be null when granular telemetry is unavailable; status is always authoritative.
Allowed:
pickedpackedverifiedlabeledqueued_for_carriershipping_addressShippingAddress | anyShow propertiesHide properties
Any of:
ShippingAddress
recipient_namestringrequiredstreetstringrequiredstreet_2string | nullcitystringrequiredstatestringrequiredzipstringrequiredcountrystringrequiredany
anycarrierstring | nullCarrier code once the label exists.
servicestring | nullService code once the label exists.
tracking_numberstring | nulltracking_urlstring<uri> | nullissueFulfillmentIssue | anyShow propertiesHide properties
Any of:
FulfillmentIssue
codestringrequiredMachine-readable issue type.
messagestringrequiredoccurred_atstring<date-time>requiredany
anyexternal_refstring | nullcreated_atstring<date-time>requiredupdated_atstring<date-time>requiredtypeFulfillmentTyperequiredAllowed:
standardwithdrawalspecial_instructionsstring | nulldeliver_bystring<date> | nullverified_address_idstring<uuid> | nullWebhookFulfillmentIssueRaised
idstring<uuid>requiredUnique event ID — use for deduplication.
created_atstring<date-time>requiredtypestringrequiredAllowed:
fulfillment.issue.raiseddataFulfillmentrequiredEverything shipping-related you would mirror to your customer. Carrier, service, and tracking populate once the label is generated.
Show propertiesHide properties
idstring<uuid>requiredqidsQID[]requiredstatusFulfillmentStatusrequiredFulfillment lifecycle. Returned means custody has resumed and the item will repeat intake.
Allowed:
pendingprocessingshippeddeliveredcancelledexceptionreturnedprocessing_stageProcessingStage | nullWarehouse sub-stage while status is processing. It may be null when granular telemetry is unavailable; status is always authoritative.
Allowed:
pickedpackedverifiedlabeledqueued_for_carriershipping_addressShippingAddress | anyShow propertiesHide properties
Any of:
ShippingAddress
recipient_namestringrequiredstreetstringrequiredstreet_2string | nullcitystringrequiredstatestringrequiredzipstringrequiredcountrystringrequiredany
anycarrierstring | nullCarrier code once the label exists.
servicestring | nullService code once the label exists.
tracking_numberstring | nulltracking_urlstring<uri> | nullissueFulfillmentIssue | anyShow propertiesHide properties
Any of:
FulfillmentIssue
codestringrequiredMachine-readable issue type.
messagestringrequiredoccurred_atstring<date-time>requiredany
anyexternal_refstring | nullcreated_atstring<date-time>requiredupdated_atstring<date-time>requiredtypeFulfillmentTyperequiredAllowed:
standardwithdrawalspecial_instructionsstring | nulldeliver_bystring<date> | nullverified_address_idstring<uuid> | nullWebhookManifestReconciliationCompleted
idstring<uuid>requiredUnique event ID — use for deduplication.
created_atstring<date-time>requiredtypestringrequiredAllowed:
manifest.reconciliation.completeddataManifestReconciliationCompletedDatarequiredFinal reconciliation totals; fetch the report endpoint for per-line detail.
Show propertiesHide properties
manifest_idstring<uuid>requiredgenerated_atstring<date-time>requiredtotalsobjectrequiredShow propertiesHide properties
expectedintegerrequiredmatchedintegerrequiredmissingintegerrequiredunexpectedintegerrequiredcondition_mismatchintegerrequiredWebhookTransferRequested
idstring<uuid>requiredUnique event ID — use for deduplication.
created_atstring<date-time>requiredtypestringrequiredAllowed:
transfer.requesteddataTransferrequiredShow propertiesHide properties
created_atstring<date-time>requiredexternal_refstring | nullidstring<uuid>requiredqidsQID[]requiredstatusTransferStatusrequiredAllowed:
requestedcompleteddeclinedcancelledtypeTransferTyperequiredAllowed:
sell_backupdated_atstring<date-time>requiredWebhookTransferCompleted
idstring<uuid>requiredUnique event ID — use for deduplication.
created_atstring<date-time>requiredtypestringrequiredAllowed:
transfer.completeddataTransferrequiredShow propertiesHide properties
created_atstring<date-time>requiredexternal_refstring | nullidstring<uuid>requiredqidsQID[]requiredstatusTransferStatusrequiredAllowed:
requestedcompleteddeclinedcancelledtypeTransferTyperequiredAllowed:
sell_backupdated_atstring<date-time>requiredWebhookTransferDeclined
idstring<uuid>requiredUnique event ID — use for deduplication.
created_atstring<date-time>requiredtypestringrequiredAllowed:
transfer.declineddataTransferrequiredShow propertiesHide properties
created_atstring<date-time>requiredexternal_refstring | nullidstring<uuid>requiredqidsQID[]requiredstatusTransferStatusrequiredAllowed:
requestedcompleteddeclinedcancelledtypeTransferTyperequiredAllowed:
sell_backupdated_atstring<date-time>requiredWebhookTransferCancelled
idstring<uuid>requiredUnique event ID — use for deduplication.
created_atstring<date-time>requiredtypestringrequiredAllowed:
transfer.cancelleddataTransferrequiredShow propertiesHide properties
created_atstring<date-time>requiredexternal_refstring | nullidstring<uuid>requiredqidsQID[]requiredstatusTransferStatusrequiredAllowed:
requestedcompleteddeclinedcancelledtypeTransferTyperequiredAllowed:
sell_backupdated_atstring<date-time>requiredWebhookFulfillmentReturned
idstring<uuid>requiredUnique event ID — use for deduplication.
created_atstring<date-time>requiredtypestringrequiredAllowed:
fulfillment.returneddataFulfillmentrequiredEverything shipping-related you would mirror to your customer. Carrier, service, and tracking populate once the label is generated.
Show propertiesHide properties
idstring<uuid>requiredqidsQID[]requiredstatusFulfillmentStatusrequiredFulfillment lifecycle. Returned means custody has resumed and the item will repeat intake.
Allowed:
pendingprocessingshippeddeliveredcancelledexceptionreturnedprocessing_stageProcessingStage | nullWarehouse sub-stage while status is processing. It may be null when granular telemetry is unavailable; status is always authoritative.
Allowed:
pickedpackedverifiedlabeledqueued_for_carriershipping_addressShippingAddress | anyShow propertiesHide properties
Any of:
ShippingAddress
recipient_namestringrequiredstreetstringrequiredstreet_2string | nullcitystringrequiredstatestringrequiredzipstringrequiredcountrystringrequiredany
anycarrierstring | nullCarrier code once the label exists.
servicestring | nullService code once the label exists.
tracking_numberstring | nulltracking_urlstring<uri> | nullissueFulfillmentIssue | anyShow propertiesHide properties
Any of:
FulfillmentIssue
codestringrequiredMachine-readable issue type.
messagestringrequiredoccurred_atstring<date-time>requiredany
anyexternal_refstring | nullcreated_atstring<date-time>requiredupdated_atstring<date-time>requiredtypeFulfillmentTyperequiredAllowed:
standardwithdrawalspecial_instructionsstring | nulldeliver_bystring<date> | nullverified_address_idstring<uuid> | 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
Request
curl -X POST "https://api.vault.stashtab.gg/v1/webhook-subscriptions/497f6eca-6276-4993-bfeb-53cbbbba6f08/test" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Idempotency-Key: string"const response = await fetch("https://api.vault.stashtab.gg/v1/webhook-subscriptions/497f6eca-6276-4993-bfeb-53cbbbba6f08/test", {
method: "POST",
headers: {
"X-API-Key": "YOUR_API_KEY",
"Idempotency-Key": "string"
}
});Response
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"created_at": "2019-08-24T14:15:22Z",
"type": "item.intake.completed",
"data": {
"qid": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"intake_at": "2019-08-24T14:15:22Z",
"manifest_id": "82825e8e-31fc-47d5-83ce-cd926068341e",
"manifest_line_id": "e1bcc1ed-284d-4866-b8d7-5633b41d43ea",
"condition_flags": [
"string"
],
"item": {
"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"
}