firestarter_list
Create a Firestarter product listing with just a name and USD base price; optional details can be added later, and it goes live instantly unless a photo is missing.
Instructions
List (create) a product for sale on Firestarter. ONLY two fields are required: product_name and base_price (USD). Everything else is OPTIONAL with sensible defaults, so a listing can be created from minimal information and refined afterwards; the response echoes the resulting settings. Defaults when omitted: inventory unlimited, shipping = estimated live at checkout by the delivery provider (based on the buyer's destination; sellers no longer set a flat/free rate), ship-from = account default address, ships worldwide (cross-border buyers get a duties disclosure; restrict with shipping_policy). Also optionally settable: brand, condition, sku, return policy, dispatch time, country of origin, physical dimensions/weight, materials, tags, and size/color variants — all of them can be filled in later with firestarter_update_listing. image_urls accepts a photo URL already available in the conversation (e.g. one returned by firestarter_upload_image). The listing goes live instantly unless something blocks activation (e.g. no product photo yet — see allow_imageless), in which case it's saved as a draft and the response lists exactly what to fix. To VIEW or edit listings you already have, use firestarter_listings / firestarter_update_listing instead; to BROWSE other sellers' products, use firestarter_catalog_search.
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'. | |
| category | No | Optional. Product category (e.g. 'electronics/audio/earbuds'). Infer a reasonable one from the product name if obvious; otherwise omit — don't ask. | |
| shipping | No | Deprecated and ignored — shipping is always estimated live from a delivery service provider based on the buyer's destination; sellers no longer set a flat/free shipping price. Accepted for backward compatibility only. | |
| 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']. | |
| ship_from | No | Ship-from (origin) address — where this item ships FROM. Used to compute real shipping rates (#332). Omit to use your account's default fulfillment address. | |
| weight_oz | No | Packaged weight, in ounces. | |
| base_price | Yes | REQUIRED. Sale price in USD, e.g. 49.99. | |
| image_urls | No | Public product photo URLs (first is the primary image). 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. | |
| source_url | No | Optional. If the seller mentions or pastes a link to their OWN existing listing for this product elsewhere (their Etsy/eBay/Shopify page, etc.), pass it here. Firestarter will fetch it once and fill in whatever descriptive details (description, category, brand, materials, tags, condition) the seller didn't already give you — it never overwrites anything you explicitly set. Best-effort: if the fetch fails or finds nothing, the listing is still created normally. | |
| 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. | |
| floor_price | No | Never sell below this price | |
| product_name | Yes | REQUIRED. What's being sold, e.g. 'Logitech MX Master 3S Wireless Mouse'. | |
| ceiling_price | No | Never surge above this price | |
| inventory_qty | No | Optional. Available quantity. Omit for unlimited — don't ask the seller unless they mention stock limits. | |
| 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_duplicate | No | Create this listing even though the seller already has one with the same name. Only pass true if the seller confirms they genuinely want a second, separate listing. | |
| 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. | |
| dynamic_pricing | No | Enable demand-based pricing | |
| shipping_policy | No | Where the seller is willing to ship this item. Omit to default to WORLDWIDE (ships anywhere the platform hard rules allow; cross-border buyers are shown a duties disclosure). mode 'domestic' = home country only; mode 'list' with countries:['CA','GB',...] = home country plus those ISO alpha-2 destinations; mode 'worldwide' (optionally exclude:['BR',...]) = everywhere except excluded codes. Sanctioned/embargoed destinations are always blocked regardless of this setting. | |
| 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. Omit for auto: platform label when a carrier-ratable ship-from exists, otherwise seller-managed. Pass 'seller_managed' when the seller says they ship orders themselves / with their own courier. | |
| country_of_origin | No | ISO 3166-1 alpha-2 country code where the item was made, e.g. 'US', 'VN'. |