Skip to content

Choose the product’s channel category

PUT
/api/v1/workspaces/{workspaceId}/products/{productId}/channels/{connectionId}/category
curl --request PUT \
--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/category \
--header 'Content-Type: application/json' \
--data '{ "category": { "id": "20625", "name": "Home & Garden > Kitchen, Dining & Bar > Dinnerware & Serving Dishes > Mugs" } }'

Null lets the next publish pick the channel’s best match. When the channel already lists the product, an update is queued.

workspaceId
required
string format: uuid
productId
required
string format: uuid
connectionId
required
string format: uuid
Media typeapplication/json
object
category
required
object
id
required
string

Example

20625
name
required

The category with its ancestors, as the channel shows it

string

Example

Home & Garden > Kitchen, Dining & Bar > Dinnerware & Serving Dishes > Mugs
Media typeapplication/json
object
connection
required
object
id
required
string format: uuid
channel
required
string
Allowed values: shopify ebay google_merchant etsy amazon walmart
displayName
required
string
status
required
string
Allowed values: CONNECTED NEEDS_REAUTH DISCONNECTED ERROR
currencyCode
required
string
selected
required

Whether the connection’s product selection includes it

boolean
displayState
required

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), published, failed, removing (being taken off) or removed.

string
Allowed values: draft needs_details ready publishing published failed removing removed
displayReason
required

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.

string
nullable
listing
required
object
id
required
string format: uuid
status
required
string
Allowed values: PENDING ACTIVE INACTIVE ERROR DELISTED
source
required

How the product joined the store: by hand, by an import, or by the automatic rule

string
Allowed values: MANUAL IMPORT RULE
externalId
required

The product’s id on the channel

string
nullable
externalUrl
required

Where to see it on the channel

string
nullable
lastError
required

Why the last sync failed

string
nullable
missingRequirement
required

What the channel refused the last publish for lacking (such as item_specifics), when the merchant can add it; null otherwise

string
Allowed values: reconnect account_settings shipping_policy payment_policy return_policy ship_from_location listing_setup images active_product category item_specifics option_names
lastSyncedAt
required
string format: date-time
nullable
category
required

The channel category it is listed in, on channels with categories (eBay)

object
id
required
string
name
required

The category with its ancestors, as the channel shows it

string
override
required
object
title
required
string
nullable
descriptionHtml
required
string
nullable
tags
required
Array<string>
nullable
mediaUrls
required
Array<string>
nullable
visibility
required
string
Allowed values: VISIBLE HIDDEN
inventoryBuffer
required
number
nullable
maxQuantity
required
number
nullable
variantPrices
required
Array<object>
object
variantId
required
string format: uuid
price
required
string
nullable
compareAtPrice
required
string
nullable
updatedAt
required
string format: date-time
variants
required
Array<object>
object
variantId
required
string format: uuid
title
required
string
price
required
object
price
required
string
compareAtPrice
required
string
nullable
source
required
string
Allowed values: override rule base
steps
required
Array<object>
object
kind
required
string
Allowed values: base conversion percent fixed_amount rounding floor override
label
required
string
amount
required

The price after this step

string
explanation
required
string
warnings
required
Array<string>
Allowed values: missing_cost below_floor compare_at_dropped clamped_to_zero no_exchange_rate
unitCost
required

The variant cost in the channel currency, converted like the price

string
nullable
quantity
required

The stock the channel shows; null when the variant does not track stock

number
nullable

Example

{
"connection": {
"channel": "shopify",
"status": "CONNECTED",
"currencyCode": "USD"
},
"displayState": "draft",
"displayReason": "Choose a shipping policy in this eBay connection’s listing defaults.",
"listing": {
"status": "PENDING",
"source": "MANUAL",
"missingRequirement": "reconnect",
"category": {
"id": "20625",
"name": "Home & Garden > Kitchen, Dining & Bar > Dinnerware & Serving Dishes > Mugs"
}
},
"override": {
"visibility": "VISIBLE",
"variantPrices": [
{
"price": "79.00",
"compareAtPrice": "99.00"
}
]
},
"variants": [
{
"title": "Blue / Large",
"price": {
"price": "102.99",
"source": "override",
"steps": [
{
"kind": "base",
"label": "+15%",
"amount": "102.35"
}
],
"explanation": "$89.00 → +15% → .99 = $102.99",
"warnings": [
"missing_cost"
]
}
}
]
}