[{"data":1,"prerenderedAt":394},["ShallowReactive",2],{"navigation_docs":3,"-tools-web-request":139,"-tools-web-request-surround":389},[4,8,12,16,20,24,28,32,59,63,117,121,135],{"title":5,"path":6,"stem":7},"Introduction","\u002Fintroduction","1.introduction",{"title":9,"path":10,"stem":11},"Memory","\u002Fmemory","10.memory",{"title":13,"path":14,"stem":15},"Customization","\u002Fcustomization","11.customization",{"title":17,"path":18,"stem":19},"Deployment","\u002Fdeployment","12.deployment",{"title":21,"path":22,"stem":23},"Reference","\u002Freference","13.reference",{"title":25,"path":26,"stem":27},"Quickstart","\u002Fquickstart","2.quickstart",{"title":29,"path":30,"stem":31},"Installation","\u002Finstallation","3.installation",{"title":33,"icon":34,"path":35,"stem":36,"children":37,"page":58},"Connectors","i-lucide-cable","\u002Fconnectors","4.connectors",[38,42,46,50,54],{"title":39,"path":40,"stem":41},"Telegram","\u002Fconnectors\u002Ftelegram","4.connectors\u002F1.telegram",{"title":43,"path":44,"stem":45},"Slack","\u002Fconnectors\u002Fslack","4.connectors\u002F2.slack",{"title":47,"path":48,"stem":49},"Email","\u002Fconnectors\u002Femail","4.connectors\u002F3.email",{"title":51,"path":52,"stem":53},"API","\u002Fconnectors\u002Fapi","4.connectors\u002F4.api",{"title":55,"path":56,"stem":57},"Terminal","\u002Fconnectors\u002Fterminal","4.connectors\u002F5.terminal",false,{"title":60,"path":61,"stem":62},"Attachments","\u002Fattachments","5.attachments",{"title":64,"icon":65,"path":66,"stem":67,"children":68,"page":58},"Tools","i-lucide-wrench","\u002Ftools","6.tools",[69,73,77,81,85,89,93,97,101,105,109,113],{"title":70,"path":71,"stem":72},"File Manager","\u002Ftools\u002Ffile-manager","6.tools\u002F1.file-manager",{"title":74,"path":75,"stem":76},"Text-to-Speech","\u002Ftools\u002Ftext-to-speech","6.tools\u002F10.text-to-speech",{"title":78,"path":79,"stem":80},"Confirmations","\u002Ftools\u002Fconfirmations","6.tools\u002F11.confirmations",{"title":82,"path":83,"stem":84},"Adding Custom Tools","\u002Ftools\u002Fadding-custom-tools","6.tools\u002F12.adding-custom-tools",{"title":86,"path":87,"stem":88},"Image Manager","\u002Ftools\u002Fimage-manager","6.tools\u002F2.image-manager",{"title":90,"path":91,"stem":92},"Web Request","\u002Ftools\u002Fweb-request","6.tools\u002F3.web-request",{"title":94,"path":95,"stem":96},"Reminders","\u002Ftools\u002Freminders","6.tools\u002F4.reminders",{"title":98,"path":99,"stem":100},"Heartbeats","\u002Ftools\u002Fheartbeats","6.tools\u002F5.heartbeats",{"title":102,"path":103,"stem":104},"Email Manager","\u002Ftools\u002Femail-manager","6.tools\u002F6.email-manager",{"title":106,"path":107,"stem":108},"Calendar","\u002Ftools\u002Fcalendar","6.tools\u002F7.calendar",{"title":110,"path":111,"stem":112},"Read Database","\u002Ftools\u002Fread-database","6.tools\u002F8.read-database",{"title":114,"path":115,"stem":116},"Headless Browser","\u002Ftools\u002Fbrowser","6.tools\u002F9.browser",{"title":118,"path":119,"stem":120},"Tinker","\u002Ftinker","7.tinker",{"title":122,"icon":123,"path":124,"stem":125,"children":126,"page":58},"Skills","i-lucide-sparkles","\u002Fskills","8.skills",[127,131],{"title":128,"path":129,"stem":130},"Overview","\u002Fskills\u002Foverview","8.skills\u002F1.overview",{"title":132,"path":133,"stem":134},"Adding Custom Skills","\u002Fskills\u002Fadding-custom-skills","8.skills\u002F2.adding-custom-skills",{"title":136,"path":137,"stem":138},"Personas","\u002Fpersonas","9.personas",{"id":140,"title":90,"body":141,"description":382,"extension":383,"links":384,"meta":385,"navigation":386,"path":91,"seo":387,"stem":92,"__hash__":388},"docs\u002F6.tools\u002F3.web-request.md",{"type":142,"value":143,"toc":373},"minimark",[144,148,152,156,256,282,286,289,293,309,313,316,356,359],[145,146,5],"h2",{"id":147},"introduction",[149,150,151],"p",{},"The Web Request tool makes HTTP calls to public APIs and websites. It returns the status, headers, and body, and blocks any request that would resolve to a private network.",[145,153,155],{"id":154},"making-requests","Making Requests",[157,158,159,175],"table",{},[160,161,162],"thead",{},[163,164,165,169,172],"tr",{},[166,167,168],"th",{},"Parameter",[166,170,171],{},"Required",[166,173,174],{},"Description",[176,177,178,212,224,237],"tbody",{},[163,179,180,187,190],{},[181,182,183],"td",{},[184,185,186],"code",{},"operation",[181,188,189],{},"Yes",[181,191,192,193,196,197,196,200,196,203,196,206,196,209],{},"One of ",[184,194,195],{},"get",", ",[184,198,199],{},"head",[184,201,202],{},"post",[184,204,205],{},"put",[184,207,208],{},"patch",[184,210,211],{},"delete",[163,213,214,219,221],{},[181,215,216],{},[184,217,218],{},"url",[181,220,189],{},[181,222,223],{},"The URL to request",[163,225,226,231,234],{},[181,227,228],{},[184,229,230],{},"headers",[181,232,233],{},"No",[181,235,236],{},"Object of header name\u002Fvalue pairs",[163,238,239,244,246],{},[181,240,241],{},[184,242,243],{},"body",[181,245,233],{},[181,247,248,249,196,251,196,253,255],{},"Request body for ",[184,250,202],{},[184,252,205],{},[184,254,208],{},". JSON is detected automatically.",[149,257,258,259,262,263,265,266,196,269,196,272,196,275,278,279,281],{},"The response is returned as JSON containing ",[184,260,261],{},"status",", a filtered subset of ",[184,264,230],{}," (",[184,267,268],{},"content-type",[184,270,271],{},"content-length",[184,273,274],{},"location",[184,276,277],{},"x-request-id","), and the response ",[184,280,243],{},".",[145,283,285],{"id":284},"allowed-methods","Allowed Methods",[149,287,288],{},"All six standard HTTP methods are supported. Anything else returns an error.",[145,290,292],{"id":291},"response-limits","Response Limits",[149,294,295,296,300,301,304,305,308],{},"Responses are truncated at ",[297,298,299],"strong",{},"100 KB",". The request has a hard timeout of ",[297,302,303],{},"15 seconds"," and follows up to ",[297,306,307],{},"5 redirects",". Each redirect URL is re-validated against the private network filter before being followed.",[145,310,312],{"id":311},"private-network-protection","Private Network Protection",[149,314,315],{},"The tool will refuse to connect to any host that resolves to a private, loopback, or link-local address. This includes:",[317,318,319,326,338,344],"ul",{},[320,321,322,325],"li",{},[184,323,324],{},"127.0.0.0\u002F8"," (loopback)",[320,327,328,196,331,196,334,337],{},[184,329,330],{},"10.0.0.0\u002F8",[184,332,333],{},"172.16.0.0\u002F12",[184,335,336],{},"192.168.0.0\u002F16"," (RFC 1918)",[320,339,340,343],{},[184,341,342],{},"169.254.0.0\u002F16"," (link-local)",[320,345,346,196,349,196,352,355],{},[184,347,348],{},"::1",[184,350,351],{},"fc00::\u002F7",[184,353,354],{},"fe80::\u002F10"," (IPv6 equivalents)",[149,357,358],{},"Every DNS A and AAAA record for the host is checked, so a hostname can't hide a private IP behind a public answer (DNS rebinding defense).",[360,361,362],"blockquote",{},[149,363,364,368,369,372],{},[365,366,367],"span",{},"!NOTE","\nThe tool description hints at fetching ",[184,370,371],{},"https:\u002F\u002Fmarkdown.new\u002F{url}"," to get a webpage as clean Markdown instead of raw HTML, so the agent picks it up automatically when reading pages.",{"title":374,"searchDepth":375,"depth":375,"links":376},"",2,[377,378,379,380,381],{"id":147,"depth":375,"text":5},{"id":154,"depth":375,"text":155},{"id":284,"depth":375,"text":285},{"id":291,"depth":375,"text":292},{"id":311,"depth":375,"text":312},"Make outbound HTTP requests from the agent, with private network protection.","md",null,{},true,{"title":90,"description":382},"Qf8bgAs8jZIemKRKVPSAWXbhOy7LEGRe4RZlfwx49rU",[390,392],{"title":86,"path":87,"stem":88,"description":391,"children":-1},"Read image metadata and perform transformations like resize, crop, convert, and optimize.",{"title":94,"path":95,"stem":96,"description":393,"children":-1},"Schedule one-shot messages to be delivered at a specific time.",1786661906119]