firestarter_disputes
Open, review, and resolve disputes on orders you bought: file claims for non-receipt, damage, or wrong items, post evidence, accept or counter offers, withdraw, or escalate.
Instructions
For BUYERS: open, check, and resolve disputes on orders the user BOUGHT. Use this whenever a buyer asks 'is there a dispute on my order?', wants to open a dispute (item never arrived, arrived damaged / wrong / not as described), or needs to respond to one — post a note or photo, accept / reject / counter the seller's partial-refund offer, withdraw, or escalate to Firestarter. Call with NO arguments to list the buyer's disputes; pass an order's execution_id (exec_…) to check whether THAT order has a dispute; pass a dispute_id (disp_…) to see the full thread. This is the BUYER side — for disputes on orders the user is SELLING, use firestarter_seller_disputes instead.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | For 'open': the category of problem. Use 'not_received' when the order never arrived. Defaults to 'not_as_described'. | |
| action | No | What to do. OMIT to list the buyer's disputes, or to view one (pass dispute_id, or execution_id to look up the dispute on that order). 'open' = file a new dispute (needs execution_id + reason). 'message' = post a note and/or photo to the thread (needs dispute_id or execution_id, plus message and/or image_urls — pass a photo's URL, never rebuild it as base64). 'accept' / 'reject' = respond to the seller's split offer (offer_id optional — defaults to the latest pending seller offer). 'counter' = propose your own split (needs buyer_pct + seller_pct). 'withdraw' = drop the dispute. 'escalate' = ask Firestarter to review. | |
| reason | No | For 'open': what went wrong, in the buyer's words (e.g. 'Package never arrived, tracking stuck for two weeks'). Also used as the optional note on a 'counter' or 'escalate'. | |
| message | No | For 'message': the text to post to the dispute thread. | |
| offer_id | No | For 'accept' / 'reject': the specific offer id to respond to. Omit to act on the latest pending seller offer. | |
| buyer_pct | No | For 'counter': the percent YOU (the buyer) would be refunded. buyer_pct + seller_pct must equal 100. | |
| dispute_id | No | Dispute id (disp_…). Identifies which dispute to view or act on for message / accept / reject / counter / withdraw / escalate. | |
| image_urls | No | For 'message': evidence photos the buyer already has, as public https URLs. THIS IS THE ONE TO USE when a photo is attached in the conversation — pass its URL straight through. Never fetch an image and rebuild it as a base64 data-URI to fill image_base64: a photo is far too large to survive being printed into a tool call, which is why attaching used to fail. Up to 5. | |
| seller_pct | No | For 'counter': the percent the seller keeps. buyer_pct + seller_pct must equal 100. | |
| execution_id | No | Order / execution id (exec_…). Required for 'open'. With no action, pass this to check whether a specific order has a dispute. May also stand in for dispute_id on actions — the dispute on that order is looked up. | |
| image_base64 | No | For 'message': an evidence photo as a base64 data-URI ('data:image/jpeg;base64,…'). Only for an image you genuinely hold as raw bytes and small enough to inline — if you have a URL for it, use image_urls instead. |