[{"data":1,"prerenderedAt":330},["ShallowReactive",2],{"navigation":3,"\u002Fdocs\u002Fsdks":81,"\u002Fdocs\u002Fsdks-surround":325},[4,77],{"title":5,"_path":6,"children":7,"icon":76},"Docs","\u002Fdocs",[8,23,41,51,63,69],{"title":9,"_path":10,"children":11},"Getting Started","\u002Fdocs\u002Fgetting-started",[12,14,17,20],{"title":13,"_path":10},"Introduction to Datafuse",{"title":15,"_path":16},"Installation Guide","\u002Fdocs\u002Fgetting-started\u002Finstallation",{"title":18,"_path":19},"5-Minute Quickstart","\u002Fdocs\u002Fgetting-started\u002Fquickstart",{"title":21,"_path":22},"5-Minute Quickstart with curl","\u002Fdocs\u002Fgetting-started\u002Fcurl",{"title":24,"_path":25,"children":26},"Core Concepts","\u002Fdocs\u002Fcore-concepts",[27,29,32,35,38],{"title":28,"_path":25},"Conceptual Landscape",{"title":30,"_path":31},"Adding Custom Integrations","\u002Fdocs\u002Fcore-concepts\u002Fcustom-integrations",{"title":33,"_path":34},"Managed Authentication","\u002Fdocs\u002Fcore-concepts\u002Fauthentication",{"title":36,"_path":37},"Bi-Directional Triggers","\u002Fdocs\u002Fcore-concepts\u002Ftriggers",{"title":39,"_path":40},"Observability & Auditing","\u002Fdocs\u002Fcore-concepts\u002Fobservability",{"title":42,"_path":43,"children":44},"Model Context Protocol","\u002Fdocs\u002Fmcp",[45,48],{"title":46,"_path":47},"Introduction to MCP","\u002Fdocs\u002Fmcp\u002Fintroduction",{"title":49,"_path":50},"Operating MCP Servers","\u002Fdocs\u002Fmcp\u002Fmcp-servers",{"title":52,"_path":53,"children":54},"Client SDKs","\u002Fdocs\u002Fsdks",[55,57,60],{"title":56,"_path":53},"Client Overview",{"title":58,"_path":59},"Python Client Guide","\u002Fdocs\u002Fsdks\u002Fpython",{"title":61,"_path":62},"TypeScript Client Guide","\u002Fdocs\u002Fsdks\u002Ftypescript",{"title":64,"_path":65,"children":66},"Self-Hosting & VPC","\u002Fdocs\u002Fself-hosting",[67],{"title":68,"_path":65},"Self-Hosting Guide",{"title":70,"_path":71,"children":72},"Comparisons","\u002Fdocs\u002Fcomparisons",[73],{"title":74,"_path":75},"Datafuse vs. Composio","\u002Fdocs\u002Fcomparisons\u002Fcomposio","i-heroicons-book-open",{"title":78,"_path":79,"icon":80},"Pricing","\u002Fpricing","i-heroicons-credit-card",{"_path":53,"_dir":82,"_draft":84,"_partial":84,"_locale":85,"title":56,"description":86,"body":87,"_type":319,"_id":320,"_source":321,"_file":322,"_stem":323,"_extension":324},{"_path":83,"title":52},"\u002Fdocs\u002Fsdks\u002F_dir",false,"","Learn the shared v1 route surface used by the Python, TypeScript, and curl examples.",{"type":88,"children":89,"toc":313},"root",[90,98,102,109,207,210,216,221,256,259,265],{"type":91,"tag":92,"props":93,"children":94},"element","p",{},[95],{"type":96,"value":97},"text","Datafuse keeps the public app contract simple: authenticate, list integrations, resolve tools, invoke a tool, and inspect audit logs. The same flow works from Python, TypeScript, or raw HTTP.",{"type":91,"tag":99,"props":100,"children":101},"hr",{},[],{"type":91,"tag":103,"props":104,"children":106},"h2",{"id":105},"shared-route-surface",[107],{"type":96,"value":108},"Shared Route Surface",{"type":91,"tag":110,"props":111,"children":112},"table",{},[113,133],{"type":91,"tag":114,"props":115,"children":116},"thead",{},[117],{"type":91,"tag":118,"props":119,"children":120},"tr",{},[121,128],{"type":91,"tag":122,"props":123,"children":125},"th",{"align":124},"left",[126],{"type":96,"value":127},"Route",{"type":91,"tag":122,"props":129,"children":130},{"align":124},[131],{"type":96,"value":132},"Purpose",{"type":91,"tag":134,"props":135,"children":136},"tbody",{},[137,156,173,190],{"type":91,"tag":118,"props":138,"children":139},{},[140,151],{"type":91,"tag":141,"props":142,"children":143},"td",{"align":124},[144],{"type":91,"tag":145,"props":146,"children":148},"code",{"className":147},[],[149],{"type":96,"value":150},"GET \u002Fapi\u002Fv1\u002Fintegrations",{"type":91,"tag":141,"props":152,"children":153},{"align":124},[154],{"type":96,"value":155},"List the current user's integrations.",{"type":91,"tag":118,"props":157,"children":158},{},[159,168],{"type":91,"tag":141,"props":160,"children":161},{"align":124},[162],{"type":91,"tag":145,"props":163,"children":165},{"className":164},[],[166],{"type":96,"value":167},"POST \u002Fapi\u002Fv1\u002Fintegrations\u002F{id}\u002Fresolve-tools",{"type":91,"tag":141,"props":169,"children":170},{"align":124},[171],{"type":96,"value":172},"Discover the tool keys available for an integration.",{"type":91,"tag":118,"props":174,"children":175},{},[176,185],{"type":91,"tag":141,"props":177,"children":178},{"align":124},[179],{"type":91,"tag":145,"props":180,"children":182},{"className":181},[],[183],{"type":96,"value":184},"POST \u002Fapi\u002Fv1\u002Fintegrations\u002F{id}\u002Finvoke",{"type":91,"tag":141,"props":186,"children":187},{"align":124},[188],{"type":96,"value":189},"Execute a selected tool with a JSON payload.",{"type":91,"tag":118,"props":191,"children":192},{},[193,202],{"type":91,"tag":141,"props":194,"children":195},{"align":124},[196],{"type":91,"tag":145,"props":197,"children":199},{"className":198},[],[200],{"type":96,"value":201},"GET \u002Fapi\u002Fv1\u002Faudit\u002Flogs",{"type":91,"tag":141,"props":203,"children":204},{"align":124},[205],{"type":96,"value":206},"Read the latest compliance audit events.",{"type":91,"tag":99,"props":208,"children":209},{},[],{"type":91,"tag":103,"props":211,"children":213},{"id":212},"common-configuration",[214],{"type":96,"value":215},"Common Configuration",{"type":91,"tag":92,"props":217,"children":218},{},[219],{"type":96,"value":220},"Both client examples and the curl guide use the same environment variables:",{"type":91,"tag":222,"props":223,"children":224},"ul",{},[225,245],{"type":91,"tag":226,"props":227,"children":228},"li",{},[229,235,237,243],{"type":91,"tag":145,"props":230,"children":232},{"className":231},[],[233],{"type":96,"value":234},"DATAFUSE_API_URL",{"type":96,"value":236},": The gateway host, defaulting to ",{"type":91,"tag":145,"props":238,"children":240},{"className":239},[],[241],{"type":96,"value":242},"https:\u002F\u002Fapi.datafuse.xyz",{"type":96,"value":244},".",{"type":91,"tag":226,"props":246,"children":247},{},[248,254],{"type":91,"tag":145,"props":249,"children":251},{"className":250},[],[252],{"type":96,"value":253},"DF_TOKEN",{"type":96,"value":255},": A user access token from the app's authentication flow.",{"type":91,"tag":99,"props":257,"children":258},{},[],{"type":91,"tag":103,"props":260,"children":262},{"id":261},"next-steps",[263],{"type":96,"value":264},"Next Steps",{"type":91,"tag":222,"props":266,"children":267},{},[268,284,298],{"type":91,"tag":226,"props":269,"children":270},{},[271,273,283],{"type":96,"value":272},"Build Python workflows with the ",{"type":91,"tag":274,"props":275,"children":276},"strong",{},[277],{"type":91,"tag":278,"props":279,"children":280},"a",{"href":59},[281],{"type":96,"value":282},"Python client guide",{"type":96,"value":244},{"type":91,"tag":226,"props":285,"children":286},{},[287,289,297],{"type":96,"value":288},"Create Node or serverless workflows with the ",{"type":91,"tag":274,"props":290,"children":291},{},[292],{"type":91,"tag":278,"props":293,"children":294},{"href":62},[295],{"type":96,"value":296},"TypeScript client guide",{"type":96,"value":244},{"type":91,"tag":226,"props":299,"children":300},{},[301,303,311],{"type":96,"value":302},"Use the ",{"type":91,"tag":274,"props":304,"children":305},{},[306],{"type":91,"tag":278,"props":307,"children":308},{"href":22},[309],{"type":96,"value":310},"curl quickstart",{"type":96,"value":312}," when you want to test the same flow without installing a client.",{"title":85,"searchDepth":314,"depth":314,"links":315},2,[316,317,318],{"id":105,"depth":314,"text":108},{"id":212,"depth":314,"text":215},{"id":261,"depth":314,"text":264},"markdown","content:1.docs:4.sdks:1.index.md","content","1.docs\u002F4.sdks\u002F1.index.md","1.docs\u002F4.sdks\u002F1.index","md",[326,328],{"_path":50,"title":49,"description":327},"Learn how to spin up, manage, and bridge Model Context Protocol servers in your Datafuse ecosystem.",{"_path":59,"title":58,"description":329},"Build secure Python workflows against the Datafuse v1 integration routes.",1780069615254]