The product’s listing on one store, for the listing editor
const url = 'https://api.crossmart.io/api/v1/workspaces/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/products/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/channels/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/listing';const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.crossmart.io/api/v1/workspaces/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/products/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/channels/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/listing \ --header 'x-api-key: <x-api-key>'Every field (title, description, tags, images, visibility, and each variant’s price and compare-at price) with the product’s value, the store’s override (null when it follows the product) and the value the store gets, plus the stock limits, category, a summary of the item specifics and the display state. Revert one field with PATCH …/override.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Responses
Section titled “Responses”object
object
Whether the connection’s product selection includes it
The product on this store, in one state computed by the server: draft (not selected for the store), needs_details (selected, but the store setup or the product lacks something publishing needs), ready (publishable, not sent yet), publishing (queued or in flight, including an update of a published listing that a sync or retry queued), published, failed, removing (being taken off) or removed.
For needs_details and failed: a short, merchant-readable reason (what to add, or the channel’s message). Never holds secrets. Null for the other states.
For needs_details: the requirement to fix first, so a client can open the right place. Store-setup requirements (reconnect, account_settings, shipping_policy, payment_policy, return_policy, ship_from_location, listing_setup) come before the product’s (images, active_product, option_names), which the server checks before publishing; category and item_specifics are known once the channel refused a publish. Null for the other states.
object
How the product joined the store: by hand, by an import, or by the automatic rule
The product’s id on the channel
Where to see it on the channel
Why the last sync failed
What the channel refused the last publish for lacking (such as item_specifics), when the merchant can add it; null otherwise
When a sync or retry queued its publish, update or delist; null once that job finished or gave up. While set, a selected listing shows displayState: publishing.
The channel category it is listed in, on channels with categories (eBay)
object
The category with its ancestors, as the channel shows it
object
The product’s value
Null when it follows the product
What the store gets
Whether the store overrides it; reverting sets override to null
object
The product’s value
Null when it follows the product
What the store gets
Whether the store overrides it; reverting sets override to null
The brand the store shows
object
The product’s value
Null when it follows the product
What the store gets
Whether the store overrides it; reverting sets override to null
object
Null when it follows the product
Whether the store overrides it; reverting sets override to null
Image URLs in order; an override is a subset of the product’s, in its order
object
Null when it follows the product
Whether the store overrides it; reverting sets override to null
object
VISIBLE when the product is active, else HIDDEN
Whether the store overrides it; reverting sets override to null
object
Units held back from this store
The most units this store shows
object
object
The catalog price, in the workspace currency
In the store’s currency: the override, else the pricing rule’s result
Whether the store overrides it; reverting sets override to null
In the store’s currency: what its pricing rule gives, before a fixed price on the listing. Equal to the effective price unless the price is overridden.
object
In the workspace currency
In the store’s currency
Whether the store overrides it; reverting sets override to null
How the effective price was reached
object
object
The price after this step
The variant cost in the channel currency, converted like the price
The stock the store shows; null when the variant does not track stock
object
Whether the channel has categories (eBay)
Null until the merchant chose one or a publish picked one
object
The category with its ancestors, as the channel shows it
object
Whether the channel has item specifics (eBay)
How many item specifics the merchant set on the listing
When the overrides last changed; null when there are none
Example
{ "connection": { "channel": "shopify", "status": "CONNECTED", "currencyCode": "USD" }, "displayState": "draft", "displayReason": "Choose a shipping policy in this eBay connection’s listing defaults.", "displayRequirement": "reconnect", "listing": { "status": "PENDING", "source": "MANUAL", "missingRequirement": "reconnect", "category": { "id": "20625", "name": "Home & Garden > Kitchen, Dining & Bar > Dinnerware & Serving Dishes > Mugs" } }, "visibility": { "product": "VISIBLE", "override": "VISIBLE", "effective": "VISIBLE" }, "variants": [ { "title": "Blue / Large", "price": { "product": "89.00", "override": "79.00", "effective": "102.99" }, "rulePrice": "102.99", "resolvedPrice": { "price": "102.99", "source": "override", "steps": [ { "kind": "base", "label": "+15%", "amount": "102.35" } ], "explanation": "$89.00 → +15% → .99 = $102.99", "warnings": [ "missing_cost" ] } } ], "category": { "value": { "id": "20625", "name": "Home & Garden > Kitchen, Dining & Bar > Dinnerware & Serving Dishes > Mugs" } }, "itemSpecifics": { "names": [ "Brand", "Color" ] }}The product or the store is not in the workspace