Skip to content
snapcasterDevelopers

Export listings

GET/listings

One page of the Seller’s full stored inventory, for audit and reconciliation. Keyset-paginated on `(updated_at, id)` ascending; follow `nextCursor` until it is null.

When to use

Use this operation to export listings.

Endpoint

GET /listings

EnvironmentBase URL
Sandboxhttps://api-sandbox.snapcaster.ca/api/v1/marketplace
Productionhttps://api.snapcaster.ca/api/v1/marketplace
Authentication
  • marketplaceApiKey - http bearer. Seller-scoped Marketplace API key, presented as `Authorization: Bearer mp_{sellerCode}_{hex}`. The `mp_{sellerCode}_` prefix identifies the Seller; the trailing hex is the secret. Generated by the Seller and pasted into its Platform.

Request

FieldInTypeConstraintsMeaningExample
limitqueryintegerexclusive minimum: 0; maximum: 1000The maximum number of records requested for this page.1 (generated)
cursorquerystringminimum length: 1The opaque continuation token for the next page.string (generated)
updated_sincequerystringformat: date-timeReturn only records updated after this instant.2026-01-01T00:00:00.000Z (generated)
include_deletedquerystringallowed values: true, falseWhether soft-deleted records are included in the export.true (generated)

No request body.

Example

Sandbox is the default. These requests use the contract's canonical field examples.

Generated cURL request - Sandbox
curl --request GET \
--url 'https://api-sandbox.snapcaster.ca/api/v1/marketplace/listings' \
--header "Authorization: Bearer $MARKETPLACE_API_KEY"

Response

200

A page of listings.

Generated Response 200: Generated response 200
{
"success": true,
"data": {
"items": [
{
"skuId": 0,
"productId": 0,
"matchStatus": "matched",
"quantity": 0,
"available": 0,
"price": 0,
"externalRef": "string",
"browsable": true,
"deletedAt": "string",
"updatedAt": "string"
}
],
"nextCursor": "string"
}
}
FieldTypeConstraintsMeaningExample
successrequiredbooleanallowed values: trueWhether the operation completed as requested.true (generated)
datarequiredobjectNoneThe operation or event payload.{ "items": [ { "skuId": 0, "productId": 0, "matchStatus": "matched", "quantity": 0, "available": 0, "price": 0, "externalRef": "string", "browsable": true, "deletedAt": "string", "updatedAt": "string" } ], "nextCursor": "string" } (generated)
data.itemsrequiredarray of objectNoneThe records included in this page or batch.[ { "skuId": 0, "productId": 0, "matchStatus": "matched", "quantity": 0, "available": 0, "price": 0, "externalRef": "string", "browsable": true, "deletedAt": "string", "updatedAt": "string" } ] (generated)
data.items[].skuIdrequiredintegerNoneSku Id for the surrounding items item record.0 (generated)
data.items[].productIdrequiredintegerNoneProduct Id for the surrounding items item record.0 (generated)
data.items[].matchStatusrequiredstringallowed values: matched, unmatchedMatch Status for the surrounding items item record.matched (generated)
data.items[].quantityrequiredintegerNoneOn-hand: the pushed quantity, as stored.0 (generated)
data.items[].availablerequiredintegerNoneOn-hand minus outstanding committed holds, never negative. Derived at read time; with no holds, equals `quantity`.0 (generated)
data.items[].pricerequiredintegerNoneInteger minor units (cents) in the Seller’s currency.0 (generated)
data.items[].externalRefrequiredstring or nullNoneExternal Ref for the surrounding items item record.string (generated)
data.items[].browsablerequiredbooleanNoneWhether this Listing currently passes every Browse gate.true (generated)
data.items[].deletedAtrequiredstring or nullNoneSoft-delete timestamp, or null if live.string (generated)
data.items[].updatedAtrequiredstringNoneUpdated At for the surrounding items item record.string (generated)
data.nextCursorrequiredstring or nullNoneOpaque cursor for the next page; null on the last page.string (generated)

Errors

StatusCodeMeaningDo this
400INVALID_REQUESTThe request failed validation (`INVALID_REQUEST`).Correct the fields named in the error details, then retry the request.
401UNAUTHORIZEDMissing or invalid Marketplace API key (`UNAUTHORIZED`).Send the Marketplace API key for this Seller as a Bearer token, then retry.

Operations

Concepts

Changelog

None.

Schema

Full schema details (28 fields)

Parameters

FieldInTypeConstraintsMeaningExample
limitqueryintegerexclusive minimum: 0; maximum: 1000The maximum number of records requested for this page.1 (generated)
cursorquerystringminimum length: 1The opaque continuation token for the next page.string (generated)
updated_sincequerystringformat: date-timeReturn only records updated after this instant.2026-01-01T00:00:00.000Z (generated)
include_deletedquerystringallowed values: true, falseWhether soft-deleted records are included in the export.true (generated)

