firestarter_update_listing
Update a marketplace listing's product details, inventory, status, photos, variants, and more. Correct fields, pause or reactivate listings, or activate imported drafts.
Instructions
Update a listing's product details — name, description, category, inventory, status, brand, condition, sku, return policy, dispatch time, country of origin, physical dimensions/weight, materials, tags, or variants. Use this to rename a product, change its description, update stock levels, pause/reactivate a listing, or fill in/correct any of those detail fields. Also activates imported drafts (status 'active') - drafts need a positive price and at least one photo. High-value (>= $500) and luxury-category drafts additionally require a possession-verification photo: activation returns the instructions and an FS-XXXX code for the seller, and firestarter_verify submits the seller's photo. For pricing changes, use firestarter_reprice instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sku | No | Seller's own inventory/stock-keeping code for this listing. Distinct from any barcode/UPC — seller-internal, never shown to buyers. | |
| tags | No | Freeform search/discovery tags, e.g. ['summer', 'unisex']. | |
| brand | No | Manufacturer or brand name, e.g. 'Logitech'. | |
| status | No | New listing status | |
| category | No | New category (e.g. 'sports/tennis') | |
| variants | No | Size/color/option variants for display and inventory tracking (not a checkout-level construct — orders still resolve at the listing level). | |
| width_in | No | Packaged width, in inches. | |
| condition | No | Item condition. Omit for new/unspecified. | |
| height_in | No | Packaged height, in inches. | |
| length_in | No | Packaged length, in inches. | |
| materials | No | Materials the item is made of, e.g. ['cotton', 'polyester']. | |
| weight_oz | No | Packaged weight, in ounces. | |
| image_urls | No | Replace the listing's photos with these public image URLs. If the seller attached a photo in this conversation, call firestarter_upload_image FIRST (pass its hosted URL as image_url — never rebuild it as a base64 data-URI) to get a permanent URL, then pass it here. Never ask them to re-send a photo already in the conversation. | |
| listing_id | Yes | The listing ID to update | |
| video_urls | No | Product video URLs (MP4 or WebM, up to 25 MB and about 60 seconds each, max 3). The server fetches and re-hosts each one, so pass any public https URL — there is no separate upload step and no base64 form: a 25 MB video does not survive being emitted as a tool argument. Omit to leave existing videos untouched; pass an empty array to remove them. Videos are shown alongside the photos on the listing page and the share page. | |
| description | No | New product description | |
| product_name | No | New product name/title | |
| inventory_qty | No | Updated inventory quantity | |
| return_policy | No | Free-text return policy shown to buyers, e.g. '30-day returns, buyer pays return shipping.' | |
| ship_time_days | No | Typical number of days from order to dispatch (handling time), not transit time. | |
| allow_imageless | No | Override the NEEDS_IMAGE activation gate and let this listing go live with no photo. Only pass true if the seller explicitly can't provide one right now. | |
| fulfillment_mode | No | How orders for this listing get shipped. 'seller_managed' = NO platform label is ever bought: each paid order holds in awaiting_shipment until the seller ships it with their own carrier and enters tracking via firestarter_ship_order. 'platform' = the platform always books the carrier label. Pass null to clear back to auto (platform label when a carrier-ratable ship-from exists, otherwise seller-managed). | |
| country_of_origin | No | ISO 3166-1 alpha-2 country code where the item was made, e.g. 'US', 'VN'. |