{"ok":true,"site":{"host":"ufiltrertklinikk.surfpay.shop","url":"https://ufiltrertklinikk.surfpay.shop/","type":"live","desc":"Browse our curated collection of products. Quality picks, fast shipping.","tools":[{"name":"search_catalog","kind":"answer","impl":"imperative","description":"Search the store catalog for products. Returns matching products with price, availability and links. Does not modify the cart. To pick a specific variant, call get_product with the product id, then show_variant or add_to_cart.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"catalog":{"type":"object","properties":{"query":{"type":"string","description":"What the shopper is looking for, e.g. \"blue wetsuit\"."},"pagination":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":10,"default":5}}}},"required":["query"]}},"required":["catalog"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products"]},{"name":"browse_store","kind":"act","impl":"imperative","description":"Browse the store by category. Without a collection, lists every category. With one, lists its products. Use when the shopper says \"browse to\", \"go to\", \"show me\" or names a category; prefer this over search_catalog for categories. Set navigate to true to open the category page in the browser.","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"collection":{"type":"string","description":"Category name. Omit to list categories; use \"all\" for every product."},"navigate":{"type":"boolean","default":false,"description":"Open the category page in the browser."},"sort_by":{"type":"string","enum":["best-selling","price-ascending","price-descending","title-ascending","title-descending","created-descending","created-ascending"],"default":"best-selling"},"page":{"type":"integer","minimum":1,"default":1,"description":"30 products per page."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products"]},{"name":"get_product","kind":"answer","impl":"imperative","description":"Get a product's details: description, price, availability, options and every variant with its id. Defaults to the product on the current page. Set catalog.navigate to true to open the product page; add selected_options to preselect a variant.","annotations":{"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"catalog":{"type":"object","properties":{"id":{"type":"string","description":"Product id, variant id or product URL path. Defaults to the current page's product."},"navigate":{"type":"boolean","default":false},"selected_options":{"type":"array","description":"Variant options, e.g. [{\"name\": \"Size\", \"value\": \"M\"}]. Names and values are matched case-insensitively.","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}}}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products"]},{"name":"show_variant","kind":"act","impl":"imperative","description":"Open a product page with a variant selected, so the shopper sees it. Accepts an exact variant id or a partial option selection such as just the colour; the first matching variant is chosen. On a product page, the product id can be left out.","inputSchema":{"type":"object","properties":{"catalog":{"type":"object","properties":{"handle":{"type":"string","description":"Product id. Optional on a product page."},"variant_id":{"type":"string"},"selected_options":{"type":"array","description":"Variant options, e.g. [{\"name\": \"Size\", \"value\": \"M\"}]. Names and values are matched case-insensitively.","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}}}}},"required":["catalog"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products"]},{"name":"get_cart","kind":"answer","impl":"imperative","description":"Get the current cart: line items with line ids, variants, quantities, unit prices and the subtotal. Works on any page.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products"]},{"name":"add_to_cart","kind":"act","impl":"imperative","description":"Add items to the cart. The shopper asking for it is the authorization; do not ask for confirmation. Put every item from one request in a single call, and do not retry a call that succeeded: adds are cumulative. Identify each item by item.id (a product or variant id), handle (product id) or query (free text). For products with variants, pass a variant id or selected_options. If any item can't be matched, nothing is added and the reply says what to clarify.","inputSchema":{"type":"object","properties":{"cart":{"type":"object","properties":{"line_items":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"object","properties":{"item":{"type":"object","properties":{"id":{"type":"string","description":"Product or variant id."}}},"handle":{"type":"string","description":"Product id."},"query":{"type":"string","description":"Free-text description, used when there is no id."},"selected_options":{"type":"array","description":"Variant options, e.g. [{\"name\": \"Size\", \"value\": \"M\"}]. Names and values are matched case-insensitively.","items":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}},"required":["name","value"]}},"quantity":{"type":"integer","minimum":1,"default":1}}}}},"required":["line_items"]}},"required":["cart"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products"]},{"name":"update_cart_lines","kind":"act","impl":"imperative","description":"Change the quantity of lines already in the cart, or remove them with quantity 0. Quantities are absolute, not added. Needs line ids from get_cart; it cannot add new items (use add_to_cart).","inputSchema":{"type":"object","properties":{"cart":{"type":"object","properties":{"line_items":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"object","properties":{"id":{"type":"string","description":"Line id from get_cart."},"quantity":{"type":"integer","minimum":0}},"required":["id","quantity"]}}},"required":["line_items"]}},"required":["cart"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products"]},{"name":"cancel_cart","kind":"act","impl":"imperative","description":"Empty the cart, removing every item in one step.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products"]},{"name":"proceed_to_checkout","kind":"act","impl":"imperative","description":"Go to checkout with the current cart. Checks the cart is not empty first. The shopper enters their details and pays on the next pages; nothing is ordered or charged by this tool.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products"]},{"name":"search_shop_policies_and_faqs","kind":"answer","impl":"imperative","description":"Answer questions about the store: shipping, returns and refunds, privacy, terms, FAQ and contact details.","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"The shopper's question, e.g. \"how long does delivery take\"."},"policy_types":{"type":"array","items":{"type":"string","enum":["refund","shipping","privacy","terms_of_service","terms_of_sale","contact"]},"description":"Limit to these policies."}},"required":["query"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products"]},{"name":"get_ucp_profile","kind":"answer","impl":"imperative","description":"Get the store's Universal Commerce Protocol profile from /.well-known/ucp: its catalog and checkout services and payment handlers.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/products"]}],"category":"Commerce","favicon":"/favicons/ufiltrertklinikk.surfpay.shop.svg","apiSurface":"spec","platforms":["shopify"],"platform":"shopify","toolCount":11}}