Request

None.

Response 200 (application/json)

FieldTypeConstraintsMeaningExample
successrequiredbooleanallowed values: trueWhether the operation completed as requested.true (generated)
datarequiredobjectNoneThe operation or event payload.{ "items": [ { "skuId": 0, "productId": 0, "matchStatus": "matched", "quantity": 0, "available": 0, "price": 0, "externalRef": "string", "browsable": true, "deletedAt": "string", "updatedAt": "string" } ], "nextCursor": "string" } (generated)
data.itemsrequiredarray of objectNoneThe records included in this page or batch.[ { "skuId": 0, "productId": 0, "matchStatus": "matched", "quantity": 0, "available": 0, "price": 0, "externalRef": "string", "browsable": true, "deletedAt": "string", "updatedAt": "string" } ] (generated)
data.items[].skuIdrequiredintegerNoneSku Id for the surrounding items item record.0 (generated)
data.items[].productIdrequiredintegerNoneProduct Id for the surrounding items item record.0 (generated)
data.items[].matchStatusrequiredstringallowed values: matched, unmatchedMatch Status for the surrounding items item record.matched (generated)
data.items[].quantityrequiredintegerNoneOn-hand: the pushed quantity, as stored.0 (generated)
data.items[].availablerequiredintegerNoneOn-hand minus outstanding committed holds, never negative. Derived at read time; with no holds, equals `quantity`.0 (generated)
data.items[].pricerequiredintegerNoneInteger minor units (cents) in the Seller’s currency.0 (generated)
data.items[].externalRefrequiredstring or nullNoneExternal Ref for the surrounding items item record.string (generated)
data.items[].browsablerequiredbooleanNoneWhether this Listing currently passes every Browse gate.true (generated)
data.items[].deletedAtrequiredstring or nullNoneSoft-delete timestamp, or null if live.string (generated)
data.items[].updatedAtrequiredstringNoneUpdated At for the surrounding items item record.string (generated)
data.nextCursorrequiredstring or nullNoneOpaque cursor for the next page; null on the last page.string (generated)

Error 400 (application/json)

FieldTypeConstraintsMeaningExample
successrequiredbooleanallowed values: falseWhether the operation completed as requested.false (generated)
errorrequiredobjectNoneStructured error information returned when the request cannot be completed.{ "code": "UNAUTHORIZED", "message": "string" } (generated)
error.coderequiredstringallowed values: UNAUTHORIZED, INVALID_REQUEST, UNSUPPORTED_API_VERSION, SELLER_SOURCE_EXCLUSIVE, BATCH_TOO_LARGE, RATE_LIMITED, ORDER_NOT_FOUND, SELLER_NOT_FOUND, INVALID_TRANSITION, CHECKOUT_IDEMPOTENCY_KEY_REUSED, CHECKOUT_MANUAL_SELLER_UNSUPPORTED, CHECKOUT_SELF_PURCHASE_NOT_ALLOWED, CHECKOUT_SELLER_UNAVAILABLE, CHECKOUT_NOT_FOUND, FEATURE_DISABLEDStable public error code the Platform can branch on.UNAUTHORIZED (generated)
error.messagerequiredstringNoneA human-readable explanation of the result.string (generated)
error.detailsunknownNoneAdditional structured context for diagnosing the result.{} (generated)

Error 401 (application/json)

FieldTypeConstraintsMeaningExample
successrequiredbooleanallowed values: falseWhether the operation completed as requested.false (generated)
errorrequiredobjectNoneStructured error information returned when the request cannot be completed.{ "code": "UNAUTHORIZED", "message": "string" } (generated)
error.coderequiredstringallowed values: UNAUTHORIZED, INVALID_REQUEST, UNSUPPORTED_API_VERSION, SELLER_SOURCE_EXCLUSIVE, BATCH_TOO_LARGE, RATE_LIMITED, ORDER_NOT_FOUND, SELLER_NOT_FOUND, INVALID_TRANSITION, CHECKOUT_IDEMPOTENCY_KEY_REUSED, CHECKOUT_MANUAL_SELLER_UNSUPPORTED, CHECKOUT_SELF_PURCHASE_NOT_ALLOWED, CHECKOUT_SELLER_UNAVAILABLE, CHECKOUT_NOT_FOUND, FEATURE_DISABLEDStable public error code the Platform can branch on.UNAUTHORIZED (generated)
error.messagerequiredstringNoneA human-readable explanation of the result.string (generated)
error.detailsunknownNoneAdditional structured context for diagnosing the result.{} (generated)