describe_listing_attributes
Discover channel-defined listing attributes and allowed values before setting them to avoid dropped values from incorrect field names.
Instructions
Discover the channel-defined listing fields you can set — TikTok product attributes, eBay item specifics, WooCommerce product attributes — and what is currently set. READ-ONLY. Call this BEFORE set_listing_attributes or set_channel_settings: the field names and their allowed values are defined by the channel, so guessing them gets the value dropped.
Pass product_uuid for one listing, or integration_uuid alone for the shop-wide settings (compliance answers, the shipping template, and a fallback size chart).
BRAND and the per-listing SIZE CHART are per-PRODUCT, not shop-wide — both describe the blank, so a shop selling two blanks needs two values, and a shop-wide size chart would replace the accurate per-garment one on every other listing at once. Ask for them with product_uuid.
Each field carries value_type, cardinality (single vs multi), free_text (whether a value outside the list is accepted) and requirement. Those are separate on purpose: most fields are enumerated AND accept free text, so neither flag alone tells you what is legal. requirement: "conditional" means the field only becomes required once required_when holds — typically after you answer a related question one particular way.
values is what is LIVE ON THE CHANNEL, which is not the same as what was last written from here: platform auto-fills and merchant edits made directly in the channel's own admin show up here too. That drift is usually the most useful thing in the response.
unset_required lists fields that are required and empty. Those are NOT filled in for you, deliberately — several are legal attestations. Left unset, the channel picks its own default or grades the listing down, so they are worth resolving with the merchant.
⚠️ CHECK resolved_for.resolution when it is present. explicit_override means the merchant chose the category. keyword_match means it was GUESSED from the product name, and a wrong guess means these fields belong to a different kind of product entirely — setting attributes against it is worse than setting none. Treat keyword_match as unverified and say so.
Big value lists are omitted by default and reported as allowed_values_count; pass include_values to expand them (one real field carries 647 values).
A field whose value_type is object takes a STRUCTURE, not a string, and publishes its shape in channel_ref.object_schema. Build the value from that schema — size_chart_measurements is one, and import_size_measurements will fill it for you from the fulfillment provider.
A channel with no listing attributes answers supported: false with an empty fields — a real answer, not an error.
[#b71f15]
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| workspace | No | ||
| store_uuid | Yes | ||
| product_uuid | No | The listing to inspect. Omit for the shop-wide settings. | |
| include_values | No | 'all', or a comma-separated list of field keys, to inline allowed values that are elided by default. | |
| integration_uuid | No | Which connected sales channel. Required when `product_uuid` is omitted; otherwise only needed if the store has more than one channel connected. |