Get Product Listing
GET/api/v2/product-listings/:productListing
Returns a single product listing with its sales channel, integration, pricing tier, inventory cache, and document relations loaded. The integration-specific resource class is used based on the sales channel.
products:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token.
FBM Backup Mode (Amazon MFN listings only): send inventory_rules.fbmBackup = { inherit: bool, enabled: bool, fbaThreshold: int>=0, scope: "same_country"|"all_marketplaces" }. inherit:true (or omitting fbmBackup) inherits the Amazon integration default; inherit:false is a per-listing override. The response fbm_backup carries the EFFECTIVE config, inherited (bool), the integration_default, and (when effectively enabled) the live gate status. Enabling an override on a non-Amazon or FBA listing returns 422. fbm_backup is null only for non-Amazon-MFN listings.
Pricing sync profile: the response carries pricing_sync_profile — the profile that governs this listing's outbound price push, as {id, name, source, is_archived} where source is listing (the listing's own), product (inherited from the product) or channel (the channel default); null when the channel pushes with its inline settings. pricing_sync_profile_override_id is the listing's OWN profile (null while it inherits), and product_pricing_sync_profile / channel_pricing_sync_profile ({id, name} or null) are the two levels it falls back to.
Shared FBA pools: Amazon holds fulfillable units against the FNSKU, not the merchant SKU, so several fba_listings entries can point at ONE physical stack of units — they share an integration_instance_id, country_code and fnsku, and each is reported with that stack's full available. fba_available_total counts such a group once, which is why the entries can add up to more than the total.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.