Connection check
verified live · 28h ago
agent-api-2
Resollo marketplace: search, seller lookup, offers, orders, draft listings. All human-approved.
Tools
18
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
28h ago
Tools & capabilities
18 toolsRead from the running server on 28h ago.
marketplace.info
read-only
Returns the static reference data an agent needs to build valid searches and read responses without guessing: the numeric category ids and their keys/English names (use these for s… Returns the static reference data an agent needs to build valid searches and read responses without guessing: the numeric category ids and their keys/English names (use these for search's category filter), the condition codes, the list of supported ISO currency codes and the default (USD), the payment- and shipment-method codes, the available sort options, a few limits (max search page size, max images per products.create), and policy URLs (AI policy, OpenAPI spec). Read-only, no authentication required. Safe to call once and cache for the session.
offers.list
read-only
role*limitstate
Returns the caller's most recent Make-an-Offer / bargaining offers. Pass role: 'buyer' for offers you sent, or role: 'seller' for offers received on your own listings. Optionally f… Returns the caller's most recent Make-an-Offer / bargaining offers. Pass role: 'buyer' for offers you sent, or role: 'seller' for offers received on your own listings. Optionally filter to a single state (pending / accepted / rejected / countered / buyer_accepted / expired). Each entry has the product, the offered price, the seller's counter price if any, and timestamps. Read-only, no side effects. Requires an 'Authorization: Bearer <agent api key>' header.
offers.make
product_id*currency_codeoffered_price*
Submits a price offer (Make an Offer / bargaining) on a fixed-price Resollo listing, on behalf of the authenticated buyer. Only works on fixed-price listings where the seller has o… Submits a price offer (Make an Offer / bargaining) on a fixed-price Resollo listing, on behalf of the authenticated buyer. Only works on fixed-price listings where the seller has offers enabled and a fully active Stripe Connect account -- never on auctions. A product can only have one active offer at a time; if it's currently locked by someone else's in-flight offer, or isn't otherwise eligible, this returns product_not_eligible. This does NOT move any money -- it only creates a PENDING offer the seller must respond to (see offers.respond). Requires an 'Authorization: Bearer <agent api key>' header.
offers.respond
action*offer_id*counter_price
Responds to a pending Make an Offer / bargaining offer. If the caller is the SELLER of the offer, action must be 'accept', 'reject', or 'counter' (counter_price required for 'count… Responds to a pending Make an Offer / bargaining offer. If the caller is the SELLER of the offer, action must be 'accept', 'reject', or 'counter' (counter_price required for 'counter') and the offer must currently be pending. If the caller is the BUYER, action must be 'accept_counter' and the offer must currently be countered. Accepting an offer or a counter-offer immediately creates a confirmed order at the agreed price -- it does NOT charge any payment method, the buyer still completes payment themselves afterwards through the normal flow, exactly like after orders.place. Requires an 'Authorization: Bearer <agent api key>' header.
orders.checkoutLink
orderId*
Creates and returns a Stripe-hosted checkout URL for a DISPATCHED, not-yet-paid order, on behalf of the BUYER -- exactly what the 'Pay with Stripe' button on the Resollo order page… Creates and returns a Stripe-hosted checkout URL for a DISPATCHED, not-yet-paid order, on behalf of the BUYER -- exactly what the 'Pay with Stripe' button on the Resollo order page does. This tool NEVER charges any payment method and NEVER completes a payment itself -- it only produces a link. The human buyer must open that URL themselves and complete payment on Stripe's own hosted page. Never tell the user their order is 'paid' after calling this tool -- give them the link and tell them they still need to complete payment there. Fails with not_ready_for_payment if the seller hasn't dispatched the order yet, or already_paid if it's already been paid. Requires an 'Authorization: Bearer <agent api key>' header.
orders.list
read-only
role*limitcurrency
Returns the caller's most recent orders. Pass role: 'buyer' for orders you placed, or role: 'seller' for orders on your own listings. Each entry has the same decoded status boolean… Returns the caller's most recent orders. Pass role: 'buyer' for orders you placed, or role: 'seller' for orders on your own listings. Each entry has the same decoded status booleans as orders.status (reserved / dispatched / paid / received / rejected / closed), plus the product name, item count, total price (converted to the requested currency, default USD), the other party's name, and a link to the order page. Read-only, no side effects. Requires an 'Authorization: Bearer <agent api key>' header.
orders.place
can modify data
commentconfirm*currencyquantityproduct_id*address_key
+2
Creates a RESERVATION for the given product -- it does NOT complete a purchase and does NOT charge any payment method. After calling this tool, a human (the buyer) MUST log in to R… Creates a RESERVATION for the given product -- it does NOT complete a purchase and does NOT charge any payment method. After calling this tool, a human (the buyer) MUST log in to Resollo and complete payment manually through the normal checkout flow (Stripe-hosted checkout page, or cash-payment confirmation). Never tell the user their order is 'placed' or 'paid' after calling this tool -- tell them the item is reserved and they need to complete payment themselves at resollo.com to finalize it. Only fixed-price listings can be reserved this way (not auctions). Requires an 'Authorization: Bearer <agent api key>' header -- generate a key from the Resollo profile page. The buyer must have explicitly approved this specific order before you call this tool (confirm must be true).
orders.reject
can modify data
orderId*
Rejects an order on behalf of the SELLER -- only allowed while the order is still RESERVED, i.e. before the seller has dispatched it or the buyer has paid. Returns order_not_reserv… Rejects an order on behalf of the SELLER -- only allowed while the order is still RESERVED, i.e. before the seller has dispatched it or the buyer has paid. Returns order_not_reserved once the order has moved past that point (use the normal Resollo order page for anything after dispatch). This does NOT move any money -- no payment has happened yet at the RESERVED stage. Requires an 'Authorization: Bearer <agent api key>' header.
orders.status
read-only
orderId*currency
Returns the current status of one order: whether it's reserved, dispatched, paid, received, rejected, or closed (decoded booleans, not a raw state number), carrier/tracking info if… Returns the current status of one order: whether it's reserved, dispatched, paid, received, rejected, or closed (decoded booleans, not a raw state number), carrier/tracking info if dispatched, and the total price. The caller must be either the order's buyer or its seller -- returns forbidden otherwise. Read-only, no side effects. Requires an 'Authorization: Bearer <agent api key>' header.
products.create
nameunitpriceimages*quantitycondition
+5
Creates a new Resollo product listing FROM PHOTOS ONLY -- Resollo's own built-in AI (the same pipeline the web listing form's 'AI autofill' button uses) analyzes the images and gen… Creates a new Resollo product listing FROM PHOTOS ONLY -- Resollo's own built-in AI (the same pipeline the web listing form's 'AI autofill' button uses) analyzes the images and generates the title, description, category, condition, and a suggested price; this tool never accepts or generates listing content on its own. The listing is created INACTIVE and NOT publicly visible -- it does NOT go live automatically. The seller MUST review and activate it themselves on their existing Resollo product management page (the activation_url returned by this tool) before it becomes visible or goes through moderation. Never tell the user the listing is 'live' or 'published' after calling this tool -- tell them a draft was created from their photos and they need to review and activate it themselves at resollo.com. Images must be actual photo files the caller has access to (e.g. local files) -- never fetch or invent an image from a URL. Requires an 'Authorization: Bearer <agent api key>' header -- generate a key from the Resollo profile page; the resulting listing is attributed to that key's user.
products.get
read-only
currencyproductId*
Fetch the full details of one specific Resollo product listing by its ID, including its Semantic Profile (suitable_for, not_ideal_for, target_audience, key_strengths, evokes, is_si… Fetch the full details of one specific Resollo product listing by its ID, including its Semantic Profile (suitable_for, not_ideal_for, target_audience, key_strengths, evokes, is_similar_to -- useful for judging fit against a buyer's stated needs), attributes, all image URLs, shipment prices, and the seller's accepted payment/shipment methods. Returns not_found for products that don't exist, are sold, expired, or moderation-hidden. No authentication required.
products.search
read-only
qsortlimitcursorcategorycurrency
+4
Search active, publicly available product listings on the Resollo marketplace. Use this to browse or filter by keyword, category, price range, currency, or seller location. Returns… Search active, publicly available product listings on the Resollo marketplace. Use this to browse or filter by keyword, category, price range, currency, or seller location. Returns only currently active, purchasable listings (never sold, expired, or moderation-hidden ones). For full details on one specific product you already have the ID for (including its Semantic Profile fields -- suitable_for, not_ideal_for, target_audience, key_strengths, evokes, is_similar_to -- which this search tool does NOT return), call products.get instead. Results are paginated via next_cursor; pass it back as the cursor argument to fetch the next page. No authentication required.
questions.ask
question*product_id*
Submits a public question about a product listing on behalf of the authenticated caller -- exactly the same product_questions record the web 'Ask a question' form creates. The sell… Submits a public question about a product listing on behalf of the authenticated caller -- exactly the same product_questions record the web 'Ask a question' form creates. The seller can answer it on the Resollo web UI (with their own AI-drafted-answer assistant); this tool does not draft or send an answer. Question text is capped at 500 characters. Requires an 'Authorization: Bearer <agent api key>' header.
questions.list
read-only
productId*
Returns every question asked about a product listing, including the seller's answer where one exists (answer/answered_at are null for unanswered questions). Useful to check what pa… Returns every question asked about a product listing, including the seller's answer where one exists (answer/answered_at are null for unanswered questions). Useful to check what past buyers already asked before asking a new one, or before advising a buyer on a purchase decision. Read-only, no authentication required.
reviews.list
read-only
productId*
Returns the reviews left for a product by past buyers (rating, message, date), plus the product's average rating and review count. Every review is tied to a real, verified order li… Returns the reviews left for a product by past buyers (rating, message, date), plus the product's average rating and review count. Every review is tied to a real, verified order line -- only actual buyers can leave one. Useful to judge product/seller quality before advising a buyer on a purchase decision. Read-only, no authentication required.
sellers.get
read-only
sellerId*
Returns a seller's public profile -- the same information the web /user/<id> profile page shows: display name, avatar URL, about text, identity-verification badge, location (countr… Returns a seller's public profile -- the same information the web /user/<id> profile page shows: display name, avatar URL, about text, identity-verification badge, location (country/region/city), when they joined, accepted payment/shipment methods, whether they have a fully active Stripe Connect account, their number of currently active listings, completed-sale count, follower count, and their positive-feedback rating (0-5, null if they have no feedback yet). Useful for judging seller reputation before advising a buyer, or to get the shop_url for browsing everything they sell (pass the same seller id as search's seller_id filter). Read-only, no authentication required.
sellers.listings
read-only
limitstate
Returns the caller's own product listings in EVERY state -- active, inactive, pending moderation, rejected, and closed -- not just the publicly visible ones (soft-deleted listings… Returns the caller's own product listings in EVERY state -- active, inactive, pending moderation, rejected, and closed -- not just the publicly visible ones (soft-deleted listings are excluded). Use this to find a draft created earlier with products.create (those sit in state 'inactive' until the seller activates them) when you no longer have its product_id, or to review what the seller currently has listed. Each entry includes the listing's state, price, quantity, and an edit_url (the seller's product page where an inactive draft is reviewed and activated). Optionally filter to a single state. Read-only, no side effects. Requires an 'Authorization: Bearer <agent api key>' header.
sellers.status
read-only