<!DOCTYPE html><html lang="en" class="inter_1d81deff-module__CYM0aG__variable papermono_89c757f2-module__6aS5zq__variable dark" data-banner-state="visible" data-assistant-state="closed" data-page-mode="none" data-current-path="/"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"/><link rel="preload" as="image" href="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-docs-dark-blue.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=5babf1a1962208fd7eed942fa2432ecb"/><link rel="preload" as="image" href="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-docs-light-blue.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=0bcd2a1f2599ed228bcedf0f535b45b1"/><link rel="preload" as="image" href="https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?fit=max&amp;auto=format&amp;n=auWE6_dMRp183OCf&amp;q=85&amp;s=dd41aef3ce789c1a04ea3c37b5903eac"/><link rel="stylesheet" href="/mintlify-assets/_next/static/chunks/a2c16a79b30ca688.css?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" data-precedence="next"/><link rel="stylesheet" href="/mintlify-assets/_next/static/chunks/dbd05088697ae39c.css?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" data-precedence="next"/><link rel="stylesheet" href="/mintlify-assets/_next/static/chunks/75720fc4a0c570db.css?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" data-precedence="next"/><style data-precedence="base-ui:low" data-href="base-ui-disable-scrollbar">.base-ui-disable-scrollbar{scrollbar-width:none}.base-ui-disable-scrollbar::-webkit-scrollbar{display:none}</style><link rel="preload" as="script" fetchPriority="low" href="/mintlify-assets/_next/static/chunks/3d8c775c5a406498.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9"/><script src="/mintlify-assets/_next/static/chunks/cae723b407113d75.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/f6e741aee0e7c245.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/f486afc314643ce1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/c3c5e36861f82f84.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/turbopack-b41b703bcb6a0f63.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/979ccb417f1e19af.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/c5d8b184732b08fb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/3a872b75d7485981.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/db0fdf764269086b.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/4abf414e6bdd7960.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><script src="/mintlify-assets/_next/static/chunks/1dd5e6c759bf878b.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" async=""></script><title>Home - Docs by LangChain</title><meta name="application-name" content="Docs by LangChain"/><meta name="generator" content="Mintlify"/><meta name="msapplication-config" content="/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon/browserconfig.xml"/><meta name="apple-mobile-web-app-title" content="Docs by LangChain"/><meta name="msapplication-TileColor" content="#161F34"/><meta name="google-site-verification" content="9_2KHeJwmEdwgncBRk1MsKxriZz7Sc21EJdbfCxkTEo"/><link rel="canonical" href="https://docs.langchain.com"/><link rel="alternate" type="application/xml" href="/sitemap.xml"/><link rel="alternate" type="text/markdown" href="/index.md"/><meta property="og:title" content="Home - Docs by LangChain"/><meta property="og:url" content="https://docs.langchain.com"/><meta property="og:site_name" content="Docs by LangChain"/><meta property="og:image" content="https://langchain-5e9cc07a.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DDocumentation%26appearance%3Dsystem%26title%3DHome%26logoLight%3Dhttps%253A%252F%252Fmintcdn.com%252Flangchain-5e9cc07a%252FnQm-sjd_MByLhgeW%252Fimages%252Fbrand%252Flangchain-docs-dark-blue.png%253Ffit%253Dmax%2526auto%253Dformat%2526n%253DnQm-sjd_MByLhgeW%2526q%253D85%2526s%253D5babf1a1962208fd7eed942fa2432ecb%26logoDark%3Dhttps%253A%252F%252Fmintcdn.com%252Flangchain-5e9cc07a%252FnQm-sjd_MByLhgeW%252Fimages%252Fbrand%252Flangchain-docs-light-blue.png%253Ffit%253Dmax%2526auto%253Dformat%2526n%253DnQm-sjd_MByLhgeW%2526q%253D85%2526s%253D0bcd2a1f2599ed228bcedf0f535b45b1%26primaryColor%3D%2523161F34%26lightColor%3D%25237FC8FF%26backgroundLight%3D%2523FFFFFF%26backgroundDark%3D%2523030710&amp;w=1200&amp;q=100"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Home - Docs by LangChain"/><meta name="twitter:image" content="https://langchain-5e9cc07a.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DDocumentation%26appearance%3Dsystem%26title%3DHome%26logoLight%3Dhttps%253A%252F%252Fmintcdn.com%252Flangchain-5e9cc07a%252FnQm-sjd_MByLhgeW%252Fimages%252Fbrand%252Flangchain-docs-dark-blue.png%253Ffit%253Dmax%2526auto%253Dformat%2526n%253DnQm-sjd_MByLhgeW%2526q%253D85%2526s%253D5babf1a1962208fd7eed942fa2432ecb%26logoDark%3Dhttps%253A%252F%252Fmintcdn.com%252Flangchain-5e9cc07a%252FnQm-sjd_MByLhgeW%252Fimages%252Fbrand%252Flangchain-docs-light-blue.png%253Ffit%253Dmax%2526auto%253Dformat%2526n%253DnQm-sjd_MByLhgeW%2526q%253D85%2526s%253D0bcd2a1f2599ed228bcedf0f535b45b1%26primaryColor%3D%2523161F34%26lightColor%3D%25237FC8FF%26backgroundLight%3D%2523FFFFFF%26backgroundDark%3D%2523030710&amp;w=1200&amp;q=100"/><meta name="twitter:image:width" content="1200"/><meta name="twitter:image:height" content="630"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon/android-chrome-192x192.png" type="image/png" sizes="192x192" media="(prefers-color-scheme: light)"/><link rel="apple-touch-icon" href="/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon/apple-touch-icon.png" type="image/png" sizes="180x180"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon/favicon-16x16.png" type="image/png" sizes="16x16" media="(prefers-color-scheme: light)"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon/favicon-32x32.png" type="image/png" sizes="32x32" media="(prefers-color-scheme: light)"/><link rel="shortcut icon" href="/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon/favicon.ico" type="image/x-icon" media="(prefers-color-scheme: light)"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon-dark/android-chrome-192x192.png" type="image/png" sizes="192x192" media="(prefers-color-scheme: dark)"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon-dark/favicon-16x16.png" type="image/png" sizes="16x16" media="(prefers-color-scheme: dark)"/><link rel="icon" href="/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon-dark/favicon-32x32.png" type="image/png" sizes="32x32" media="(prefers-color-scheme: dark)"/><link rel="shortcut icon" href="/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon-dark/favicon.ico" type="image/x-icon" media="(prefers-color-scheme: dark)"/><link rel="preload" href="/fonts/TWKLausanne-700.woff2" as="font" type="font/woff2" crossorigin="anonymous"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="preload" href="https://d4tuoctqmanu0.cloudfront.net/katex.min.css" as="style"/><script type="text/javascript">!function(){var b="";
function a(p){if(p==null)return"/";p=""+p;if(""===p)return"/";return"/"===p.charAt(0)?p:"/"+p}
function u(p){if(p==null)return p;p=""+p;if(!p||p.charAt(p.length-1)==="/")return p.slice(0,-1);return p}
function i(p){if(p==null)return p;p=""+p;if(6<=p.length&&p.substring(p.length-6)==="/index")return p.substring(0,p.length-6);if("index"===p)return"";return p}
var p=(location.pathname||"").split("?")[0].split("#")[0]||"";
if(b)if(p===b)p="";else if(0===p.indexOf(b+"/"))p=p.substring(b.length);
p=a(p);p=u(p);p=i(p);p=""===p||"index"===p?"/":a(p);
document.documentElement.setAttribute("data-current-path",p);
}();</script><script type="text/javascript">!function(){
function read(){try{
var e=performance.getEntriesByType?performance.getEntriesByType("navigation"):[];
var st=(e[0]&&e[0].serverTiming)||[];
var g={};
for(var i=0;i<st.length;i++){var n=st[i].name,d=st[i].description;if(!d)continue;try{d=decodeURIComponent(d)}catch(x){}
if(n==="country")g.country=d;else if(n==="region")g.region=d;else if(n==="continent")g.continent=d;}
var w=window;w.mintlify=w.mintlify||{};w.mintlify.geo=g;
}catch(x){}}
read();document.addEventListener("DOMContentLoaded",read);
}();</script><script type="text/javascript">(function(a,b){try{let c=document.getElementById("banner")?.innerText;if(c){for(let d=0;d<localStorage.length;d++){let e=localStorage.key(d);if(e?.endsWith(a)&&localStorage.getItem(e)===c)return void document.documentElement.setAttribute(b,"hidden")}document.documentElement.setAttribute(b,"visible");return}for(let c=0;c<localStorage.length;c++){let d=localStorage.key(c);if(d?.endsWith(a)&&localStorage.getItem(d))return void document.documentElement.setAttribute(b,"hidden")}document.documentElement.setAttribute(b,"visible")}catch(a){document.documentElement.setAttribute(b,"hidden")}})(
  "bannerDismissed",
  "data-banner-state",
)</script><script src="/mintlify-assets/_next/static/chunks/a6dad97d9634a72d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" noModule=""></script></head><body class="antialiased"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","isDarkMode","system",null,["dark","light","true","false","system"],{"true":"dark","false":"light","dark":"dark","light":"light"},true,false)</script><script>(function(){try{var f=null;var v=f||localStorage.getItem("isDarkMode");if(v==='true')v='dark';else if(v==='false')v='light';if(v!=='light'&&v!=='dark'&&v!=='system')v="system";document.documentElement.setAttribute("data-theme-preference",v)}catch(e){}})();</script><blockquote class="sr-only" data-agent-docs-index="true" aria-hidden="true"><h2>Documentation Index</h2><p>Fetch the complete documentation index at:<!-- --> <a href="/llms.txt" tabindex="-1">/llms.txt</a></p><p>Use this file to discover all available pages before exploring further.</p></blockquote><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function g(a,b,c,d,e){try{let f,g,h=[];try{h=window.location.pathname.split(\"/\").filter(a=\u003e\"\"!==a\u0026\u0026\"global\"!==a).slice(0,2)}catch{h=[]}let i=h.find(a=\u003ec.includes(a)),j=[];for(let c of(i?j.push(i):j.push(b),j.push(\"global\"),j)){if(!c)continue;let b=a[c];if(b?.content){f=b.content,g=c;break}}if(!f)return void document.documentElement.setAttribute(d,\"hidden\");let k=!0,l=0;for(;l\u003clocalStorage.length;){let a=localStorage.key(l);if(l++,!a?.endsWith(e))continue;let b=localStorage.getItem(a);if(b\u0026\u0026b===f){k=!1;break}g\u0026\u0026(a.startsWith(`lang:${g}_`)||!a.startsWith(\"lang:\"))\u0026\u0026(localStorage.removeItem(a),l--)}document.documentElement.setAttribute(d,k?\"visible\":\"hidden\")}catch(a){console.error(a),document.documentElement.setAttribute(d,\"hidden\")}})(\n  {\"global\":{\"content\":\"Interrupt is coming to NYC and London this fall. Join the builders, engineers, and teams shaping what's next for agents. [Get your tickets →](https://interrupt.langchain.com/)\",\"dismissible\":true}},\n  \"en\",\n  [],\n  \"data-banner-state\",\n  \"bannerDismissed\",\n)","id":"_mintlify-banner-script"}])</script><style>@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-700.woff2') format('woff2');
  font-weight: 700;
  font-display: swap;
}</style><link href="https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;1,400&amp;display=swap" rel="stylesheet"/><style>:root {
  --font-family-headings-custom: "TWK Lausanne", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-weight-headings-custom: 700;
  --font-family-body-custom: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-weight-body-custom: 400;
  
}
</style><style>:root {
    --primary: 22 31 52;
    --primary-light: 127 200 255;
    --primary-dark: 0 109 221;
    --tooltip-foreground: 255 255 255;
    --background-light: 255 255 255;
    --background-dark: 3 7 16;
    --gray-50: 243 243 244;
    --gray-100: 238 238 239;
    --gray-200: 223 223 224;
    --gray-300: 206 206 207;
    --gray-400: 159 159 160;
    --gray-500: 112 112 113;
    --gray-600: 80 80 81;
    --gray-700: 63 63 64;
    --gray-800: 38 38 38;
    --gray-900: 23 23 24;
    --gray-950: 10 11 11;
  }</style><script type="text/javascript">
          (function() {
            function loadKatex() {
              const link = document.querySelector('link[href="https://d4tuoctqmanu0.cloudfront.net/katex.min.css"]');
              if (link) link.rel = 'stylesheet';
            }
            if (document.readyState === 'loading') {
              document.addEventListener('DOMContentLoaded', loadKatex);
            } else {
              loadKatex();
            }
          })();
        </script><div class="relative antialiased text-gray-500 dark:text-gray-400 [&amp;_*:not(h1,h2,h3,h4,h5,h6,h1_*,h2_*,h3_*,h4_*,h5_*,h6_*)]:font-bodyWeight"><script>(self.__next_s=self.__next_s||[]).push([0,{"suppressHydrationWarning":true,"children":"(function(a,b,c){var d;let e,f=\"mint\"===c||\"linden\"===c?\"sidebar\":\"sidebar-content\",g=(d=c,e=\"navbar-transition\",\"maple\"===d\u0026\u0026(e+=\"-maple\"),e),h=document.documentElement.getAttribute(\"data-banner-state\"),i=null!=h?\"visible\"===h:a;function j(a){let b=i?`calc(var(--mintlify-slot-header-height, ${a-2.5}rem) + var(--banner-height, 2.5rem))`:`var(--mintlify-slot-header-height, ${a}rem)`;document.getElementById(f)?.style.setProperty(\"top\",b)}switch(c){case\"mint\":case\"linden\":j(b);break;case\"palm\":case\"aspen\":case\"almond\":case\"sequoia\":j(b);let k=i?`calc(100vh - var(--mintlify-slot-header-height, ${b-2.5}rem) - var(--banner-height, 2.5rem))`:`calc(100vh - var(--mintlify-slot-header-height, ${b}rem))`;document.getElementById(f)?.style.setProperty(\"height\",k)}let l=function(){let a=document.createElement(\"style\");return a.appendChild(document.createTextNode(\"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(a),function(){window.getComputedStyle(document.body),setTimeout(()=\u003e{document.head.removeChild(a)},1)}}();(\"requestAnimationFrame\"in globalThis?requestAnimationFrame:setTimeout)(()=\u003e{let a;a=!1,a=window.scrollY\u003e50,document.getElementById(g)?.setAttribute(\"data-is-opaque\",`${!!a}`),l()})})(\n  true,\n  (function l(a,b,c){let d=document.documentElement.getAttribute(\"data-banner-state\"),e=2.5*!!(null!=d?\"visible\"===d:b),f=3*!!a,g=4,h=e+g+f;switch(c){case\"mint\":case\"palm\":break;case\"aspen\":f=2.5*!!a,g=3.5,h=e+f+g;break;case\"luma\":g=3,h=e+g;break;case\"linden\":g=4,h=e+g;break;case\"almond\":g=3.5,h=e+g;break;case\"sequoia\":f=3*!!a,g=3,h=e+g+f}return h})(false, true, \"aspen\"),\n  \"aspen\",\n)","id":"_mintlify-scroll-top-script"}])</script><script>(self.__next_s=self.__next_s||[]).push([0,{"suppressHydrationWarning":true,"children":"(function () {\n  var measure = function(){let a=document.querySelectorAll(\"[id='navbar'], [data-top-chrome]\"),b=0;a.forEach(a=\u003e{let c=a.getBoundingClientRect();c.height\u003e0\u0026\u0026(b=Math.max(b,c.bottom))});let c=0,d=document.getElementById(\"content-container\");if(d){let{overflowY:a}=getComputedStyle(d);(\"auto\"===a||\"scroll\"===a)\u0026\u0026(c=Math.max(0,d.getBoundingClientRect().top))}let e=Math.round(Math.max(0,b-c))+40;document.documentElement.style.setProperty(\"--scroll-mt\",`${e}px`)};\n  (function(a){let b=[],c=0,d=\"undefined\"==typeof ResizeObserver?null:new ResizeObserver(f);function e(){let c=Array.from(document.querySelectorAll(\"[id='navbar'], [data-top-chrome]\"));(c.length!==b.length||c.some((a,c)=\u003ea!==b[c]))\u0026\u0026d\u0026\u0026(d.disconnect(),c.forEach(a=\u003ed.observe(a))),b=c,a()}function f(){c||(c=requestAnimationFrame(()=\u003e{c=0,e()}))}new MutationObserver(f).observe(document.documentElement,{childList:!0,subtree:!0}),window.addEventListener(\"resize\",f),\"loading\"===document.readyState\u0026\u0026document.addEventListener(\"DOMContentLoaded\",e),e()})(measure);\n  (function(a){let b=window.location.hash.slice(1);if(!b)return;function c(){let c=document.getElementById(b);return!!c\u0026\u0026(a(),c.scrollIntoView(),!0)}if(\"complete\"===document.readyState)return void c();let d=new MutationObserver(()=\u003e{c()\u0026\u0026e()});function e(){d.disconnect(),window.removeEventListener(\"load\",e)}window.addEventListener(\"load\",e),d.observe(document.documentElement,{childList:!0,subtree:!0}),c()\u0026\u0026e()})(measure);\n})();","id":"_mintlify-scroll-margin-script"}])</script><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MBBX68ST" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript><a href="#content-area" class="sr-only focus:not-sr-only focus:fixed focus:top-2 focus:left-2 focus:z-50 focus:p-2 focus:text-sm focus:bg-background-light dark:focus:bg-background-dark focus:rounded-md focus:outline-primary dark:focus:outline-primary-light">Skip to main content</a><script>(function g(a,b,c,d){try{if(window.matchMedia("(max-width: 1024px)").matches||!d){document.documentElement.style.setProperty(c,"0px"),document.documentElement.setAttribute("data-assistant-state","closed"),d||localStorage.setItem(a,"false");return}let e=localStorage.getItem(a);if(null===e){document.documentElement.style.setProperty(c,"0px"),document.documentElement.setAttribute("data-assistant-state","closed");return}let f=JSON.parse(e),g=localStorage.getItem(b),h=null!==g?JSON.parse(g):368;document.documentElement.style.setProperty(c,f?h+"px":"0px"),document.documentElement.setAttribute("data-assistant-state",f?"open":"closed")}catch(a){document.documentElement.style.setProperty(c,"0px"),document.documentElement.setAttribute("data-assistant-state","closed")}})(
    "chat-assistant-sheet-open",
    "chat-assistant-sheet-width",
    "--assistant-sheet-width",
    false
  )</script><style>html{--assistant-sheet-width:0px!important}</style><div class="max-lg:contents lg:flex lg:w-full" data-docs-theme="aspen"><div class="max-lg:contents lg:flex-1 lg:min-w-0 lg:overflow-x-clip"><header id="navbar" class="z-30 fixed lg:sticky top-0 w-full peer is-custom peer is-not-center peer is-not-wide peer is-not-frame"><div class="z-10 absolute w-full h-full border-b border-gray-100 dark:border-gray-800"></div><div class="z-0 absolute inset-0 bg-background-light dark:bg-background-dark"></div><div id="banner" class="w-full min-h-10 relative lg:fixed lg:top-0 lg:left-0 text-center flex items-center justify-center text-sm [&amp;_a]:border-none [&amp;_a]:underline-offset-[3px] font-medium px-10 text-white/95 dark:text-white/95 [&amp;_*]:text-white/95! dark:[&amp;_*]:text-white/95! bg-primary-dark [&amp;_a:hover]:decoration-primary-light z-45"><div class="space-y-4 whitespace-normal my-2 [&amp;&gt;p]:m-0"><p>Interrupt is coming to NYC and London this fall. Join the builders, engineers, and teams shaping what&#x27;s next for agents. <a href="https://interrupt.langchain.com/" class="wrap-anywhere font-medium underline" data-streamdown="link" target="_blank" rel="noreferrer">Get your tickets →</a></p></div><button class="absolute right-4 top-1/2 -translate-y-1/2 text-zinc-100 hover:backdrop-blur-xs" aria-label="Dismiss banner"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="size-4 shrink-0" aria-hidden="true"><path d="M14 4L4 14" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4 4L14 14" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div><script>(function(){var b=document.getElementById("banner");if(!b)return;var h=b.offsetHeight;if(h>0)document.documentElement.style.setProperty('--banner-height',h+'px');})();</script><div class="hidden lg:block h-[var(--banner-height,0px)]" aria-hidden="true"></div><div class="z-10 mx-auto relative max-w-8xl px-0 lg:px-5"><div class="relative"><div class="flex items-center lg:px-4 h-14 min-w-0 px-4"><div class="h-full relative flex-1 flex items-center gap-x-4 min-w-0 lg:border-none"><div class="flex-1 flex items-center gap-x-4"><a class="select-none" data-state="closed" data-slot="context-menu-trigger" style="-webkit-touch-callout:none" href="/"><span class="sr-only">Docs by LangChain<!-- --> home page</span><img class="nav-logo w-auto relative object-contain shrink-0 block dark:hidden h-6" src="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-docs-dark-blue.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=5babf1a1962208fd7eed942fa2432ecb" alt="light logo"/><img class="nav-logo w-auto relative object-contain shrink-0 hidden dark:block h-6" src="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-docs-light-blue.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=0bcd2a1f2599ed228bcedf0f535b45b1" alt="dark logo"/></a><div class="hidden lg:flex items-center gap-x-2"></div><button type="button" id="radix-_R_cliav5tccsmisnpfiulb_" aria-haspopup="menu" aria-expanded="false" data-state="closed" class="group disabled:pointer-events-none [&amp;&gt;span]:line-clamp-1 overflow-hidden group group-hover:text-gray-950/70 dark:group-hover:text-white/70 nav-dropdown-products-selector-trigger py-1.5 px-2.5 rounded-xl hover:bg-gray-600/5! dark:hover:bg-gray-200/5! aria-[expanded=true]:bg-gray-600/5 dark:aria-[expanded=true]:bg-gray-200/5 text-sm font-medium text-gray-900 h-8 focus:outline-primary dark:text-gray-300 group/trigger flex items-center gap-2 whitespace-nowrap max-lg:hidden" data-component-part="products-selector-trigger"><svg class="size-4 shrink-0 bg-gray-800 dark:bg-gray-100" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/home.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/home.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg><span class="truncate max-w-[12.5rem]" title="Home">Home</span><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-3 transition-transform text-gray-400 group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 shrink-0 rotate-90 group-aria-[expanded=true]/trigger:rotate-[270deg] ml-auto"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div><div class="relative hidden lg:flex items-center flex-1 z-20 justify-center"><button type="button" class="group/search flex pointer-events-auto w-full items-center text-sm leading-6 h-9 pl-3.5 pr-3 text-gray-500 dark:text-white/50 dark:brightness-[1.1] dark:hover:brightness-[1.25] ring-gray-400/30 hover:ring-gray-600/30 dark:ring-gray-600/30 dark:hover:ring-gray-500/30 justify-between truncate gap-2 max-w-sm bg-gray-950/[0.03] dark:bg-white/[0.03] hover:bg-gray-950/10 dark:hover:bg-white/10 rounded-full shadow-none border-none ring-0 dark:ring-0" id="search-bar-entry" aria-label="Open search"><div class="flex items-center gap-2"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false" class="size-4 min-w-4 flex-none text-gray-700 group-hover/search:text-gray-800 dark:text-gray-400 dark:group-hover/search:text-gray-200"><path d="M15.25 15.25L11.285 11.285" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M7.75 12.75C10.5114 12.75 12.75 10.5114 12.75 7.75C12.75 4.98858 10.5114 2.75 7.75 2.75C4.98858 2.75 2.75 4.98858 2.75 7.75C2.75 10.5114 4.98858 12.75 7.75 12.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg><div class="truncate min-w-0">Search...</div></div><span class="flex-none text-xs font-semibold">⌘<!-- -->K</span></button></div><div class="topbar-right-container hidden lg:flex flex-1 items-center gap-2 ml-auto justify-end"><div class="flex relative items-center justify-end space-x-4"><nav aria-label="Main" class="text-sm"><ul class="flex gap-2 items-center"><li class="navbar-link"><a href="https://chat.langchain.com/" class="flex items-center whitespace-nowrap font-medium gap-2 text-gray-800 dark:text-gray-50 hover:text-gray-800 dark:hover:text-gray-50 bg-gray-950/[0.03] dark:bg-white/[0.03] hover:bg-gray-950/10 dark:hover:bg-white/10 rounded-xl px-[14px] py-2" target="_blank"><svg class="h-4 w-4 bg-gray-800 dark:bg-gray-100" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/message.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/message.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg><span class="min-w-0 truncate">Ask AI</span></a></li><li class="navbar-link"><a href="https://github.com/langchain-ai" class="flex items-center whitespace-nowrap font-medium gap-2 text-gray-800 dark:text-gray-50 hover:text-gray-800 dark:hover:text-gray-50 bg-gray-950/[0.03] dark:bg-white/[0.03] hover:bg-gray-950/10 dark:hover:bg-white/10 rounded-xl px-[14px] py-2" target="_blank"><svg class="h-4 w-4 bg-gray-800 dark:bg-gray-100" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/brand-github.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/brand-github.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg><span class="min-w-0 truncate">GitHub</span></a></li><li class="block lg:hidden"><a class="flex items-center whitespace-nowrap font-medium gap-2 text-gray-800 dark:text-gray-50 hover:text-gray-800 dark:hover:text-gray-50 bg-gray-950/[0.03] dark:bg-white/[0.03] hover:bg-gray-950/10 dark:hover:bg-white/10 rounded-xl px-[14px] py-2" href="https://smith.langchain.com/"><span class="min-w-0 truncate">Try LangSmith</span></a></li><li class="whitespace-nowrap hidden lg:flex" id="topbar-cta-button"><a target="_blank" class="group pl-3 pr-2 py-2 relative inline-flex items-center text-sm font-medium" href="https://smith.langchain.com/"><span class="absolute inset-0 bg-primary-dark rounded-xl group-hover:opacity-[0.9]"></span><div class="z-10 gap-1 flex items-center"><span class="text-white">Try LangSmith</span><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-3 shrink-0 text-white/90"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></a></li></ul></nav></div><button type="button" tabindex="0" aria-haspopup="menu" id="theme-preference-menu-trigger" aria-label="Change theme preference" data-component-name="theme-preference-menu" data-component-part="theme-preference-menu-trigger" data-testid="theme-preference-menu-trigger" class="group disabled:pointer-events-none overflow-hidden gap-1 text-sm text-gray-950/50 dark:text-white/50 group-hover:text-gray-950/70 dark:group-hover:text-white/70 theme-preference-menu-trigger group p-2 flex items-center justify-center w-[30px] h-[30px] rounded-full bg-gray-800/[0.04] dark:bg-white/10"><span data-theme-preference-icon="system"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="size-4 text-gray-600 group-hover:text-gray-800 dark:text-gray-300 dark:group-hover:text-gray-100"><path d="M4.5 15.5L9 14.5L13.5 15.5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 11.75V14.5" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.25 2.75H3.75C2.64543 2.75 1.75 3.64543 1.75 4.75V9.75C1.75 10.8546 2.64543 11.75 3.75 11.75H14.25C15.3546 11.75 16.25 10.8546 16.25 9.75V4.75C16.25 3.64543 15.3546 2.75 14.25 2.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></span><span data-theme-preference-icon="light"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="size-4 text-gray-600 group-hover:text-gray-800 dark:text-gray-300 dark:group-hover:text-gray-100"><path d="M9 1.25V2.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.48 3.52002L13.773 4.22702" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M16.75 9H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M14.48 14.4799L13.773 13.7729" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 16.75V15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M3.52 14.4799L4.227 13.7729" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M1.25 9H2.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M3.52 3.52002L4.227 4.22702" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M9 13.25C11.3472 13.25 13.25 11.3472 13.25 9C13.25 6.65279 11.3472 4.75 9 4.75C6.65279 4.75 4.75 6.65279 4.75 9C4.75 11.3472 6.65279 13.25 9 13.25Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></span><span data-theme-preference-icon="dark"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="size-4 text-gray-600 group-hover:text-gray-800 dark:text-gray-300 dark:group-hover:text-gray-100"><path d="M13 11.75C9.548 11.75 6.75 8.95201 6.75 5.50001C6.75 4.14801 7.183 2.90101 7.912 1.87801C4.548 2.50601 2 5.45301 2 9.00001C2 13.004 5.246 16.25 9.25 16.25C12.622 16.25 15.448 13.944 16.259 10.826C15.309 11.409 14.196 11.75 13 11.75Z" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></span></button></div><div class="flex lg:hidden items-center gap-3"><button type="button" class="text-gray-500 w-8 h-8 flex items-center justify-center hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300" id="search-bar-entry-mobile" aria-label="Open search"><span class="sr-only">Search...</span><svg class="h-4 w-4 bg-gray-500 dark:bg-gray-400 hover:bg-gray-600 dark:hover:bg-gray-300" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/magnifying-glass.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/magnifying-glass.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></button><button type="button" aria-label="More actions" class="h-7 w-5 flex items-center justify-center relative after:content-[&#x27;&#x27;] after:absolute after:-inset-y-2 after:-left-1 after:-right-4"><svg class="size-4 shrink-0 bg-gray-500 dark:bg-gray-400 hover:bg-gray-600 dark:hover:bg-gray-300" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/ellipsis-vertical.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/ellipsis-vertical.svg&quot;);mask-repeat:no-repeat;mask-position:center"></svg></button></div></div></div><button type="button" class="flex items-center h-14 py-4 px-5 lg:hidden focus:outline-0 w-full text-left"><div class="text-gray-500 hover:text-gray-600 dark:text-gray-400 dark:hover:text-gray-300"><span class="sr-only">Navigation</span><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-4 shrink-0"><path d="M2.25 9H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.25 3.75H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.25 14.25H15.75" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div></button></div></div></header><div id="body-content" class="scroll-mt-(--scroll-mt) peer-[.is-custom]:max-w-none peer-[.is-not-custom]:max-w-8xl peer-[.is-not-custom]:lg:flex peer-[.is-not-custom]:mx-auto peer-[.is-not-custom]:px-0 peer-[.is-not-custom]:lg:px-5 peer-[.is-custom]:[&amp;&gt;:first-child]:hidden! peer-[.is-custom]:[&amp;&gt;:first-child]:sm:hidden! peer-[.is-custom]:[&amp;&gt;:first-child]:md:hidden! peer-[.is-custom]:[&amp;&gt;:first-child]:lg:hidden! peer-[.is-custom]:[&amp;&gt;:first-child]:xl:hidden!"><nav aria-label="Pages" id="sidebar-content" class="hidden sticky shrink-0 w-[18rem] lg:flex flex-col left-0 top-[7rem] bottom-0 right-auto border-r border-gray-100 dark:border-white/10 transition-transform duration-100" style="top:calc(3.5rem + var(--banner-height, 2.5rem));height:calc(100vh - 3.5rem - var(--banner-height, 2.5rem))"><div role="presentation" style="position:relative;--scroll-area-corner-height:0px;--scroll-area-corner-width:0px" data-component-part="scroll-area" id="navigation-items" class="min-w-0 flex-1 min-h-0"><div role="presentation" data-id="base-ui-_R_7av5tccsmisnpfiulb_-viewport" tabindex="-1" class="size-full rounded-[inherit] pr-5 pt-5 pb-4 base-ui-disable-scrollbar" style="overflow:scroll;mask-image:linear-gradient(to bottom, transparent 0, black min(32px, var(--scroll-area-overflow-y-start, 0px)));-webkit-mask-image:linear-gradient(to bottom, transparent 0, black min(32px, var(--scroll-area-overflow-y-start, 0px)));mask-composite:intersect;-webkit-mask-composite:source-in;mask-repeat:no-repeat" data-component-part="scroll-area-viewport"><div role="presentation" style="min-width:fit-content" data-component-part="scroll-area-content" class="min-w-0! w-full"><div class="text-sm relative"><div class="pl-2"></div><ul class="list-none" aria-hidden="true"></ul><ul class="sidebar-group"></ul><script>(function () {
  try {
    if (window.__mintlifyInitialSidebarScrollDone) return;
    window.__mintlifyInitialSidebarScrollDone = true;

    var path = (window.location.pathname || '/').split('#')[0].split('?')[0];
    if (path.endsWith('/index')) path = path.slice(0, -6);
    else if (path === 'index') path = '';

    var candidates = [];
    if (path) candidates.push(path);
    if (path.startsWith('/')) candidates.push(path.slice(1));
    else candidates.push('/' + path);

    var item = null;
    for (var i = 0; i < candidates.length && !item; i++) {
      var matches = document.querySelectorAll('[id="' + candidates[i].replace(/"/g, '\\"') + '"]');
      for (var j = 0; j < matches.length; j++) {
        if (matches[j].closest('#sidebar, #sidebar-content')) {
          item = matches[j];
          break;
        }
      }
    }
    if (!item) return;

    var parent = item.parentElement;
    while (parent) {
      var style = getComputedStyle(parent);
      if (style.overflowY === 'auto' || style.overflowY === 'scroll') break;
      parent = parent.parentElement;
    }
    if (!parent) return;

    var parentRect = parent.getBoundingClientRect();
    var itemRect = item.getBoundingClientRect();
    if (itemRect.top >= parentRect.top && itemRect.bottom <= parentRect.bottom) return;

    var itemTopRelative = itemRect.top - parentRect.top + parent.scrollTop;
    parent.scrollTop = itemTopRelative - parentRect.height / 2 + itemRect.height / 2;
  } catch (e) {}
})();</script></div></div></div></div></nav><script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://docs.langchain.com/#organization","name":"Docs by LangChain","url":"https://docs.langchain.com","logo":{"@type":"ImageObject","url":"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-docs-dark-blue.png?fit=max&auto=format&n=nQm-sjd_MByLhgeW&q=85&s=5babf1a1962208fd7eed942fa2432ecb"}},{"@type":"WebSite","@id":"https://docs.langchain.com#website","name":"Docs by LangChain","url":"https://docs.langchain.com","publisher":{"@id":"https://docs.langchain.com/#organization"}},{"@type":"WebPage","@id":"https://docs.langchain.com/#webpage","url":"https://docs.langchain.com/","name":"Home","dateModified":"2026-07-17T17:25:04.453Z","isPartOf":{"@id":"https://docs.langchain.com#website"}},{"@type":["Article","TechArticle"],"@id":"https://docs.langchain.com/#article","headline":"Home","name":"Home","url":"https://docs.langchain.com/","mainEntityOfPage":{"@id":"https://docs.langchain.com/#webpage"},"dateModified":"2026-07-17T17:25:04.453Z","publisher":{"@id":"https://docs.langchain.com/#organization"},"isPartOf":{"@id":"https://docs.langchain.com#website"}}]}</script><script>document.documentElement.setAttribute('data-page-mode', "custom");</script><script>(self.__next_s=self.__next_s||[]).push([0,{"suppressHydrationWarning":true,"children":"(function m(a,b,c){if(!document.getElementById(\"footer\")?.classList.contains(\"advanced-footer\")||\"maple\"===b||\"willow\"===b||\"almond\"===b||\"luma\"===b||\"sequoia\"===b)return;let d=document.documentElement.getAttribute(\"data-banner-state\"),e=null!=d?\"visible\"===d:c,f=document.documentElement.getAttribute(\"data-page-mode\"),g=document.getElementById(\"navbar\"),h=document.getElementById(\"navigation-items\"),i=document.getElementById(\"sidebar\"),j=document.getElementById(\"footer\"),k=document.getElementById(\"table-of-contents-content\"),l=document.getElementById(\"banner\"),m=e?l?.offsetHeight??40:0,n=getComputedStyle(document.documentElement).getPropertyValue(\"--mintlify-slot-header-height\").trim(),o=((n.endsWith(\"px\")?parseFloat(n):0)||(e?a-2.5:a)*16)+m;if(!j||\"center\"===f)return;let p=j.getBoundingClientRect().top,q=window.innerHeight-p,r=(h?.clientHeight??0)+o+32*(\"mint\"===b||\"linden\"===b);if(i\u0026\u0026h)if(q\u003e0){let a=Math.max(0,r-p);i.style.bottom=`${q}px`,i.style.top=`${o-a}px`}else i.style.bottom=\"\",i.style.top=e?`calc(var(--mintlify-slot-header-height, ${a-2.5}rem) + var(--banner-height, 2.5rem))`:`var(--mintlify-slot-header-height, ${a}rem)`,i.style.height=\"auto\";k\u0026\u0026g\u0026\u0026(q\u003e0?k.style.top=\"custom\"===f?`${g.clientHeight-q}px`:`${40+g.clientHeight-q}px`:k.style.top=\"\")})(\n  (function l(a,b,c){let d=document.documentElement.getAttribute(\"data-banner-state\"),e=2.5*!!(null!=d?\"visible\"===d:b),f=3*!!a,g=4,h=e+g+f;switch(c){case\"mint\":case\"palm\":break;case\"aspen\":f=2.5*!!a,g=3.5,h=e+f+g;break;case\"luma\":g=3,h=e+g;break;case\"linden\":g=4,h=e+g;break;case\"almond\":g=3.5,h=e+g;break;case\"sequoia\":f=3*!!a,g=3,h=e+g+f}return h})(false, true, \"aspen\"),\n  \"aspen\",\n  true,\n)","id":"_mintlify-footer-and-sidebar-scroll-script"}])</script><span class="fixed inset-0 bg-background-light dark:bg-background-dark -z-10 pointer-events-none" id="background-color"></span><span class="block absolute dark:hidden inset-0 overflow-hidden pointer-events-none"></span><span class="hidden absolute dark:block inset-0 overflow-hidden pointer-events-none"></span><style data-custom-css-index="0" data-custom-css-path="style.css">@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');

/* TWK Lausanne theme variables (Mintlify theme fallback) */
:root {
  --font-family-headings-custom: 'TWK Lausanne', sans-serif;
  --font-family-body-custom: 'Inter', sans-serif;
  --font-weight-body-custom: 400;
  --font-inter: 'Inter', sans-serif;
}

/* TWK Lausanne @font-face declarations (700 normal loaded via docs.json) */
@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-250.woff2') format('woff2');
  font-weight: 250;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-250Italic.woff2') format('woff2');
  font-weight: 250;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-300Italic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-350.woff2') format('woff2');
  font-weight: 350;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-350Italic.woff2') format('woff2');
  font-weight: 350;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-400Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-600Italic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'TWK Lausanne';
  src: url('/fonts/TWKLausanne-700Italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Body and main content — Inter */
body,
.mdx-content,
.prose,
.prose p,
.prose li,
article,
[class*="prose"] {
  font-family: 'Inter', sans-serif !important;
  color: #030710 !important;
}
.dark body,
.dark .mdx-content,
.dark .prose,
.dark .prose p,
.dark .prose li,
.dark article,
.dark [class*="prose"] {
  color: #ffffff !important;
}

/* Ensure bold text is clearly visible */
strong, b, .prose strong, .prose b, [class*="prose"] strong, [class*="prose"] b {
  font-weight: 700 !important;
}

/* Ensure links inside bold text inherit bold weight */
strong a, b a, .prose strong a, .prose b a, [class*="prose"] strong a, [class*="prose"] b a {
  font-weight: 700 !important;
}

/* Use IBM Plex Mono for all code and monospace text */
code, pre, kbd, samp {
  font-family: 'IBM Plex Mono', monospace !important;
}

/* Inline code background (dark mode only) */
.dark :not(pre) > code {
  background-color: #161F34 !important;
}

/* Inline code inside callouts */
[data-callout-type] :not(pre) > code {
  background-color: #FFFFFF20 !important;
}

/* Headings — TWK Lausanne (default weights: h1=700, h2/h3/h4=600) */
h1, h2, h3, h4 {
  font-family: 'TWK Lausanne', sans-serif !important;
  color: #030710 !important;
}
.dark h1, .dark h2, .dark h3, .dark h4 {
  color: #ffffff !important;
}
[data-callout-type] :is(h1, h2, h3, h4) {
  color: inherit !important;
}

/* Card titles — TWK Lausanne (default weight: 600) */
[data-component-part="card-title"] {
  font-family: 'TWK Lausanne', sans-serif !important;
}

/* Card icon SVGs inherit text color in dark mode */
.dark .card img[src*=".svg"],
.dark [data-component-part="card-icon"] img[src*=".svg"] {
  filter: invert(1);
}

/*
 * Engine brand icon in dark mode:
 *   - Outside cards (dropdown nav, sidebar): invert to white.
 *   - In cards: swap to the light-blue -light variant so it stays on-brand.
 * The card-scoped selector is more specific and wins over the default.
 */
.dark img[src*="engine-icon-no-bg-dark"] {
  filter: invert(1);
}
.dark .card img[src*="engine-icon-no-bg-dark"],
.dark [data-component-part="card-icon"] img[src*="engine-icon-no-bg-dark"] {
  content: url("/images/brand/engine-icon-no-bg-light.svg");
  filter: none;
}

/* Make sidebar title heavier weight */
#sidebar-title {
  font-weight: 600 !important;
}

/*
 * Sidebar nav: prevent "open in new page" icon wrapper from stealing width.
 * Mintlify emits a flex wrapper that sometimes includes `flex-1`, which can force titles to wrap.
 */
/* Exact class combo (escaped) + a broad fallback. */
:where(.h-\\[1lh\\].flex.items-center.flex-1.justify-end),
:where([class*="h-[1lh]"][class*="items-center"][class*="flex-1"][class*="justify-end"]) {
  flex: 0 0 auto !important;
  width: fit-content !important;
}

:where(.h-\\[1lh\\].flex.items-center.flex-1.justify-end) svg,
:where([class*="h-[1lh]"][class*="items-center"][class*="flex-1"][class*="justify-end"]) svg {
  flex-shrink: 0 !important;
}

/* Prose list styling */
.prose, [class*="prose"] {
  --tw-prose-counters: currentColor !important;
  --tw-prose-bullets: currentColor !important;
}
.mdx-content li::marker {
  font-family: 'Inter', sans-serif !important;
}

/*
 * Hosted Mintlify builds omit span[data-as="p"] around react-medium-image-zoom blocks in
 * list items, so prose paragraph margins (about 2em) do not apply. Local mint dev wraps
 * the zoom in span[data-as="p"]. Match hosted spacing to local by margining the sibling.
 */
.prose li > span[data-as="p"] + span[data-rmiz],
[class*="prose"] li > span[data-as="p"] + span[data-rmiz],
.mdx-content li > span[data-as="p"] + span[data-rmiz],
article li > span[data-as="p"] + span[data-rmiz] {
  display: block;
  margin-top: 2em;
  margin-bottom: 2em;
}

/* Inline code links inherit color from parent link */
a code {
  color: inherit !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* Ensure mermaid diagrams are centered */
.mermaid {
  text-align: center;
  display: flex;
  justify-content: center;
}

/* Skills composition diagram (custom SVG) */
.skills-composition-diagram {
  margin: 1.5rem 0 2rem;
  text-align: center;
}

.skills-composition-diagram img {
  width: 100%;
  max-width: 920px;
  border-radius: 16px;
  display: inline-block;
}

/* Mermaid dark mode text overrides */
/* Node labels: inherit color from classDef parent instead of being forced to white */
.dark .nodeLabel,
.dark .nodeLabel p {
  color: inherit !important;
}
/* Edge labels: brand-tinted light text for readability on dark backgrounds */
.dark .edgeLabel,
.dark .edgeLabel p,
.dark .edgeLabel span {
  color: #CCE9FF !important;
}
.dark span.edgeLabel,
.dark .edgeLabel p {
  background-color: #030710 !important;
}
.dark .edgeLabel rect,
.dark .edgeLabel .labelBkg {
  fill: #030710 !important;
}
/* Sequence diagram actors, messages, labels, notes, and loops */
.dark text.actor,
.dark .messageText,
.dark .labelText,
.dark .loopText,
.dark .noteText {
  fill: #CCE9FF;
}


/* Fix vertical alignment in table cells with mixed content (text and images) */
.prose table td, article table td, .markdown table td, .content table td, [class*="prose"] table td,
.prose table th, article table th, .markdown table th, .content table th, [class*="prose"] table th {
  vertical-align: middle !important;
  line-height: 1.5 !important;
}

/* Hide page description subtitle (kept in frontmatter for SEO) */
.prose-gray.text-lg.mt-2 {
  display: none !important;
}

/* Hide pagination */
#pagination {
  display: none;
}

/* Improve banner link readability in light mode */
#banner a {
  color: inherit !important;
}

/* Compact first column for multi agent pattern comparison tables (no horizontal scroll) */
.compact-first-col [data-table-wrapper] {
  overflow-x: visible !important;
}

.compact-first-col table {
  table-layout: auto !important;
  width: 100% !important;
}

.compact-first-col table td,
.compact-first-col table th {
  min-width: 0 !important;
}

.compact-first-col table td:first-child,
.compact-first-col table th:first-child {
  width: 1% !important;
  white-space: nowrap !important;
}

/* Deep Agents model eval category matrix: compact table width. Do not set width/display on
   [data-table-wrapper] — Mintlify uses flex, full-bleed calc width, and contain:inline-size; our
   earlier max-content + block rule collapsed the layout. Override Mintlify’s min-w-full w-full and
   [&_td]:min-w-[150px] on the table only. */
.deepagents-eval-category-matrix {
  display: block;
  width: 100%;
}

.deepagents-eval-category-matrix table {
  width: auto !important;
  min-width: 0 !important;
  max-width: 100%;
  table-layout: auto !important;
}

.deepagents-eval-category-matrix table th,
.deepagents-eval-category-matrix table td {
  min-width: 0 !important;
  box-sizing: border-box;
}

.deepagents-eval-category-matrix table th:not(:first-child),
.deepagents-eval-category-matrix table td:not(:first-child) {
  white-space: nowrap;
  width: 1%;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  vertical-align: top;
}

/*
 * Home page CardGroup: Mintlify outputs container-query classes (@…/columns-container) plus
 * sm:grid-cols-[repeat(var(--cols),…)]. On hosted builds the named container can be missing or
 * differ from local dev, so container rules may not apply and the viewport sm rule can leave
 * four minmax columns on narrow viewports. Force column count from the viewport instead.
 */
.home-page .columns.card-group {
  grid-template-columns: minmax(0, 1fr) !important;
}

@media (min-width: 640px) {
  .home-page .columns.card-group {
    grid-template-columns: repeat(var(--cols, 1), minmax(0, 1fr)) !important;
  }
}

/* Hide source-links callouts on home page */
body:has(.home-page) .source-links,
:root:has(.home-page) .source-links {
  display: none !important;
}
.home-page ~ :is(.callout, [data-callout-type]) {
  display: none !important;
}

/* Note — Soft blue (#E0EDF8 / dark slate) */
[data-callout-type="note"] {
  background-color: #e0edf8 !important;
  border-color: #7ba3c9 !important;
}
[data-callout-type="note"] [data-component-part="callout-content"],
[data-callout-type="note"] [data-component-part="callout-content"] * {
  color: #1e3a52 !important;
}
[data-callout-type="note"] [data-component-part="callout-icon"] svg {
  color: #2c5282 !important;
}
.dark [data-callout-type="note"] {
  background-color: #2a3f5f !important;
  border-color: #3d5a80 !important;
}
.dark [data-callout-type="note"] [data-component-part="callout-content"],
.dark [data-callout-type="note"] [data-component-part="callout-content"] *,
.dark [data-callout-type="note"] [data-component-part="callout-icon"] svg {
  color: #d6eeff !important;
}

/* Tip & Check — Lime green (#d4e8a8) with olive (#8da042) */
[data-callout-type="tip"],
[data-callout-type="check"] {
  background-color: #d4e8a8 !important;
  border-color: #8da042 !important;
}
[data-callout-type="tip"] [data-component-part="callout-content"],
[data-callout-type="tip"] [data-component-part="callout-content"] *,
[data-callout-type="check"] [data-component-part="callout-content"],
[data-callout-type="check"] [data-component-part="callout-content"] * {
  color: #2d3319 !important;
}
[data-callout-type="tip"] [data-component-part="callout-icon"] svg,
[data-callout-type="check"] [data-component-part="callout-icon"] svg {
  color: #5a6b1f !important;
}
.dark [data-callout-type="tip"],
.dark [data-callout-type="check"] {
  background-color: #2e3900 !important;
  border-color: #6e8900 !important;
}
.dark [data-callout-type="tip"] [data-component-part="callout-content"],
.dark [data-callout-type="tip"] [data-component-part="callout-content"] *,
.dark [data-callout-type="check"] [data-component-part="callout-content"],
.dark [data-callout-type="check"] [data-component-part="callout-content"] * {
  color: #c3e796 !important;
}
.dark [data-callout-type="tip"] [data-component-part="callout-icon"] svg,
.dark [data-callout-type="check"] [data-component-part="callout-icon"] svg {
  color: #c3e796 !important;
}

/* Warning — Warm yellow (#FEF3C7 / amber) */
[data-callout-type="warning"] {
  background-color: #fef3c7 !important;
  border-color: #d97706 !important;
}
[data-callout-type="warning"] [data-component-part="callout-content"],
[data-callout-type="warning"] [data-component-part="callout-content"] * {
  color: #78350f !important;
}
[data-callout-type="warning"] [data-component-part="callout-icon"] svg {
  color: #b45309 !important;
}
.dark [data-callout-type="warning"] {
  background-color: #5c3a0e !important;
  border-color: #b45309 !important;
}
.dark [data-callout-type="warning"] [data-component-part="callout-content"],
.dark [data-callout-type="warning"] [data-component-part="callout-content"] *,
.dark [data-callout-type="warning"] [data-component-part="callout-icon"] svg {
  color: #fde68a !important;
}

/* Danger — Salmon-tinted red */
[data-callout-type="danger"] {
  background-color: #fce8e6 !important;
  border-color: #c75a52 !important;
}
[data-callout-type="danger"] [data-component-part="callout-content"],
[data-callout-type="danger"] [data-component-part="callout-content"] * {
  color: #7d2a24 !important;
}
[data-callout-type="danger"] [data-component-part="callout-icon"] svg {
  color: #b91c1c !important;
}
.dark [data-callout-type="danger"] {
  background-color: rgb(239 68 68 / 0.15) !important;
  border-color: rgb(239 68 68 / 0.4) !important;
}
.dark [data-callout-type="danger"] [data-component-part="callout-content"],
.dark [data-callout-type="danger"] [data-component-part="callout-content"] * {
  color: #fecaca !important;
}
.dark [data-callout-type="danger"] [data-component-part="callout-icon"] svg {
  color: #fca5a5 !important;
}

/* Info — Neutral grey (white/light grey bg, dark grey text, light grey border) */
[data-callout-type="info"] {
  background-color: #fafafa !important;
  border-color: #d1d5db !important;
}
[data-callout-type="info"] [data-component-part="callout-content"],
[data-callout-type="info"] [data-component-part="callout-content"] * {
  color: #374151 !important;
}
[data-callout-type="info"] [data-component-part="callout-icon"] svg {
  color: #6b7280 !important;
}
.dark [data-callout-type="info"] {
  background-color: #27272a !important;
  border-color: #52525b !important;
}
.dark [data-callout-type="info"] [data-component-part="callout-content"],
.dark [data-callout-type="info"] [data-component-part="callout-content"] *,
.dark [data-callout-type="info"] [data-component-part="callout-icon"] svg {
  color: #d4d4d8 !important;
}

/* Example — Pale pink (#F8E0ED) / plum (#735A6C) */
[data-callout-type="example"] {
  background-color: #f8e0ed !important;
  border-color: #c9a8b8 !important;
}
[data-callout-type="example"] [data-component-part="callout-content"],
[data-callout-type="example"] [data-component-part="callout-content"] * {
  color: #4a3540 !important;
}
[data-callout-type="example"] [data-component-part="callout-icon"] svg {
  color: #735a6c !important;
}
.dark [data-callout-type="example"] {
  background-color: #4a3d52 !important;
  border-color: #735a6c !important;
}
.dark [data-callout-type="example"] [data-component-part="callout-content"],
.dark [data-callout-type="example"] [data-component-part="callout-content"] *,
.dark [data-callout-type="example"] [data-component-part="callout-icon"] svg {
  color: #e8d4dc !important;
}

/* Question — Plum (#735A6C) with soft lavender */
[data-callout-type="question"] {
  background-color: #e8e0ec !important;
  border-color: #735a6c !important;
}
[data-callout-type="question"] [data-component-part="callout-content"],
[data-callout-type="question"] [data-component-part="callout-content"] * {
  color: #3d3142 !important;
}
[data-callout-type="question"] [data-component-part="callout-icon"] svg {
  color: #5a4a62 !important;
}
.dark [data-callout-type="question"] {
  background-color: rgb(115 90 108 / 0.25) !important;
  border-color: #735a6c !important;
}
.dark [data-callout-type="question"] [data-component-part="callout-content"],
.dark [data-callout-type="question"] [data-component-part="callout-content"] * {
  color: #e8d4ec !important;
}
.dark [data-callout-type="question"] [data-component-part="callout-icon"] svg {
  color: #d5c3d7 !important;
}

/* Custom — Purple tint */
[data-callout-type="callout"] {
  background-color: #ede9fe !important;
  border-color: #7c3aed !important;
}
[data-callout-type="callout"] [data-component-part="callout-content"],
[data-callout-type="callout"] [data-component-part="callout-content"] * {
  color: #4c1d95 !important;
}
[data-callout-type="callout"] [data-component-part="callout-icon"] svg {
  color: #6d28d9 !important;
}
.dark [data-callout-type="callout"] {
  background-color: rgb(124 58 237 / 0.15) !important;
  border-color: #7c3aed !important;
}
.dark [data-callout-type="callout"] [data-component-part="callout-content"],
.dark [data-callout-type="callout"] [data-component-part="callout-content"] * {
  color: #e9d5ff !important;
}
.dark [data-callout-type="callout"] [data-component-part="callout-icon"] svg {
  color: #c4b5fd !important;
}

/* Source links footer callouts */
.source-links [data-callout-type] {
  background-color: #eef2f7 !important;
  border-color: #dde2e9 !important;
}
.source-links [data-callout-type] [data-component-part="callout-content"],
.source-links [data-callout-type] [data-component-part="callout-content"] *,
.source-links [data-callout-type] [data-component-part="callout-icon"] svg {
  color: #5c6370 !important;
}
.source-links [data-callout-type] [data-component-part="callout-icon"] svg {
  background-color: #5c6370 !important;
}
.source-links [data-callout-type] a {
  color: inherit !important;
  text-decoration-color: currentColor !important;
}
.dark .source-links [data-callout-type] {
  background-color: #1e2028 !important;
  border-color: #2a2d38 !important;
}
.dark .source-links [data-callout-type] [data-component-part="callout-content"],
.dark .source-links [data-callout-type] [data-component-part="callout-content"] *,
.dark .source-links [data-callout-type] [data-component-part="callout-icon"] svg {
  color: #8b8f99 !important;
}
.dark .source-links [data-callout-type] [data-component-part="callout-icon"] svg {
  background-color: #8b8f99 !important;
}
.dark .source-links [data-callout-type] a {
  color: inherit !important;
  text-decoration-color: currentColor !important;
}

/* Card background matches page background */
.card {
  background-color: transparent !important;
}

/* Make card and dropdown borders visible in dark mode (WCAG 1.4.11: 3:1 min for UI components) */
.dark .card,
.dark [data-component="card"] {
  border-color: #4f5d73 !important;
}
.dark [data-radix-popper-content-wrapper] *,
.dark [data-radix-collection-item],
.dark [role="listbox"],
.dark [role="menu"],
.dark [role="combobox"],
.dark details,
.dark details > summary,
.dark button[class*="border"],
.dark [class*="border-"][class*="rounded"] {
  border-color: #4f5d73 !important;
}

/* Style links in tables to match regular content links */
.dark table a {
  color: #7FC8FF !important;
  text-decoration: underline !important;
  text-decoration-color: #7FC8FF !important;
  text-underline-offset: 2px;
}

/* Make table borders visible in dark mode */
.dark table * {
  border-color: #4f5d73 !important;
}

/* Force vertical alignment to top for table cells on products page */
table.products-page td.tdlist,
table.products-page th.tdlist {
  vertical-align: top !important;
}

/*
 * Horizontal overflow indicator for Mintlify tab lists (the "model switcher").
 *
 * Mintlify renders the Tabs component as a horizontally scrollable
 * `<ul role="tablist" data-component-part="tabs-list">`. When there are
 * more tabs than fit the content width, the list scrolls horizontally but
 * the edge truncates cleanly on the word boundary with no affordance that
 * more tabs exist.
 *
 * Apply a mask-image fade to the trailing edge so clipped content fades
 * out instead of cutting off sharply. In browsers that support
 * scroll-driven animations (Chromium 115+, Firefox 138+, Safari 26+), the
 * mask is animated against the list's own scroll position so only the
 * side(s) with hidden content are faded. In older browsers, the static
 * right-edge fade alone still reads as "there's more here".
 *
 * When the tablist is not scrollable, the mask fades only the trailing
 * sliver of the flex-gap region (which contains no tab content), so the
 * visual effect is imperceptible.
 */
[data-component-part="tabs-list"] {
  -webkit-mask-image:
    linear-gradient(
      to right,
      #000 0,
      #000 calc(100% - 1.5rem),
      transparent 100%
    );
  mask-image:
    linear-gradient(
      to right,
      #000 0,
      #000 calc(100% - 1.5rem),
      transparent 100%
    );
}

@supports (animation-timeline: scroll()) {
  [data-component-part="tabs-list"] {
    animation: tabs-overflow-mask linear both;
    animation-timeline: scroll(self inline);
  }

  @keyframes tabs-overflow-mask {
    0% {
      -webkit-mask-image:
        linear-gradient(
          to right,
          #000 0,
          #000 calc(100% - 1.5rem),
          transparent 100%
        );
      mask-image:
        linear-gradient(
          to right,
          #000 0,
          #000 calc(100% - 1.5rem),
          transparent 100%
        );
    }
    1%,
    99% {
      -webkit-mask-image:
        linear-gradient(
          to right,
          transparent 0,
          #000 1.5rem,
          #000 calc(100% - 1.5rem),
          transparent 100%
        );
      mask-image:
        linear-gradient(
          to right,
          transparent 0,
          #000 1.5rem,
          #000 calc(100% - 1.5rem),
          transparent 100%
        );
    }
    100% {
      -webkit-mask-image:
        linear-gradient(
          to right,
          transparent 0,
          #000 1.5rem,
          #000 100%
        );
      mask-image:
        linear-gradient(
          to right,
          transparent 0,
          #000 1.5rem,
          #000 100%
        );
    }
  }
}

html[data-current-path$="/deepagents/code/overview"] breadcrumb-list,
html[data-current-path$="/deepagents/code/overview"] .breadcrumb-list {
  display: none !important;
}

/* Agent development lifecycle diagram (home page) */
/* HTML panels + SVG arrow layer: Mintlify's MDX renderer strips SVG <text> and
   <marker>, so labels are HTML and arrowheads are drawn as <path> triangles. */
.adl-engine { position: relative; max-width: 1180px; margin: 2.5rem auto; container-type: inline-size; display: flex; flex-direction: column; align-items: center; }
.adl-engine-box { text-align: center; background: #E5F4FF; border: 1.5px solid #006DDD; border-radius: 16px; padding: 1.4cqw 3cqw; margin-bottom: 2cqw; }
.adl-engine-title { font-weight: 600; font-size: clamp(20px, 3.2cqw, 34px); color: #0a1929; text-decoration: none; }
.adl-engine-title:hover { text-decoration: underline; }
.adl-engine-tagline { font-size: clamp(13px, 1.9cqw, 22px); color: #40668d; margin-top: 0.4cqw; }
.adl-board { position: relative; width: 100%; max-width: 1100px; margin: 1.5rem auto 0; aspect-ratio: 1200 / 780; container-type: inline-size; z-index: 1; }
.adl-arrows { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; }
.adl-arrow { stroke: #6aa3d0; stroke-width: 2; stroke-dasharray: 3 6; fill: none; }
.adl-arrow-head { fill: #6aa3d0; }

.adl-panel { position: absolute; box-sizing: border-box; border-radius: 16px; background: #E5F4FF; border: 1.5px solid #006DDD; padding: 1.4cqw; display: flex; flex-direction: column; gap: 1cqw; z-index: 1; }
.adl-panel-title { color: #00355c; font-weight: 600; font-size: clamp(13px, 2cqw, 22px); line-height: 1.1; }
.adl-pills { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8cqw; flex: 1; align-content: center; }
.adl-pill { display: flex; align-items: center; justify-content: center; text-align: center; background: #ffffff; border: 1px solid #b8d8f0; border-radius: 8px; color: #0a3553; font-size: clamp(9px, 1.25cqw, 14px); font-weight: 500; text-decoration: none; padding: 0.7cqw 0.4cqw; line-height: 1.15; transition: background .15s ease, border-color .15s ease, color .15s ease; }
.adl-pill:hover { background: #cde7fa; border-color: #006DDD; color: #003f7a; }

.adl-hub { position: absolute; left: 50%; top: 43.5%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 1cqw; z-index: 1; }
.adl-hub-pill { display: flex; align-items: center; justify-content: center; text-align: center; background: #33415a; color: #ffffff; border-radius: 12px; font-size: clamp(12px, 1.7cqw, 20px); font-weight: 600; text-decoration: none; padding: 1cqw 2.2cqw; white-space: nowrap; transition: background .15s ease; }
a.adl-hub-pill:hover { background: #45577a; }

.adl-govern { position: absolute; left: 38%; width: 24%; top: 84%; display: flex; flex-direction: column; align-items: center; gap: 0.8cqw; z-index: 1; }
.adl-govern-title { color: #006DDD; font-weight: 600; font-size: clamp(12px, 1.8cqw, 20px); }
.adl-govern .adl-pill { width: 75%; }

.dark .adl-arrow { stroke: #4a7ca0; }
.dark .adl-arrow-head { fill: #4a7ca0; }
.dark .adl-panel { background: #102a3f; border-color: #4ba8e8; }
.dark .adl-panel-title { color: #b8d8f0; }
.dark .adl-pill { background: #0d1b27; border-color: #2c4a66; color: #cce5fb; }
.dark .adl-pill:hover { background: #1a3a52; border-color: #6cb6ee; color: #ffffff; }
.dark .adl-govern-title { color: #6cb6ee; }
.dark .adl-engine-title { color: #e6f4ff; }
.dark .adl-engine-tagline { color: #6cb6ee; }
.dark .adl-engine-box { background: #102a3f; border-color: #4ba8e8; }
.dark .adl-hub-pill { background: #1b2737; color: #cfe0f2; }
.dark a.adl-hub-pill:hover { background: #27374d; }
</style><div id="content-area" class="w-full pt-28 lg:pt-0"><div class="mdx-content @container/columns-container relative" data-page-href="/index" id="content"><div class="home-page mx-auto max-w-8xl px-0 lg:px-5" style="padding-bottom:8rem"><div class="mdx-content prose prose-gray dark:prose-invert mx-4 pt-10"><h1 class="flex whitespace-pre-wrap group font-semibold text-2xl sm:text-3xl mt-8">The platform for agent engineering</h1><span data-as="p">One platform to improve every step of the agent development lifecycle, so you can ship reliable agents faster.
<h2 class="flex whitespace-pre-wrap group font-semibold">Get started</h2></span><div class="columns prose dark:prose-invert grid max-w-none gap-4 @2xl/columns-container:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @[0px]/columns-container:grid-cols-1 card-group dark:prose-dark gap-y-0 sm:grid-cols-[repeat(var(--cols),minmax(0,1fr))]!" style="--cols:3"><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_1dnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/hammer.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/hammer.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_1dnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Build</h2><div id="_R_1dnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Build agents with code using LangChain, LangGraph, and Deep Agents.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Get started<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_2dnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/flask.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/flask.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_2dnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Test</h2><div id="_R_2dnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Evaluate agents with datasets, evaluations, and prompt engineering.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Get started<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_3dnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/rocket.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/rocket.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_3dnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Deploy</h2><div id="_R_3dnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Deploy and serve agents at scale.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Get started<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_4dnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/chart-line.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/chart-line.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_4dnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Monitor</h2><div id="_R_4dnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Trace, debug, and observe agents in production.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Get started<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_5dnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/shield-check.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/shield-check.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_5dnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Govern</h2><div id="_R_5dnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Administer access, settings, and LLM Gateway.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Get started<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_6dnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/wand.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/wand.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_6dnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">No-code agents</h2><div id="_R_6dnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Build and run agents without code using LangSmith Fleet.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Get started<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div></div><div class="columns prose dark:prose-invert grid max-w-none gap-4 @2xl/columns-container:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @[0px]/columns-container:grid-cols-1 card-group dark:prose-dark gap-y-0 sm:grid-cols-[repeat(var(--cols),minmax(0,1fr))]!" style="--cols:2"><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_1hnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><img src="https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?fit=max&amp;auto=format&amp;n=auWE6_dMRp183OCf&amp;q=85&amp;s=dd41aef3ce789c1a04ea3c37b5903eac" alt="" aria-hidden="true" class="size-6 m-0! shrink-0 bg-transparent dark:bg-transparent"/></div><div class="w-full"><h2 id="_R_1hnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Find and fix issues with Engine</h2><div id="_R_1hnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Find and fix recurring agent issues automatically with LangSmith Engine.</span></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_2hnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/code.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/code.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_2hnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Deep Agents Code</h2><div id="_R_2hnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Code with an AI agent in your terminal using the open source <code>dcode</code> CLI.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Get started<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div></div><h2 class="flex whitespace-pre-wrap group font-semibold">Resources</h2><div class="columns prose dark:prose-invert grid max-w-none gap-4 @2xl/columns-container:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @[0px]/columns-container:grid-cols-1 card-group dark:prose-dark gap-y-0 sm:grid-cols-[repeat(var(--cols),minmax(0,1fr))]!" style="--cols:3"><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_1pnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/school.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/school.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_1pnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">LangChain Academy</h2><div id="_R_1pnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Take free courses on building with LangChain and LangGraph.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Enroll<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_2pnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/messages.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/messages.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_2pnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Community forum</h2><div id="_R_2pnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Ask questions, share solutions, and discuss best practices.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Join<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_3pnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/message-circle-question.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/message-circle-question.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_3pnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Support portal</h2><div id="_R_3pnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Submit tickets and track support requests.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Visit<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_4pnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/tools.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/tools.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_4pnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Sign up for LangSmith</h2><div id="_R_4pnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Start with LangSmith for free.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">Sign up<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_5pnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/activity-heartbeat.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/activity-heartbeat.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_5pnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">LangSmith status</h2><div id="_R_5pnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">Real-time status of LangSmith services and APIs.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">View<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div><div class="card block font-normal group relative my-2 ring-2 ring-transparent rounded-2xl bg-white dark:bg-background-dark border border-gray-950/10 dark:border-white/10 overflow-hidden w-full cursor-pointer hover:border-primary! dark:hover:border-primary-light!" aria-labelledby="_R_6pnrav5tccsmisnpfiulb_" tabindex="0" role="link"><div class="px-6 py-5 relative" data-component-part="card-content-container"><div id="card-link-arrow-icon" class="absolute text-gray-400 dark:text-gray-500 group-hover:text-primary dark:group-hover:text-primary-light top-5 right-5 hidden"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="m-0.5 size-3 shrink-0"><path d="M14.25 3.75L3.75525 14.2446" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M4.71301 3.75H14.2499V13.2869" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></div><div class="size-6 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 [&amp;&gt;svg]:size-6" data-component-part="card-icon"><svg class="size-6 m-0! shrink-0 bg-primary dark:bg-primary-light" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/shield-lock.svg&quot;);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(&quot;https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/shield-lock.svg&quot;);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 id="_R_6pnrav5tccsmisnpfiulb_" class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Trust Center</h2><div id="_R_6pnrav5tccsmisnpfiulbH1_" class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"><span data-as="p">HIPAA, SOC 2 Type 2, and GDPR compliance details.</span></div><div class="mt-8" data-component-part="card-cta"><button class="text-left text-gray-600 gap-2 dark:text-gray-400 text-sm font-medium flex flex-row items-center hover:text-primary dark:hover:text-primary-light group-hover:text-primary group-hover:dark:text-primary-light">View<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="-ml-0.5 size-2.5 shrink-0"><path d="M6.5 2.75L12.75 9L6.5 15.25" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div></div></div></div></div><div class="left-0 right-0 sticky bottom-0 w-full overflow-hidden z-20 pointer-events-none print:hidden invisible hidden" aria-hidden="true"><div class="chat-assistant-floating-input w-full group/assistant-bar relative before:content-[&quot;&quot;] before:absolute before:left-0 before:right-0 before:top-1/2 before:h-[200px] before:bg-transparent dark:before:bg-transparent translate-y-[100px] opacity-0"><div class="relative pb-4 sm:pb-6"><div class="flex flex-col w-full rounded-2xl pointer-events-auto bg-background-light/90 dark:bg-background-dark/90 border border-gray-200 dark:border-white/30 focus-within:border-primary dark:focus-within:border-primary-light transition-colors backdrop-blur-xl cursor-pointer max-w-[386px] mx-auto"><div class="relative flex items-end"><textarea id="chat-assistant-textarea" aria-label="Ask a question..." autoComplete="off" placeholder="Ask a question..." class="chat-assistant-input w-full bg-transparent border-0 peer/input text-gray-900 dark:text-gray-100 placeholder-gray-500 dark:placeholder-gray-400 outline-hidden! focus:outline-hidden! focus:ring-0 py-2.5 pl-3.5 pr-10 font-bodyWeight text-sm" style="resize:none"></textarea><span class="absolute right-11 bottom-3 text-xs font-medium text-gray-400 dark:text-gray-500 select-none pointer-events-none peer-focus/input:hidden hidden sm:inline">⌘<!-- -->I</span><button class="chat-assistant-send-button flex justify-center items-center rounded-full p-1 size-6 bg-primary/30 dark:bg-primary-dark/30 absolute right-2.5 bottom-2" aria-label="Send message" disabled=""><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="size-2.5 shrink-0 text-white dark:text-white"><path d="M9.0 1.5754L8.9999 16.4171" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path><path d="M2.2563 8.319L8.9999 1.5754L15.7435 8.3191" stroke="currentColor" width="1.5" linecap="round" linejoin="round"></path></svg></button></div></div></div></div></div></div></div><!--$--><!--/$--></div></div></div><script src="/mintlify-assets/_next/static/chunks/3d8c775c5a406498.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n9:I[168027,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"default\"]\nc:I[339756,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"d:I[556357,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/979ccb417f1e19af.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/c5d8b184732b08fb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/3a872b75d7485981.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"e:I[837457,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"f:I[894587,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"ThemeProvider\",1]\n"])</script><script>self.__next_f.push([1,"10:I[152823,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"ColorVariables\",1]\n"])</script><script>self.__next_f.push([1,"11:I[531961,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"FontScript\",1]\n"])</script><script>self.__next_f.push([1,"12:I[649328,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"RoundedVariables\",1]\n"])</script><script>self.__next_f.push([1,"13:I[702910,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/db0fdf764269086b.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/c5d8b184732b08fb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/3a872b75d7485981.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"RecommendedPagesList\"]\n"])</script><script>self.__next_f.push([1,"14:I[570420,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"DataCurrentPathUpdater\"]\n"])</script><script>self.__next_f.push([1,"15:I[341175,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/4abf414e6bdd7960.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/c5d8b184732b08fb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/3a872b75d7485981.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"18:I[897367,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"OutletBoundary\"]\n1a:I[711533,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"AsyncMetadataOutlet\"]\n1c:I[897367,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"ViewportBoundary\"]\n1e:I[897367,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"MetadataBoundary\"]\n1f:\"$Sreact.suspense\"\n:HL[\"/mintlify-assets/_next/static/chunks/a2c16a79b30ca688.css?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"style\"]\n:HL[\"/mintlify-assets/_next/static/chunks/dbd05088697ae39c.css?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"style\"]\n:HL[\"/mintlify-assets/_next/static/chunks/75720fc4a0c570db.css?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"u5M4M_pCpBIWW1j-cjp03\",\"p\":\"/mintlify-assets\",\"c\":[\"\",\"?_gl=1*1jalycm*_gcl_au*NjQwODcwMTY4LjE3ODE3NTgwMTc.*_ga*MzA1Njk3NjQ3LjE3ODE3NTgwMTg.*_ga_47WX3HKKY2*czE3ODQzNDM2ODckbzMkZzAkdDE3ODQzNDM2ODckajYwJGwwJGgw\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"%5Fsites\",{\"children\":[[\"subdomain\",\"langchain-5e9cc07a\",\"d\"],{\"children\":[\"(multitenant)\",{\"children\":[[\"slug\",\"\",\"oc\"],{\"children\":[\"__PAGE__?{\\\"_gl\\\":\\\"1*1jalycm*_gcl_au*NjQwODcwMTY4LjE3ODE3NTgwMTc.*_ga*MzA1Njk3NjQ3LjE3ODE3NTgwMTg.*_ga_47WX3HKKY2*czE3ODQzNDM2ODckbzMkZzAkdDE3ODQzNDM2ODckajYwJGwwJGgw\\\"}\",{}]}]}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/a2c16a79b30ca688.css?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/dbd05088697ae39c.css?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"suppressHydrationWarning\":true,\"lang\":\"en\",\"className\":\"inter_1d81deff-module__CYM0aG__variable papermono_89c757f2-module__6aS5zq__variable dark\",\"data-banner-state\":\"visible\",\"data-assistant-state\":\"closed\",\"data-page-mode\":\"none\",\"data-current-path\":\"/\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){var b=\\\"\\\";\\nfunction a(p){if(p==null)return\\\"/\\\";p=\\\"\\\"+p;if(\\\"\\\"===p)return\\\"/\\\";return\\\"/\\\"===p.charAt(0)?p:\\\"/\\\"+p}\\nfunction u(p){if(p==null)return p;p=\\\"\\\"+p;if(!p||p.charAt(p.length-1)===\\\"/\\\")return p.slice(0,-1);return p}\\nfunction i(p){if(p==null)return p;p=\\\"\\\"+p;if(6\u003c=p.length\u0026\u0026p.substring(p.length-6)===\\\"/index\\\")return p.substring(0,p.length-6);if(\\\"index\\\"===p)return\\\"\\\";return p}\\nvar p=(location.pathname||\\\"\\\").split(\\\"?\\\")[0].split(\\\"#\\\")[0]||\\\"\\\";\\nif(b)if(p===b)p=\\\"\\\";else if(0===p.indexOf(b+\\\"/\\\"))p=p.substring(b.length);\\np=a(p);p=u(p);p=i(p);p=\\\"\\\"===p||\\\"index\\\"===p?\\\"/\\\":a(p);\\ndocument.documentElement.setAttribute(\\\"data-current-path\\\",p);\\n}();\"}}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"!function(){\\nfunction read(){try{\\nvar e=performance.getEntriesByType?performance.getEntriesByType(\\\"navigation\\\"):[];\\nvar st=(e[0]\u0026\u0026e[0].serverTiming)||[];\\nvar g={};\\nfor(var i=0;i\u003cst.length;i++){var n=st[i].name,d=st[i].description;if(!d)continue;try{d=decodeURIComponent(d)}catch(x){}\\nif(n===\\\"country\\\")g.country=d;else if(n===\\\"region\\\")g.region=d;else if(n===\\\"continent\\\")g.continent=d;}\\nvar w=window;w.mintlify=w.mintlify||{};w.mintlify.geo=g;\\n}catch(x){}}\\nread();document.addEventListener(\\\"DOMContentLoaded\\\",read);\\n}();\"}}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"dangerouslySetInnerHTML\":{\"__html\":\"(function(a,b){try{let c=document.getElementById(\\\"banner\\\")?.innerText;if(c){for(let d=0;d\u003clocalStorage.length;d++){let e=localStorage.key(d);if(e?.endsWith(a)\u0026\u0026localStorage.getItem(e)===c)return void document.documentElement.setAttribute(b,\\\"hidden\\\")}document.documentElement.setAttribute(b,\\\"visible\\\");return}for(let c=0;c\u003clocalStorage.length;c++){let d=localStorage.key(c);if(d?.endsWith(a)\u0026\u0026localStorage.getItem(d))return void document.documentElement.setAttribute(b,\\\"hidden\\\")}document.documentElement.setAttribute(b,\\\"visible\\\")}catch(a){document.documentElement.setAttribute(b,\\\"hidden\\\")}})(\\n  \\\"bannerDismissed\\\",\\n  \\\"data-banner-state\\\",\\n)\"}}],false]}],\"$L2\"]}]]}],{\"children\":[\"%5Fsites\",\"$L3\",{\"children\":[[\"subdomain\",\"langchain-5e9cc07a\",\"d\"],\"$L4\",{\"children\":[\"(multitenant)\",\"$L5\",{\"children\":[[\"slug\",\"\",\"oc\"],\"$L6\",{\"children\":[\"__PAGE__\",\"$L7\",{},null,false]},null,false]},null,false]},null,false]},null,false]},null,false],\"$L8\",false]],\"m\":\"$undefined\",\"G\":[\"$9\",[\"$La\",\"$Lb\"]],\"s\":false,\"S\":false}\n"])</script><script>self.__next_f.push([1,"2:[\"$\",\"body\",null,{\"className\":\"antialiased\",\"children\":[false,[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$d\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/979ccb417f1e19af.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/c5d8b184732b08fb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-5\",{\"src\":\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-6\",{\"src\":\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-7\",{\"src\":\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-8\",{\"src\":\"/mintlify-assets/_next/static/chunks/3a872b75d7485981.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-9\",{\"src\":\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}]],\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$Lf\",null,{\"children\":[[\"$\",\"$L10\",null,{}],[\"$\",\"$L11\",null,{}],[\"$\",\"$L12\",null,{}],[\"$\",\"style\",null,{\"children\":\":root {\\n  --primary: 17 120 102;\\n  --primary-light: 74 222 128;\\n  --primary-dark: 22 101 52;\\n  --background-light: 255 255 255;\\n  --background-dark: 15 17 23;\\n}\"}],[\"$\",\"main\",null,{\"className\":\"h-screen bg-background-light dark:bg-background-dark text-left\",\"children\":[\"$\",\"article\",null,{\"className\":\"bg-custom bg-fixed bg-center bg-cover relative flex flex-col items-center justify-center h-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-xl px-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex mb-6 rounded-full px-3 py-1 text-sm font-semibold mr-4 text-white p-1 bg-primary\",\"children\":[\"Error \",404]}],[\"$\",\"h1\",null,{\"className\":\"font-semibold mb-3 text-3xl\",\"children\":\"Page not found!\"}],[\"$\",\"p\",null,{\"className\":\"text-lg text-gray-600 dark:text-gray-400 mb-6\",\"children\":\"We couldn't find the page.\"}],[\"$\",\"$L13\",null,{}]]}]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],false,[\"$\",\"$L14\",null,{}]]}]\n"])</script><script>self.__next_f.push([1,"3:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"4:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$15\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/4abf414e6bdd7960.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/c5d8b184732b08fb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-5\",{\"src\":\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-6\",{\"src\":\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-7\",{\"src\":\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-8\",{\"src\":\"/mintlify-assets/_next/static/chunks/3a872b75d7485981.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}],[\"$\",\"script\",\"script-9\",{\"src\":\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true}]],\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$Lf\",null,{\"children\":[[\"$\",\"$L10\",null,{}],[\"$\",\"$L11\",null,{}],[\"$\",\"$L12\",null,{}],[\"$\",\"style\",null,{\"children\":\":root {\\n  --primary: 17 120 102;\\n  --primary-light: 74 222 128;\\n  --primary-dark: 22 101 52;\\n  --background-light: 255 255 255;\\n  --background-dark: 15 17 23;\\n}\"}],[\"$\",\"main\",null,{\"className\":\"h-screen bg-background-light dark:bg-background-dark text-left\",\"children\":[\"$\",\"article\",null,{\"className\":\"bg-custom bg-fixed bg-center bg-cover relative flex flex-col items-center justify-center h-full\",\"children\":[\"$\",\"div\",null,{\"className\":\"w-full max-w-xl px-10\",\"children\":[[\"$\",\"span\",null,{\"className\":\"inline-flex mb-6 rounded-full px-3 py-1 text-sm font-semibold mr-4 text-white p-1 bg-primary\",\"children\":[\"Error \",404]}],[\"$\",\"h1\",null,{\"className\":\"font-semibold mb-3 text-3xl\",\"children\":\"Page not found!\"}],[\"$\",\"p\",null,{\"className\":\"text-lg text-gray-600 dark:text-gray-400 mb-6\",\"children\":\"We couldn't find the page.\"}],[\"$\",\"$L13\",null,{}]]}]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"5:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/75720fc4a0c570db.css?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-8\",{\"src\":\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-9\",{\"src\":\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-10\",{\"src\":\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-11\",{\"src\":\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-12\",{\"src\":\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-13\",{\"src\":\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-14\",{\"src\":\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-15\",{\"src\":\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-16\",{\"src\":\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-17\",{\"src\":\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-18\",{\"src\":\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L16\"]}]\n"])</script><script>self.__next_f.push([1,"6:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"7:[\"$\",\"$1\",\"c\",{\"children\":[\"$L17\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L18\",null,{\"children\":[\"$L19\",[\"$\",\"$L1a\",null,{\"promise\":\"$@1b\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"8:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L1c\",null,{\"children\":\"$L1d\"}],null],[\"$\",\"$L1e\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$1f\",null,{\"fallback\":null,\"children\":\"$L20\"}]}]}]]}]\na:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/a2c16a79b30ca688.css?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\nb:[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/dbd05088697ae39c.css?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n1d:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover\"}]]\n19:null\n"])</script><script>self.__next_f.push([1,"1b:{\"metadata\":[[\"$\",\"title\",\"0\",{\"children\":\"Home - Docs by LangChain\"}],[\"$\",\"meta\",\"1\",{\"name\":\"application-name\",\"content\":\"Docs by LangChain\"}],[\"$\",\"meta\",\"2\",{\"name\":\"generator\",\"content\":\"Mintlify\"}],[\"$\",\"meta\",\"3\",{\"name\":\"msapplication-config\",\"content\":\"/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon/browserconfig.xml\"}],[\"$\",\"meta\",\"4\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"Docs by LangChain\"}],[\"$\",\"meta\",\"5\",{\"name\":\"msapplication-TileColor\",\"content\":\"#161F34\"}],[\"$\",\"meta\",\"6\",{\"name\":\"google-site-verification\",\"content\":\"9_2KHeJwmEdwgncBRk1MsKxriZz7Sc21EJdbfCxkTEo\"}],[\"$\",\"link\",\"7\",{\"rel\":\"canonical\",\"href\":\"https://docs.langchain.com\"}],[\"$\",\"link\",\"8\",{\"rel\":\"alternate\",\"type\":\"application/xml\",\"href\":\"/sitemap.xml\"}],[\"$\",\"link\",\"9\",{\"rel\":\"alternate\",\"type\":\"text/markdown\",\"href\":\"/index.md\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:title\",\"content\":\"Home - Docs by LangChain\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:url\",\"content\":\"https://docs.langchain.com\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:site_name\",\"content\":\"Docs by LangChain\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:image\",\"content\":\"https://langchain-5e9cc07a.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DDocumentation%26appearance%3Dsystem%26title%3DHome%26logoLight%3Dhttps%253A%252F%252Fmintcdn.com%252Flangchain-5e9cc07a%252FnQm-sjd_MByLhgeW%252Fimages%252Fbrand%252Flangchain-docs-dark-blue.png%253Ffit%253Dmax%2526auto%253Dformat%2526n%253DnQm-sjd_MByLhgeW%2526q%253D85%2526s%253D5babf1a1962208fd7eed942fa2432ecb%26logoDark%3Dhttps%253A%252F%252Fmintcdn.com%252Flangchain-5e9cc07a%252FnQm-sjd_MByLhgeW%252Fimages%252Fbrand%252Flangchain-docs-light-blue.png%253Ffit%253Dmax%2526auto%253Dformat%2526n%253DnQm-sjd_MByLhgeW%2526q%253D85%2526s%253D0bcd2a1f2599ed228bcedf0f535b45b1%26primaryColor%3D%2523161F34%26lightColor%3D%25237FC8FF%26backgroundLight%3D%2523FFFFFF%26backgroundDark%3D%2523030710\u0026w=1200\u0026q=100\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"17\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:title\",\"content\":\"Home - Docs by LangChain\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:image\",\"content\":\"https://langchain-5e9cc07a.mintlify.app/mintlify-assets/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DDocumentation%26appearance%3Dsystem%26title%3DHome%26logoLight%3Dhttps%253A%252F%252Fmintcdn.com%252Flangchain-5e9cc07a%252FnQm-sjd_MByLhgeW%252Fimages%252Fbrand%252Flangchain-docs-dark-blue.png%253Ffit%253Dmax%2526auto%253Dformat%2526n%253DnQm-sjd_MByLhgeW%2526q%253D85%2526s%253D5babf1a1962208fd7eed942fa2432ecb%26logoDark%3Dhttps%253A%252F%252Fmintcdn.com%252Flangchain-5e9cc07a%252FnQm-sjd_MByLhgeW%252Fimages%252Fbrand%252Flangchain-docs-light-blue.png%253Ffit%253Dmax%2526auto%253Dformat%2526n%253DnQm-sjd_MByLhgeW%2526q%253D85%2526s%253D0bcd2a1f2599ed228bcedf0f535b45b1%26primaryColor%3D%2523161F34%26lightColor%3D%25237FC8FF%26backgroundLight%3D%2523FFFFFF%26backgroundDark%3D%2523030710\u0026w=1200\u0026q=100\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"22\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon/android-chrome-192x192.png\",\"type\":\"image/png\",\"sizes\":\"192x192\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"link\",\"23\",{\"rel\":\"apple-touch-icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon/apple-touch-icon.png\",\"type\":\"image/png\",\"sizes\":\"180x180\",\"media\":\"$undefined\"}],\"$L21\",\"$L22\",\"$L23\",\"$L24\",\"$L25\",\"$L26\",\"$L27\",\"$L28\"],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"20:\"$1b:metadata\"\n"])</script><script>self.__next_f.push([1,"29:I[27201,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"IconMark\"]\n21:[\"$\",\"link\",\"24\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon/favicon-16x16.png\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"media\":\"(prefers-color-scheme: light)\"}]\n22:[\"$\",\"link\",\"25\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon/favicon-32x32.png\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"media\":\"(prefers-color-scheme: light)\"}]\n23:[\"$\",\"link\",\"26\",{\"rel\":\"shortcut icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"$undefined\",\"media\":\"(prefers-color-scheme: light)\"}]\n24:[\"$\",\"link\",\"27\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon-dark/android-chrome-192x192.png\",\"type\":\"image/png\",\"sizes\":\"192x192\",\"media\":\"(prefers-color-scheme: dark)\"}]\n25:[\"$\",\"link\",\"28\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon-dark/favicon-16x16.png\",\"type\":\"image/png\",\"sizes\":\"16x16\",\"media\":\"(prefers-color-scheme: dark)\"}]\n26:[\"$\",\"link\",\"29\",{\"rel\":\"icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon-dark/favicon-32x32.png\",\"type\":\"image/png\",\"sizes\":\"32x32\",\"media\":\"(prefers-color-scheme: dark)\"}]\n27:[\"$\",\"link\",\"30\",{\"rel\":\"shortcut icon\",\"href\":\"/mintlify-assets/_mintlify/favicons/langchain-5e9cc07a/YSQua9Gt91yRswvJ/_generated/favicon-dark/favicon.ico\",\"type\":\"image/x-icon\",\"sizes\":\"$undefined\",\"media\":\"(prefers-color-scheme: dark)\"}]\n28:[\"$\",\"$L29\",\"31\",{}]\n"])</script><script>self.__next_f.push([1,"2a:I[707934,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"WebMcpRegistration\"]\n"])</script><script>self.__next_f.push([1,"2b:I[590280,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"LivePreviewProvider\",1]\n"])</script><script>self.__next_f.push([1,"2c:I[479520,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"\"]\n"])</script><script>self.__next_f.push([1,"2e:I[197336,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"2f:I[91557,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"AuthProvider\",1]\n"])</script><script>self.__next_f.push([1,"30:I[91557,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"DeploymentMetadataProvider\",1]\n"])</script><script>self.__next_f.push([1,"31:I[91557,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"DocsConfigProvider\",1]\n"])</script><script>self.__next_f.push([1,"35:I[763509,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"ThemeLayout\",1]\n"])</script><script>self.__next_f.push([1,"36:I[91557,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"ApiReferenceProvider\",1]\n"])</script><script>self.__next_f.push([1,"37:I[91557,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"PageProvider\",1]\n"])</script><script>self.__next_f.push([1,"38:I[91557,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"OpenApiProvider\",1]\n"])</script><script>self.__next_f.push([1,"39:I[525343,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"TabSyncContextProvider\"]\n"])</script><script>self.__next_f.push([1,"3b:I[228341,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"PageModeUpdater\"]\n"])</script><script>self.__next_f.push([1,"3c:I[524149,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"FooterAndSidebarScrollScript\",1]\n"])</script><script>self.__next_f.push([1,"3d:I[575126,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"Background\",1]\n"])</script><script>self.__next_f.push([1,"2d:T406,"])</script><script>self.__next_f.push([1,"(function g(a,b,c,d,e){try{let f,g,h=[];try{h=window.location.pathname.split(\"/\").filter(a=\u003e\"\"!==a\u0026\u0026\"global\"!==a).slice(0,2)}catch{h=[]}let i=h.find(a=\u003ec.includes(a)),j=[];for(let c of(i?j.push(i):j.push(b),j.push(\"global\"),j)){if(!c)continue;let b=a[c];if(b?.content){f=b.content,g=c;break}}if(!f)return void document.documentElement.setAttribute(d,\"hidden\");let k=!0,l=0;for(;l\u003clocalStorage.length;){let a=localStorage.key(l);if(l++,!a?.endsWith(e))continue;let b=localStorage.getItem(a);if(b\u0026\u0026b===f){k=!1;break}g\u0026\u0026(a.startsWith(`lang:${g}_`)||!a.startsWith(\"lang:\"))\u0026\u0026(localStorage.removeItem(a),l--)}document.documentElement.setAttribute(d,k?\"visible\":\"hidden\")}catch(a){console.error(a),document.documentElement.setAttribute(d,\"hidden\")}})(\n  {\"global\":{\"content\":\"Interrupt is coming to NYC and London this fall. Join the builders, engineers, and teams shaping what's next for agents. [Get your tickets →](https://interrupt.langchain.com/)\",\"dismissible\":true}},\n  \"en\",\n  [],\n  \"data-banner-state\",\n  \"bannerDismissed\",\n)"])</script><script>self.__next_f.push([1,"32:T416,"])</script><script>self.__next_f.push([1,"Creates a new experiment view override configuration for a dataset with column display settings.\nThis endpoint allows you to customize how experiment results are displayed by configuring\ncolumn-specific overrides including colors, precision, and visibility.\n\nThe request must include a 'column_overrides' array with at least one override configuration.\nEach column override can specify:\n- column: Required field name (must start with inputs, outputs, reference_outputs, feedback, metrics, attachments, or metadata)\n- color_gradient: Optional array of [number, color] tuples for numeric data visualization\n- precision: Optional number (1-6) for decimal places in numeric columns\n- hide: Optional boolean to control column visibility\n\nExample request body:\n{\n\"column_overrides\": [\n{\n\"column\": \"outputs.accuracy\",\n\"color_gradient\": [[0.0, \"#ff0000\"], [0.5, \"#ffff00\"], [1.0, \"#00ff00\"]],\n\"precision\": 3\n},\n{\n\"column\": \"inputs.model_type\",\n\"hide\": false\n}\n]\n}\n\nThis operation fails if an override already exists for the dataset (use PATCH to update)."])</script><script>self.__next_f.push([1,"33:T78f,"])</script><script>self.__next_f.push([1,"Creates a gateway policy for the calling organization.\n\n**policy_type** is one of `spend_cap`, `default_spend_cap`,\n`guard`, or `route_config`. The shape of `config` depends on policy_type:\n- `spend_cap` / `default_spend_cap`:\n`{\"window\": \"hourly\"|\"daily\"|\"weekly\"|\"monthly\", \"limit_usd\": \u003cnumber\u003e}`\n- `guard`:\n`{\"version\": 1, \"detect\": {\"pii\": \u003cbool\u003e, \"secrets\": \u003cbool\u003e}, \"timeout_seconds\": \u003cnumber\u003e, \"timeout_action\": \"allow\"|\"block\"}`\n`timeout_seconds` (optional, 0.1–30) caps guard pipeline execution time; defaults to 2s. `timeout_action` defaults to `allow`.\n- `route_config`:\n`{\"strategy\": \"priority_fallback\", \"triggers\": {\"status_codes\": [\u003cint\u003e]}, \"fallbacks\": [{\"model_configs\": [{\"model_config_id\": \"\u003cplayground-settings-uuid\u003e\"}]}]}`\n`triggers` is required, with no default: `status_codes` must be a non-empty list (include 502 and 504 for upstream transport failures). `fallbacks` contains an entry whose `model_configs` are tried in priority order (1–5). `subject_matchers` must be a single `workspace_id` entry.\n\n**subject_matchers** is a list of `{key, value}` pairs.\n`key` is one of `organization_id`, `workspace_id`, `user_id`,\n`api_key_id`, or `run_rule_id`. Multiple matchers AND together. A\n`default_spend_cap` uses `{key, value: \"\"}` so the runtime\nmaterializes a per-subject child for every distinct subject\nof that kind it sees in request metadata.\n\n**action** is currently always `block`. Spend caps reject the\nrequest with 402 when the limit is hit; guard policies redact\nmatched content in-place before forwarding upstream.\n\n**Upsert by matchers:** for `spend_cap`, `default_spend_cap`, and\n`guard`, if a policy with the same `subject_matchers` already exists\nin this organization, the existing policy is updated in place instead\nof a duplicate being created. `id` is preserved. `route_config` does\nnot upsert by matchers — name must be unique per organization (409 on\nconflict). Returns 201 either way."])</script><script>self.__next_f.push([1,"16:[null,[\"$\",\"$L2a\",null,{\"subdomain\":\"langchain-5e9cc07a\"}],[\"$\",\"$L2b\",null,{\"isLivePreviewRoute\":false,\"children\":[\"$\",\"$Lf\",null,{\"appearance\":{\"default\":\"system\",\"strict\":false},\"codeblockTheme\":{\"theme\":{\"light\":\"catppuccin-latte\",\"dark\":\"catppuccin-mocha\"}},\"children\":[[\"$\",\"blockquote\",null,{\"className\":\"sr-only\",\"data-agent-docs-index\":true,\"aria-hidden\":\"true\",\"children\":[[\"$\",\"h2\",null,{\"children\":\"Documentation Index\"}],[\"$\",\"p\",null,{\"children\":[\"Fetch the complete documentation index at:\",\" \",[\"$\",\"a\",null,{\"href\":\"/llms.txt\",\"tabIndex\":-1,\"children\":\"/llms.txt\"}]]}],[\"$\",\"p\",null,{\"children\":\"Use this file to discover all available pages before exploring further.\"}]]}],false,false,null,[\"$\",\"$L2c\",null,{\"id\":\"_mintlify-banner-script\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"$2d\"}}],[\"$\",\"$L2e\",null,{\"appId\":\"$undefined\",\"autoBoot\":true,\"children\":[\"$\",\"$L2f\",null,{\"value\":{\"auth\":\"$undefined\",\"userAuth\":\"$undefined\"},\"children\":[\"$\",\"$L30\",null,{\"value\":{\"subdomain\":\"langchain-5e9cc07a\",\"actualSubdomain\":\"langchain-5e9cc07a\",\"gitSource\":{\"type\":\"github\",\"owner\":\"langchain-ai\",\"repo\":\"docs\",\"deployBranch\":\"prod\",\"contentDirectory\":\"build\",\"isPrivate\":false,\"mountPath\":\"\",\"label\":\"\"},\"inkeep\":\"$undefined\",\"chroma\":{\"liveDeploymentHistoryId\":\"6a5a9ab9dc0cb6445bc665eb\",\"collectionId\":\"9b49ca50-7d95-49a5-9124-4cfc2fa3717e\",\"schemaVersion\":\"v3\",\"latestBuiltDeploymentHistoryId\":\"6a5a9ab9dc0cb6445bc665eb\"},\"feedback\":{\"thumbs\":true,\"edits\":false,\"issues\":false},\"entitlements\":{\"AI_CHAT\":{\"status\":\"ENABLED\"},\"REMOVE_BRANDING\":{\"status\":\"ENABLED\"}},\"buildId\":\"6a5a9ab9dc0cb6445bc665eb:success\",\"clientVersion\":\"0.0.3278\",\"preview\":\"$undefined\",\"searchFilterCounts\":[{\"language\":\"default\",\"tag\":\"AGENT DEVELOPMENT LIFECYCLE\",\"count\":1328},{\"language\":\"default\",\"tag\":\"Reference\",\"count\":802},{\"language\":\"default\",\"tag\":\"Monitor\",\"count\":620},{\"language\":\"default\",\"tag\":\"LangSmith REST API\",\"count\":519},{\"language\":\"default\",\"tag\":\"Build\",\"count\":384},{\"language\":\"default\",\"tag\":\"Deploy\",\"count\":225},{\"language\":\"default\",\"tag\":\"TypeScript\",\"count\":208},{\"language\":\"default\",\"tag\":\"Python\",\"count\":201},{\"language\":\"default\",\"tag\":\"PLATFORM\",\"count\":163},{\"language\":\"default\",\"tag\":\"Administration\",\"count\":140}],\"searchSettings\":\"$undefined\"},\"children\":[\"$\",\"$L31\",null,{\"value\":{\"docsConfig\":{\"theme\":\"aspen\",\"$schema\":\"https://mintlify.com/docs.json\",\"name\":\"Docs by LangChain\",\"description\":\"Documentation for LangSmith, Fleet, and our open source packages.\",\"colors\":{\"primary\":\"#161F34\",\"light\":\"#7FC8FF\",\"dark\":\"#006DDD\"},\"logo\":{\"light\":\"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-docs-dark-blue.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=5babf1a1962208fd7eed942fa2432ecb\",\"dark\":\"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-docs-light-blue.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=0bcd2a1f2599ed228bcedf0f535b45b1\"},\"favicon\":{\"light\":\"https://mintcdn.com/langchain-5e9cc07a/8njVp3mXF3LrAS1d/images/brand/docs-favicon.png?fit=max\u0026auto=format\u0026n=8njVp3mXF3LrAS1d\u0026q=85\u0026s=a61c2b4666f558992e1fd44750b08465\",\"dark\":\"https://mintcdn.com/langchain-5e9cc07a/8njVp3mXF3LrAS1d/images/brand/docs-favicon.png?fit=max\u0026auto=format\u0026n=8njVp3mXF3LrAS1d\u0026q=85\u0026s=a61c2b4666f558992e1fd44750b08465\"},\"appearance\":\"$16:2:props:children:props:appearance\",\"background\":{\"color\":{\"light\":\"#FFFFFF\",\"dark\":\"#030710\"}},\"navbar\":{\"links\":[{\"icon\":\"message\",\"href\":\"https://chat.langchain.com/\",\"label\":\"Ask AI\"},{\"icon\":\"brand-github\",\"href\":\"https://github.com/langchain-ai\",\"label\":\"GitHub\"}],\"primary\":{\"type\":\"button\",\"label\":\"Try LangSmith\",\"href\":\"https://smith.langchain.com/\"}},\"footer\":{\"socials\":{\"github\":\"https://github.com/langchain-ai\",\"x\":\"https://x.com/LangChain\",\"linkedin\":\"https://www.linkedin.com/company/langchain\",\"youtube\":\"https://www.youtube.com/@LangChain\"},\"links\":[{\"header\":\"Resources\",\"items\":[{\"label\":\"Forum\",\"href\":\"https://forum.langchain.com/\"},{\"label\":\"Changelog\",\"href\":\"https://changelog.langchain.com/\"},{\"label\":\"LangChain Academy\",\"href\":\"https://academy.langchain.com/\"},{\"label\":\"Contact Sales\",\"href\":\"https://www.langchain.com/contact-sales\"}]},{\"header\":\"Company\",\"items\":[{\"label\":\"Home\",\"href\":\"https://langchain.com/\"},{\"label\":\"Trust Center\",\"href\":\"https://trust.langchain.com/\"},{\"label\":\"Careers\",\"href\":\"https://langchain.com/careers\"},{\"label\":\"Blog\",\"href\":\"https://blog.langchain.com/\"}]}]},\"seo\":{\"metatags\":{\"canonical\":\"https://docs.langchain.com\",\"google-site-verification\":\"9_2KHeJwmEdwgncBRk1MsKxriZz7Sc21EJdbfCxkTEo\"}},\"fonts\":{\"heading\":{\"family\":\"TWK Lausanne\",\"weight\":700,\"source\":\"fonts/TWKLausanne-700.woff2\",\"format\":\"woff2\"},\"body\":{\"family\":\"Inter\",\"weight\":400}},\"icons\":{\"library\":\"tabler\"},\"styling\":{\"eyebrows\":\"breadcrumbs\",\"codeblocks\":\"$16:2:props:children:props:codeblockTheme\",\"latex\":true},\"integrations\":{\"gtm\":{\"tagId\":\"GTM-MBBX68ST\"}},\"banner\":{\"content\":\"Interrupt is coming to NYC and London this fall. Join the builders, engineers, and teams shaping what's next for agents. [Get your tickets →](https://interrupt.langchain.com/)\",\"dismissible\":true},\"errors\":{\"404\":{\"redirect\":false,\"title\":\"Page not found\",\"description\":\"We couldn't find the page you were looking for.\"}},\"contextual\":{\"options\":[\"copy\",\"view\",{\"title\":\"llms.txt\",\"description\":\"Open llms.txt for this site\",\"icon\":\"file\",\"href\":\"https://docs.langchain.com/llms.txt\"},\"chatgpt\",\"claude\",\"mcp\",\"cursor\",\"vscode\"],\"display\":\"header\"},\"interaction\":{\"drilldown\":true},\"navigation\":{\"pages\":[]}},\"docsNavWithMetadata\":{\"global\":null,\"products\":[{\"product\":\"AGENT DEVELOPMENT LIFECYCLE\",\"menu\":[{\"item\":\"Home\",\"icon\":\"home\",\"description\":\"Get started\",\"pages\":[{\"title\":null,\"sidebarTitle\":\"Home\",\"mode\":\"custom\",\"description\":null,\"href\":\"/index\"}]},{\"item\":\"Build\",\"icon\":\"hammer\",\"description\":\"Build agents with open source\",\"dropdowns\":[{\"dropdown\":\"Python\",\"icon\":{\"style\":\"regular\",\"name\":\"brand-python\"},\"tabs\":[{\"tab\":\"Overview\",\"pages\":[{\"title\":\"Build\",\"sidebarTitle\":\"Overview\",\"mode\":\"custom\",\"description\":\"Build agents with LangChain, LangGraph, and Deep Agents.\",\"icon\":\"hammer\",\"href\":\"/build-overview\"}]},{\"tab\":\"Deep Agents\",\"pages\":[{\"title\":\"Deep Agents overview\",\"sidebarTitle\":\"Overview\",\"description\":\"Build agents that can plan, use subagents, and leverage file systems for complex tasks\",\"href\":\"/oss/python/deepagents/overview\"},{\"group\":\"Get started\",\"pages\":[{\"title\":\"Quickstart\",\"description\":\"Build your first deep agent in minutes\",\"href\":\"/oss/python/deepagents/quickstart\"},{\"title\":\"Customize Deep Agents\",\"sidebarTitle\":\"Customization\",\"description\":\"Learn how to customize Deep Agents with system prompts, tools, subagents, and more\",\"href\":\"/oss/python/deepagents/customization\"},{\"title\":\"Models\",\"description\":\"Configure model providers and parameters for Deep Agents\",\"href\":\"/oss/python/deepagents/models\"},{\"title\":\"Comparison with Claude Agent SDK\",\"sidebarTitle\":\"Comparison with Claude Agent SDK\",\"description\":\"Compare LangChain Deep Agents with the Claude Agent SDK to choose the right tool for your use case.\",\"href\":\"/oss/python/deepagents/comparison\"},{\"title\":\"Deep Agents Code\",\"sidebarTitle\":\"Deep Agents Code\",\"description\":\"Terminal coding agent built on the Deep Agents SDK\",\"url\":\"/oss/python/deepagents/code/overview\",\"href\":\"/oss/python/deepagents/code-link\"},{\"title\":\"Changelog\",\"url\":\"https://docs.langchain.com/oss/python/releases/changelog\",\"description\":null,\"href\":\"/oss/python/deepagents/changelog-py\"}]},{\"group\":\"Deployment\",\"pages\":[{\"title\":\"Managed Deep Agents\",\"sidebarTitle\":\"Managed Deep Agents\",\"tag\":\"BETA\",\"url\":\"/langsmith/managed-deep-agents-overview\",\"description\":null,\"href\":\"/langsmith/managed-deep-agents\"},{\"group\":\"Going to production\",\"root\":{\"title\":\"Going to production\",\"description\":\"Take your deep agent to production with persistent memory, sandboxes, resilience middleware, and deployment options\",\"href\":\"/oss/python/deepagents/going-to-production\"},\"pages\":[{\"title\":\"Fault tolerance\",\"description\":\"Make your deep agent resilient with rate limiting, retries, fallbacks, and error handling\",\"href\":\"/oss/python/deepagents/fault-tolerance\"}]}]},{\"group\":\"Execution environment\",\"expanded\":true,\"pages\":[{\"title\":\"Tools\",\"description\":\"Connect Deep Agents to custom functions, APIs, databases, and any MCP server\",\"href\":\"/oss/python/deepagents/tools\"},{\"title\":\"Backends\",\"description\":\"Choose and configure filesystem backends for Deep Agents. You can specify routes to different backends, implement virtual filesystems, and enforce policies.\",\"href\":\"/oss/python/deepagents/backends\"},{\"title\":\"Permissions\",\"description\":\"Control filesystem access with declarative permission rules for Deep Agents\",\"href\":\"/oss/python/deepagents/permissions\"},{\"title\":\"Multimodal inputs and outputs\",\"sidebarTitle\":\"Multimodality\",\"description\":\"Use images, audio, video, and documents with Deep Agents when your model supports multimodal inputs and tool results\",\"href\":\"/oss/python/deepagents/multimodal\"},{\"title\":\"Sandboxes\",\"sidebarTitle\":\"Sandboxes\",\"description\":\"Execute code in isolated environments with sandbox backends\",\"href\":\"/oss/python/deepagents/sandboxes\"},{\"group\":\"Interpreters\",\"root\":{\"title\":\"Interpreters\",\"description\":\"Run lightweight code inside Deep Agents to compose tools, orchestrate subagents, and transform structured data\",\"tag\":\"Beta\",\"href\":\"/oss/python/deepagents/interpreters\"},\"tag\":\"Beta\",\"expanded\":true,\"pages\":[{\"title\":\"Dynamic subagents\",\"description\":\"Use interpreters to dispatch and orchestrate Deep Agents subagents from code\",\"tag\":\"Beta\",\"href\":\"/oss/python/deepagents/dynamic-subagents\"}]},{\"title\":\"Event streaming\",\"description\":\"Stream subagents, messages, tool calls, and final output from Deep Agents.\",\"tag\":\"Beta\",\"href\":\"/oss/python/deepagents/event-streaming\"},{\"title\":\"Streaming\",\"description\":\"Stream real-time updates from deep agent runs and subagent execution\",\"href\":\"/oss/python/deepagents/streaming\"}]},{\"group\":\"Context management\",\"expanded\":true,\"pages\":[{\"title\":\"Skills\",\"description\":\"Learn how to extend your deep agent's capabilities with skills\",\"href\":\"/oss/python/deepagents/skills\"},{\"title\":\"Memory\",\"description\":\"Add persistent memory to agents built with Deep Agents so they learn and improve across conversations\",\"href\":\"/oss/python/deepagents/memory\"},{\"title\":\"Context engineering in Deep Agents\",\"sidebarTitle\":\"Context engineering\",\"description\":\"Control what context your deep agent has access to and how it is managed across long-running tasks\",\"href\":\"/oss/python/deepagents/context-engineering\"},{\"title\":\"Profiles\",\"description\":\"Package per-provider and per-model defaults that Deep Agents applies when a model is selected\",\"tag\":\"Beta\",\"href\":\"/oss/python/deepagents/profiles\"}]},{\"group\":\"Delegation\",\"expanded\":true,\"pages\":[{\"title\":\"Subagents\",\"description\":\"Learn how to use subagents to delegate work and keep context clean\",\"href\":\"/oss/python/deepagents/subagents\"},{\"title\":\"Async subagents\",\"description\":\"Launch background subagents that run concurrently while the supervisor continues interacting with the user\",\"href\":\"/oss/python/deepagents/async-subagents\"}]},{\"group\":\"Steering\",\"expanded\":true,\"pages\":[{\"title\":\"Human-in-the-loop\",\"description\":\"Learn how to configure human approval for sensitive tool operations\",\"href\":\"/oss/python/deepagents/human-in-the-loop\"},{\"title\":\"Grading rubrics\",\"description\":\"LLM-as-a-judge grading for agents that iterate against a rubric until done\",\"tag\":\"Beta\",\"href\":\"/oss/python/deepagents/rubric\"}]},{\"group\":\"Frontend\",\"pages\":[{\"title\":\"Overview\",\"description\":\"Build UIs that display real-time subagent streams, task progress, and sandbox for Deep Agents\",\"href\":\"/oss/python/deepagents/frontend/overview\"},{\"group\":\"Patterns\",\"pages\":[{\"title\":\"Subagent streaming\",\"description\":\"Display specialist subagents with streaming content, progress tracking, and collapsible cards\",\"href\":\"/oss/python/deepagents/frontend/subagent-streaming\"},{\"title\":\"Todo list\",\"description\":\"Track agent progress with a real-time todo list synced from agent state\",\"href\":\"/oss/python/deepagents/frontend/todo-list\"},{\"title\":\"Sandbox\",\"description\":\"Build an IDE-like UI for a coding agent backed by a sandbox environment\",\"href\":\"/oss/python/deepagents/frontend/sandbox\"}]}]},{\"group\":\"Protocols\",\"pages\":[{\"title\":\"Agent Client Protocol (ACP)\",\"description\":\"Expose Deep Agents over the Agent Client Protocol (ACP) to integrate with code editors and IDEs.\",\"href\":\"/oss/python/deepagents/acp\"},{\"title\":\"Model Context Protocol\",\"sidebarTitle\":\"MCP with LangChain\",\"url\":\"/oss/python/langchain/mcp\",\"description\":null,\"href\":\"/oss/python/deepagents/mcp\"},{\"title\":\"A2A server\",\"sidebarTitle\":\"A2A with LangSmith\",\"url\":\"/langsmith/server-a2a\",\"description\":null,\"href\":\"/oss/python/deepagents/a2a\"}]}]},{\"tab\":\"LangChain\",\"pages\":[{\"title\":\"LangChain overview\",\"sidebarTitle\":\"Overview\",\"description\":\"LangChain provides create_agent: a minimal, highly configurable agent harness. Compose exactly the agent your use case needs from model, tools, prompt, and middleware.\",\"href\":\"/oss/python/langchain/overview\"},{\"group\":\"Get started\",\"pages\":[{\"title\":\"Install LangChain\",\"sidebarTitle\":\"Install\",\"description\":null,\"href\":\"/oss/python/langchain/install\"},{\"title\":\"Quickstart\",\"description\":\"Build your first agent in minutes\",\"href\":\"/oss/python/langchain/quickstart\"},{\"title\":\"Changelog\",\"url\":\"https://docs.langchain.com/oss/python/releases/changelog\",\"description\":null,\"href\":\"/oss/python/langchain/changelog-py\"},{\"title\":\"Philosophy\",\"description\":\"LangChain exists to be the easiest place to start building with LLMs, while also being flexible and production-ready.\",\"mode\":\"wide\",\"href\":\"/oss/python/langchain/philosophy\"}]},{\"group\":\"Core components\",\"pages\":[{\"title\":\"Agents\",\"description\":null,\"href\":\"/oss/python/langchain/agents\"},{\"title\":\"Models\",\"description\":null,\"href\":\"/oss/python/langchain/models\"},{\"title\":\"Messages\",\"description\":null,\"href\":\"/oss/python/langchain/messages\"},{\"title\":\"Tools\",\"description\":null,\"href\":\"/oss/python/langchain/tools\"},{\"title\":\"Short-term memory\",\"description\":null,\"href\":\"/oss/python/langchain/short-term-memory\"},{\"title\":\"Event streaming\",\"description\":\"Stream real-time updates from LangChain agent runs\",\"href\":\"/oss/python/langchain/event-streaming\"},{\"title\":\"Streaming\",\"description\":\"Stream real-time updates from agent runs\",\"href\":\"/oss/python/langchain/streaming\"},{\"title\":\"Structured output\",\"description\":null,\"href\":\"/oss/python/langchain/structured-output\"}]},{\"group\":\"Middleware\",\"pages\":[{\"title\":\"Overview\",\"description\":\"Control and customize agent execution at every step\",\"href\":\"/oss/python/langchain/middleware/overview\"},{\"title\":\"Prebuilt middleware\",\"description\":\"Prebuilt middleware for common agent use cases\",\"href\":\"/oss/python/langchain/middleware/built-in\"},{\"title\":\"Custom middleware\",\"description\":null,\"href\":\"/oss/python/langchain/middleware/custom\"}]},{\"group\":\"Frontend\",\"pages\":[{\"title\":\"Overview\",\"description\":\"Build generative UIs with real-time streaming from LangChain agents\",\"href\":\"/oss/python/langchain/frontend/overview\"},{\"group\":\"Patterns\",\"pages\":[{\"title\":\"Markdown messages\",\"description\":\"Render LLM responses as rich, formatted markdown with proper streaming support\",\"href\":\"/oss/python/langchain/frontend/markdown-messages\"},{\"title\":\"Tool calling\",\"description\":\"Display agent tool calls with rich, type-safe UI cards\",\"href\":\"/oss/python/langchain/frontend/tool-calling\"},{\"title\":\"Headless tools\",\"description\":\"Run browser and device APIs on the client with headless tool implementations\",\"href\":\"/oss/python/langchain/frontend/headless-tools\"},{\"title\":\"Human-in-the-Loop\",\"description\":\"Add approval workflows with interrupt-based human review\",\"href\":\"/oss/python/langchain/frontend/human-in-the-loop\"},{\"title\":\"Branching chat\",\"description\":\"Edit messages and regenerate responses by forking from checkpoints\",\"href\":\"/oss/python/langchain/frontend/branching-chat\"},{\"title\":\"Reasoning tokens\",\"description\":\"Display model thinking and reasoning processes in collapsible blocks\",\"href\":\"/oss/python/langchain/frontend/reasoning-tokens\"},{\"title\":\"Structured output\",\"description\":\"Render structured agent responses with custom UI components instead of plain text\",\"href\":\"/oss/python/langchain/frontend/structured-output\"},{\"title\":\"Message queues\",\"description\":\"Queue multiple messages and manage them while the agent processes sequentially\",\"href\":\"/oss/python/langchain/frontend/message-queues\"},{\"title\":\"Join \u0026 rejoin streams\",\"description\":\"Disconnect from and reconnect to running agent streams\",\"href\":\"/oss/python/langchain/frontend/join-rejoin\"},{\"title\":\"Time travel\",\"description\":\"Inspect, navigate, and resume from any checkpoint in the conversation history\",\"href\":\"/oss/python/langchain/frontend/time-travel\"},{\"title\":\"Generative UI\",\"description\":\"Render AI-generated user interfaces using json-render\",\"href\":\"/oss/python/langchain/frontend/generative-ui\"}]},{\"group\":\"Integrations\",\"pages\":[{\"title\":\"Overview\",\"description\":\"Connect useStream to any React UI component library or generative UI framework\",\"href\":\"/oss/python/langchain/frontend/integrations/overview\"},{\"title\":\"CopilotKit\",\"description\":\"Use CopilotKit with LangGraph, Deep Agents, and React with custom endpoints, the Python AG-UI bridge, and structured generative UI\",\"href\":\"/oss/python/langchain/frontend/integrations/copilotkit\"},{\"title\":\"AI Elements\",\"description\":\"Composable shadcn/ui-based components for AI chat interfaces with useStream\",\"href\":\"/oss/python/langchain/frontend/integrations/ai-elements\"},{\"title\":\"assistant-ui\",\"description\":\"Headless React AI chat framework with a full runtime layer, bridged to useStream\",\"href\":\"/oss/python/langchain/frontend/integrations/assistant-ui\"},{\"title\":\"OpenUI\",\"description\":\"Generate complete, interactive dashboards and reports using the OpenUI component library and openui-lang\",\"href\":\"/oss/python/langchain/frontend/integrations/openui\"}]}]},{\"group\":\"Advanced usage\",\"pages\":[{\"title\":\"Guardrails\",\"description\":\"Implement safety checks and content filtering for your agents\",\"href\":\"/oss/python/langchain/guardrails\"},{\"title\":\"Runtime\",\"description\":null,\"href\":\"/oss/python/langchain/runtime\"},{\"title\":\"Context engineering in agents\",\"sidebarTitle\":\"Context engineering\",\"description\":null,\"href\":\"/oss/python/langchain/context-engineering\"},{\"title\":\"Model Context Protocol (MCP)\",\"description\":null,\"href\":\"/oss/python/langchain/mcp\"},{\"title\":\"Human-in-the-loop\",\"description\":null,\"href\":\"/oss/python/langchain/human-in-the-loop\"},{\"group\":\"Multi-agent\",\"pages\":[{\"title\":\"Multi-agent\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/oss/python/langchain/multi-agent/index\"},{\"title\":\"Subagents\",\"description\":null,\"href\":\"/oss/python/langchain/multi-agent/subagents\"},{\"title\":\"Handoffs\",\"description\":null,\"href\":\"/oss/python/langchain/multi-agent/handoffs\"},{\"title\":\"Skills\",\"description\":null,\"href\":\"/oss/python/langchain/multi-agent/skills\"},{\"title\":\"Router\",\"description\":null,\"href\":\"/oss/python/langchain/multi-agent/router\"},{\"title\":\"Custom workflow\",\"description\":null,\"href\":\"/oss/python/langchain/multi-agent/custom-workflow\"}]},{\"title\":\"Retrieval\",\"description\":null,\"href\":\"/oss/python/langchain/retrieval\"},{\"title\":\"Long-term memory\",\"description\":\"Add long-term memory to LangChain agents to store and recall data across conversations and sessions\",\"href\":\"/oss/python/langchain/long-term-memory\"}]},{\"group\":\"Agent development\",\"pages\":[{\"title\":\"LangSmith Studio\",\"sidebarTitle\":\"LangSmith Studio\",\"description\":null,\"href\":\"/oss/python/langchain/studio\"},{\"group\":\"Test\",\"pages\":[{\"title\":\"Test\",\"sidebarTitle\":\"Overview\",\"description\":\"Strategies for testing LangChain agents, including unit tests, integration tests, and trajectory evaluations.\",\"href\":\"/oss/python/langchain/test/index\"},{\"title\":\"Unit testing\",\"description\":\"Test agent logic without API calls using fake chat models and in-memory persistence.\",\"href\":\"/oss/python/langchain/test/unit-testing\"},{\"title\":\"Integration testing\",\"description\":\"Test agents with real LLM APIs by organizing tests, managing keys, handling flakiness, and controlling costs.\",\"href\":\"/oss/python/langchain/test/integration-testing\"},{\"title\":\"Agent Evals\",\"description\":\"Evaluate agent trajectories using deterministic matching or LLM-as-judge evaluators with AgentEvals and LangSmith.\",\"href\":\"/oss/python/langchain/test/evals\"}]},{\"title\":\"Agent Chat UI\",\"description\":null,\"href\":\"/oss/python/langchain/ui\"}]},{\"group\":\"Production\",\"pages\":[{\"title\":\"Deployment\",\"description\":\"Deploy LangChain agents to production with LangSmith Cloud or JavaScript frameworks and hosting platforms.\",\"sidebarTitle\":\"Deployment\",\"href\":\"/oss/python/langchain/deploy\"},{\"title\":\"LangSmith Observability\",\"sidebarTitle\":\"Observability\",\"description\":null,\"href\":\"/oss/python/langchain/observability\"}]}]},{\"tab\":\"LangGraph\",\"pages\":[{\"title\":\"LangGraph overview\",\"sidebarTitle\":\"Overview\",\"description\":\"Gain control with LangGraph to design agents that reliably handle complex tasks\",\"href\":\"/oss/python/langgraph/overview\"},{\"group\":\"Get started\",\"pages\":[{\"title\":\"Install LangGraph\",\"sidebarTitle\":\"Install\",\"description\":null,\"href\":\"/oss/python/langgraph/install\"},{\"title\":\"Quickstart\",\"description\":null,\"href\":\"/oss/python/langgraph/quickstart\"},{\"title\":\"Run a local server\",\"sidebarTitle\":\"Local server\",\"description\":null,\"href\":\"/oss/python/langgraph/local-server\"},{\"title\":\"Changelog\",\"url\":\"https://docs.langchain.com/oss/python/releases/changelog\",\"description\":null,\"href\":\"/oss/python/langgraph/changelog-py\"},{\"title\":\"Thinking in LangGraph\",\"description\":\"Learn how to think about building agents with LangGraph\",\"href\":\"/oss/python/langgraph/thinking-in-langgraph\"},{\"title\":\"Workflows and agents\",\"sidebarTitle\":\"Workflows + agents\",\"description\":null,\"href\":\"/oss/python/langgraph/workflows-agents\"}]},{\"group\":\"Capabilities\",\"pages\":[{\"title\":\"Persistence\",\"description\":\"LangGraph's persistence layer gives agents short-term memory through checkpointers and long-term memory through stores.\",\"href\":\"/oss/python/langgraph/persistence\"},{\"title\":\"Checkpointers\",\"description\":\"LangGraph checkpointers save graph state as checkpoints at each step, enabling persistence, human-in-the-loop, and fault-tolerant execution.\",\"href\":\"/oss/python/langgraph/checkpointers\"},{\"title\":\"Stores\",\"description\":\"LangGraph stores provide cross-thread long-term memory, complementing per-thread checkpointer persistence.\",\"href\":\"/oss/python/langgraph/stores\"},{\"title\":\"Fault tolerance\",\"description\":\"Configure per-node timeouts, retries, and error handlers in LangGraph.\",\"href\":\"/oss/python/langgraph/fault-tolerance\"},{\"title\":\"Event streaming\",\"description\":\"Stream LangGraph runs with typed projections for messages, state, subgraphs, output, and extensions.\",\"href\":\"/oss/python/langgraph/event-streaming\"},{\"title\":\"Streaming\",\"description\":null,\"href\":\"/oss/python/langgraph/streaming\"},{\"title\":\"Interrupts\",\"description\":null,\"href\":\"/oss/python/langgraph/interrupts\"},{\"title\":\"Use time-travel\",\"sidebarTitle\":\"Time travel\",\"description\":\"Replay past executions and fork to explore alternative paths in LangGraph\",\"href\":\"/oss/python/langgraph/use-time-travel\"},{\"title\":\"Memory\",\"description\":null,\"href\":\"/oss/python/langgraph/add-memory\"},{\"title\":\"Subgraphs\",\"sidebarTitle\":\"Subgraphs\",\"description\":null,\"href\":\"/oss/python/langgraph/use-subgraphs\"}]},{\"group\":\"Production\",\"pages\":[{\"title\":\"Application structure\",\"description\":null,\"href\":\"/oss/python/langgraph/application-structure\"},{\"title\":\"Test\",\"description\":null,\"href\":\"/oss/python/langgraph/test\"},{\"title\":\"Backward compatibility\",\"description\":\"Update LangGraph graph code in production without breaking in-flight runs.\",\"href\":\"/oss/python/langgraph/backward-compatibility\"},{\"title\":\"LangSmith Studio\",\"description\":null,\"href\":\"/oss/python/langgraph/studio\"},{\"title\":\"Agent Chat UI\",\"description\":null,\"href\":\"/oss/python/langgraph/ui\"},{\"title\":\"Deployment\",\"description\":\"Deploy LangGraph agents to production with LangSmith Cloud or JavaScript frameworks and hosting platforms.\",\"sidebarTitle\":\"Deployment\",\"href\":\"/oss/python/langgraph/deploy\"},{\"title\":\"LangSmith Observability\",\"description\":null,\"href\":\"/oss/python/langgraph/observability\"}]},{\"group\":\"Frontend\",\"pages\":[{\"title\":\"Overview\",\"description\":\"Render LangGraph agents to the frontend\",\"href\":\"/oss/python/langgraph/frontend/overview\"},{\"title\":\"Graph execution\",\"description\":\"Visualize multi-step graph pipelines with per-node status and streaming content\",\"href\":\"/oss/python/langgraph/frontend/graph-execution\"},{\"title\":\"Custom stream channels\",\"description\":\"Stream custom server-side data to the frontend and read it with useExtension and useChannel\",\"href\":\"/oss/python/langgraph/frontend/custom-stream-channels\"}]},{\"group\":\"LangGraph APIs\",\"pages\":[{\"group\":\"Graph API\",\"pages\":[{\"title\":\"Choosing between Graph and Functional APIs\",\"sidebarTitle\":\"Choosing APIs\",\"description\":null,\"href\":\"/oss/python/langgraph/choosing-apis\"},{\"title\":\"Graph API overview\",\"sidebarTitle\":\"Graph API\",\"description\":null,\"href\":\"/oss/python/langgraph/graph-api\"},{\"title\":\"Use the graph API\",\"sidebarTitle\":\"Use the graph API\",\"description\":null,\"href\":\"/oss/python/langgraph/use-graph-api\"}]},{\"group\":\"Functional API\",\"pages\":[{\"title\":\"Functional API overview\",\"sidebarTitle\":\"Functional API\",\"description\":null,\"href\":\"/oss/python/langgraph/functional-api\"},{\"title\":\"Use the functional API\",\"sidebarTitle\":\"Use the Functional API\",\"description\":null,\"href\":\"/oss/python/langgraph/use-functional-api\"}]},{\"title\":\"LangGraph runtime\",\"sidebarTitle\":\"Runtime\",\"description\":null,\"href\":\"/oss/python/langgraph/pregel\"}]},{\"title\":\"Studio\",\"description\":\"Develop, run, and debug LangGraph agents in an interactive environment with LangSmith Studio.\",\"url\":\"https://docs.langchain.com/langsmith/studio\",\"href\":\"/oss/python/studio\"}]},{\"tab\":\"Integrations\",\"pages\":[{\"title\":\"LangChain Python integrations\",\"sidebarTitle\":\"LangChain integrations\",\"mode\":\"wide\",\"description\":\"Integrate with providers using LangChain Python.\",\"href\":\"/oss/python/integrations/providers/overview\"},{\"title\":\"All LangChain Python integration providers\",\"sidebarTitle\":\"All providers\",\"mode\":\"wide\",\"description\":null,\"href\":\"/oss/python/integrations/providers/all_providers\"},{\"group\":\"Popular Providers\",\"icon\":\"users-group\",\"pages\":[{\"title\":\"OpenAI integrations\",\"sidebarTitle\":\"OpenAI\",\"description\":\"Integrate with OpenAI using LangChain Python.\",\"href\":\"/oss/python/integrations/providers/openai\"},{\"title\":\"Anthropic (Claude) integrations\",\"sidebarTitle\":\"Anthropic\",\"description\":\"Integrate with Anthropic (Claude) using LangChain Python.\",\"href\":\"/oss/python/integrations/providers/anthropic\"},{\"title\":\"Google integrations\",\"description\":\"Integrate with Google using LangChain Python.\",\"sidebarTitle\":\"Google\",\"href\":\"/oss/python/integrations/providers/google\"},{\"title\":\"AWS (Amazon) integrations\",\"description\":\"Integrate with AWS (Amazon) using LangChain Python.\",\"sidebarTitle\":\"AWS\",\"href\":\"/oss/python/integrations/providers/aws\"},{\"title\":\"NVIDIA\",\"description\":\"Integrate with NVIDIA using LangChain Python.\",\"href\":\"/oss/python/integrations/providers/nvidia\"},{\"title\":\"Hugging Face integrations\",\"description\":\"Integrate with Hugging Face using LangChain Python.\",\"sidebarTitle\":\"Hugging Face\",\"href\":\"/oss/python/integrations/providers/huggingface\"},{\"title\":\"Microsoft integrations\",\"description\":\"Integrate with Microsoft using LangChain Python.\",\"sidebarTitle\":\"Microsoft\",\"href\":\"/oss/python/integrations/providers/microsoft\"},{\"title\":\"Ollama integrations\",\"description\":\"Integrate with Ollama using LangChain Python.\",\"sidebarTitle\":\"Ollama\",\"href\":\"/oss/python/integrations/providers/ollama\"},{\"title\":\"Groq integrations\",\"description\":\"Integrate with Groq using LangChain Python.\",\"sidebarTitle\":\"Groq\",\"href\":\"/oss/python/integrations/providers/groq\"},{\"title\":\"Fireworks integrations\",\"description\":\"Integrate with Fireworks AI using LangChain Python.\",\"sidebarTitle\":\"Fireworks\",\"href\":\"/oss/python/integrations/providers/fireworks\"}]},{\"group\":\"Integrations by component\",\"icon\":\"plug\",\"pages\":[{\"title\":\"Chat model integrations\",\"sidebarTitle\":\"Chat models\",\"mode\":\"wide\",\"description\":\"Integrate with chat models using LangChain Python.\",\"href\":\"/oss/python/integrations/chat/index\"},{\"title\":\"Tool integrations\",\"sidebarTitle\":\"Tools and toolkits\",\"description\":\"Integrate with tools using LangChain Python.\",\"href\":\"/oss/python/integrations/tools/index\"},{\"title\":\"Middleware integrations\",\"sidebarTitle\":\"Middleware\",\"description\":\"Integrate with middleware using LangChain Python.\",\"href\":\"/oss/python/integrations/middleware/index\"},{\"title\":\"Sandbox integrations\",\"sidebarTitle\":\"Sandboxes\",\"description\":\"Integrate with sandbox providers using LangChain Python.\",\"href\":\"/oss/python/integrations/sandboxes/index\"},{\"title\":\"Backend integrations\",\"sidebarTitle\":\"Backends\",\"description\":\"Community-built filesystem backends for Deep Agents.\",\"href\":\"/oss/python/integrations/backends/index\"},{\"title\":\"Checkpointer integrations\",\"sidebarTitle\":\"Checkpointers\",\"description\":\"Integrate with checkpointer backends for LangGraph persistence.\",\"href\":\"/oss/python/integrations/checkpointers/index\"},{\"title\":\"Retriever integrations\",\"sidebarTitle\":\"Retrievers\",\"description\":\"Integrate with retrievers using LangChain Python.\",\"href\":\"/oss/python/integrations/retrievers/index\"},{\"title\":\"Text splitter integrations\",\"sidebarTitle\":\"Text splitters\",\"description\":\"Integrate with text splitters using LangChain.\",\"href\":\"/oss/python/integrations/splitters/index\"},{\"title\":\"Embedding model integrations\",\"sidebarTitle\":\"Embedding models\",\"description\":\"Integrate with embedding models using LangChain Python.\",\"href\":\"/oss/python/integrations/embeddings/index\"},{\"title\":\"Vector store integrations\",\"sidebarTitle\":\"Vector stores\",\"description\":\"Integrate with vector stores using LangChain Python.\",\"href\":\"/oss/python/integrations/vectorstores/index\"},{\"title\":\"Document loader integrations\",\"sidebar_position\":0,\"sidebarTitle\":\"Document loaders\",\"description\":\"Integrate with document loaders using LangChain Python.\",\"href\":\"/oss/python/integrations/document_loaders/index\"}]}]},{\"tab\":\"Learn\",\"pages\":[{\"title\":\"Learn\",\"description\":\"Tutorials, conceptual guides, and resources to help you get started.\",\"href\":\"/oss/python/learn\"},{\"group\":\"Tutorials\",\"icon\":\"code\",\"pages\":[{\"group\":\"Deep Agents\",\"expanded\":true,\"pages\":[{\"title\":\"Build a data analysis agent\",\"sidebarTitle\":\"Data Analysis\",\"description\":\"Build an agent that analyzes data files, generates visualizations, and shares results\",\"href\":\"/oss/python/deepagents/data-analysis\"},{\"title\":\"Build a deep research agent\",\"sidebarTitle\":\"Deep Research\",\"description\":\"Build a multi-step web research agent with subagent delegation\",\"href\":\"/oss/python/deepagents/deep-research\"},{\"title\":\"Build a content builder agent\",\"sidebarTitle\":\"Content Builder\",\"description\":\"Build a content writing agent with brand memory, skills, subagents, and image generation\",\"href\":\"/oss/python/deepagents/content-builder\"},{\"title\":\"RAG with Deep Agents\",\"sidebarTitle\":\"RAG\",\"description\":\"RAG patterns for Deep Agents, including skills-guided retrieval, rubric grading, and a tutorial that indexes LangChain docs, offloads chunks to the filesystem, and delegates analysis to subagents\",\"href\":\"/oss/python/deepagents/rag\"}]},{\"group\":\"LangChain\",\"expanded\":true,\"pages\":[{\"title\":\"Build a data analysis agent from scratch\",\"sidebarTitle\":\"Deep Agent\",\"description\":\"Build a data analysis agent step by step using create_agent and Deep Agents middleware.\",\"href\":\"/oss/python/langchain/deep-agent-from-scratch\"},{\"title\":\"Build a semantic search engine with LangChain\",\"sidebarTitle\":\"Semantic search\",\"description\":null,\"href\":\"/oss/python/langchain/knowledge-base\"},{\"title\":\"Build a SQL agent\",\"sidebarTitle\":\"SQL agent\",\"description\":null,\"href\":\"/oss/python/langchain/sql-agent\"},{\"title\":\"Build a voice agent with LangChain\",\"sidebarTitle\":\"Voice agent\",\"description\":null,\"href\":\"/oss/python/langchain/voice-agent\"}]},{\"group\":\"Multi-agent\",\"expanded\":true,\"pages\":[{\"title\":\"Build a personal assistant with subagents\",\"sidebarTitle\":\"Subagents: Personal assistant\",\"description\":null,\"href\":\"/oss/python/langchain/multi-agent/subagents-personal-assistant\"},{\"title\":\"Build customer support with handoffs\",\"sidebarTitle\":\"Handoffs: Customer support\",\"description\":null,\"href\":\"/oss/python/langchain/multi-agent/handoffs-customer-support\"},{\"title\":\"Build a multi-source knowledge base with routing\",\"sidebarTitle\":\"Router: Knowledge base\",\"description\":null,\"href\":\"/oss/python/langchain/multi-agent/router-knowledge-base\"},{\"title\":\"Build a SQL assistant with on-demand skills\",\"sidebarTitle\":\"Skills: SQL assistant\",\"description\":null,\"href\":\"/oss/python/langchain/multi-agent/skills-sql-assistant\"}]},{\"group\":\"LangGraph\",\"expanded\":true,\"pages\":[{\"title\":\"Build a custom RAG agent with LangGraph\",\"sidebarTitle\":\"Custom RAG agent\",\"description\":null,\"href\":\"/oss/python/langgraph/agentic-rag\"},{\"title\":\"Build a custom SQL agent\",\"sidebarTitle\":\"Custom SQL agent\",\"description\":null,\"href\":\"/oss/python/langgraph/sql-agent\"}]}]},{\"group\":\"Conceptual overviews\",\"icon\":\"book\",\"pages\":[{\"title\":\"Frameworks, runtimes, and harnesses\",\"sidebarTitle\":\"LangChain vs. LangGraph vs. Deep Agents\",\"description\":\"Understand the differences between LangChain, LangGraph, and Deep Agents and when to use each one\",\"href\":\"/oss/python/concepts/products\"},{\"title\":\"Providers and models\",\"description\":\"Understand how LangChain uses providers to give you a single API for any model from any provider\",\"href\":\"/oss/python/concepts/providers-and-models\"},{\"title\":\"Component architecture\",\"description\":null,\"href\":\"/oss/python/langchain/component-architecture\"},{\"title\":\"Memory overview\",\"sidebarTitle\":\"Memory\",\"description\":null,\"href\":\"/oss/python/concepts/memory\"},{\"title\":\"Context overview\",\"sidebarTitle\":\"Context\",\"description\":null,\"href\":\"/oss/python/concepts/context\"},{\"title\":\"Graph API overview\",\"sidebarTitle\":\"Graph API\",\"description\":null,\"href\":\"/oss/python/langgraph/graph-api\"},{\"title\":\"Functional API overview\",\"sidebarTitle\":\"Functional API\",\"description\":null,\"href\":\"/oss/python/langgraph/functional-api\"}]},{\"group\":\"Additional resources\",\"icon\":\"list\",\"pages\":[{\"title\":\"LangChain Academy\",\"url\":\"https://academy.langchain.com/\",\"description\":null,\"href\":\"/oss/python/langchain/academy\"},{\"title\":\"Case studies\",\"description\":null,\"href\":\"/oss/python/langgraph/case-studies\"},{\"title\":\"Get help\",\"description\":null,\"href\":\"/oss/python/langchain/get-help\"}]}]},{\"tab\":\"Reference\",\"pages\":[{\"title\":\"Reference\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/oss/python/reference/overview\"},{\"group\":\"Reference\",\"pages\":[{\"title\":\"Deep Agents\",\"url\":\"https://reference.langchain.com/python/deepagents\",\"description\":null,\"href\":\"/oss/python/reference/deepagents-python\"},{\"title\":\"LangChain SDK\",\"url\":\"https://reference.langchain.com/python/langchain\",\"description\":null,\"href\":\"/oss/python/reference/langchain-python\"},{\"title\":\"LangGraph SDK\",\"url\":\"https://reference.langchain.com/python/langgraph\",\"description\":null,\"href\":\"/oss/python/reference/langgraph-python\"},{\"title\":\"Integrations\",\"url\":\"https://reference.langchain.com/python/integrations/overview\",\"description\":null,\"href\":\"/oss/python/reference/integrations-python\"},{\"title\":\"Errors\",\"sidebarTitle\":\"Errors\",\"description\":null,\"href\":\"/oss/python/common-errors\"}]},{\"group\":\"Releases\",\"pages\":[{\"title\":\"Versioning\",\"description\":null,\"href\":\"/oss/python/versioning\"},{\"title\":\"Changelog\",\"sidebarTitle\":\"Changelog\",\"description\":\"Log of updates and improvements to our Python packages\",\"rss\":true,\"href\":\"/oss/python/releases/changelog\"},{\"group\":\"Releases\",\"pages\":[{\"title\":\"What's new in LangChain v1\",\"sidebarTitle\":\"LangChain v1\",\"description\":null,\"href\":\"/oss/python/releases/langchain-v1\"},{\"title\":\"What's new in LangGraph v1\",\"sidebarTitle\":\"LangGraph v1\",\"description\":null,\"href\":\"/oss/python/releases/langgraph-v1\"}]},{\"group\":\"Migration guides\",\"pages\":[{\"title\":\"LangChain v1 migration guide\",\"sidebarTitle\":\"LangChain v1\",\"description\":null,\"href\":\"/oss/python/migrate/langchain-v1\"},{\"title\":\"LangGraph v1 migration guide\",\"sidebarTitle\":\"LangGraph v1\",\"description\":null,\"href\":\"/oss/python/migrate/langgraph-v1\"},{\"title\":\"Migrate from langgraph-supervisor\",\"sidebarTitle\":\"langgraph-supervisor\",\"description\":\"Migrate from the langgraph-supervisor package to the subagents pattern with create_agent and tool-wrapped subagents.\",\"href\":\"/oss/python/migrate/langgraph-supervisor\"}]}]},{\"group\":\"Policies\",\"pages\":[{\"title\":\"Release policy\",\"description\":null,\"href\":\"/oss/python/release-policy\"},{\"title\":\"Security policy\",\"sidebarTitle\":\"Security\",\"description\":null,\"href\":\"/oss/python/security-policy\"}]}]},{\"tab\":\"Contribute\",\"pages\":[{\"title\":\"Contributing\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/oss/python/contributing/overview\"},{\"group\":\"Contribute\",\"icon\":\"heart-plus\",\"pages\":[{\"title\":\"Contributing to documentation\",\"sidebarTitle\":\"Documentation\",\"description\":null,\"href\":\"/oss/python/contributing/documentation\"},{\"title\":\"Contributing to code\",\"sidebarTitle\":\"Code\",\"description\":null,\"href\":\"/oss/python/contributing/code\"},{\"group\":\"Integrations\",\"pages\":[{\"title\":\"Contributing integrations\",\"sidebarTitle\":\"Guide\",\"description\":null,\"href\":\"/oss/python/contributing/integrations-langchain\"},{\"title\":\"Implement a LangChain integration\",\"sidebarTitle\":\"Implement\",\"description\":null,\"href\":\"/oss/python/contributing/implement-langchain\"},{\"title\":\"Using standard tests\",\"sidebarTitle\":\"Standard tests\",\"description\":null,\"href\":\"/oss/python/contributing/standard-tests-langchain\"},{\"title\":\"Publish an integration\",\"sidebarTitle\":\"Publish\",\"description\":null,\"href\":\"/oss/python/contributing/publish-langchain\"},{\"title\":\"Co-marketing\",\"description\":null,\"href\":\"/oss/python/contributing/comarketing\"}]}]}]}]},{\"dropdown\":\"TypeScript\",\"icon\":{\"style\":\"regular\",\"name\":\"brand-typescript\"},\"tabs\":[{\"tab\":\"Overview\",\"pages\":[{\"title\":\"Build\",\"sidebarTitle\":\"Overview\",\"mode\":\"custom\",\"description\":\"Build agents with LangChain, LangGraph, and Deep Agents.\",\"icon\":\"hammer\",\"href\":\"/build-overview\"}]},{\"tab\":\"Deep Agents\",\"pages\":[{\"title\":\"Deep Agents overview\",\"sidebarTitle\":\"Overview\",\"description\":\"Build agents that can plan, use subagents, and leverage file systems for complex tasks\",\"href\":\"/oss/javascript/deepagents/overview\"},{\"group\":\"Get started\",\"pages\":[{\"title\":\"Quickstart\",\"description\":\"Build your first deep agent in minutes\",\"href\":\"/oss/javascript/deepagents/quickstart\"},{\"title\":\"Customize Deep Agents\",\"sidebarTitle\":\"Customization\",\"description\":\"Learn how to customize Deep Agents with system prompts, tools, subagents, and more\",\"href\":\"/oss/javascript/deepagents/customization\"},{\"title\":\"Models\",\"description\":\"Configure model providers and parameters for Deep Agents\",\"href\":\"/oss/javascript/deepagents/models\"},{\"title\":\"Comparison with Claude Agent SDK\",\"sidebarTitle\":\"Comparison with Claude Agent SDK\",\"description\":\"Compare LangChain Deep Agents with the Claude Agent SDK to choose the right tool for your use case.\",\"href\":\"/oss/javascript/deepagents/comparison\"},{\"title\":\"Deep Agents Code\",\"sidebarTitle\":\"Deep Agents Code\",\"description\":\"Terminal coding agent built on the Deep Agents SDK\",\"url\":\"/oss/javascript/deepagents/code/overview\",\"href\":\"/oss/javascript/deepagents/code-link\"},{\"title\":\"Changelog\",\"url\":\"https://docs.langchain.com/oss/javascript/releases/changelog\",\"description\":null,\"href\":\"/oss/javascript/deepagents/changelog-js\"}]},{\"group\":\"Deployment\",\"pages\":[{\"title\":\"Managed Deep Agents\",\"sidebarTitle\":\"Managed Deep Agents\",\"tag\":\"BETA\",\"url\":\"/langsmith/managed-deep-agents-overview\",\"description\":null,\"href\":\"/langsmith/managed-deep-agents\"},{\"group\":\"Going to production\",\"root\":{\"title\":\"Going to production\",\"description\":\"Take your deep agent to production with persistent memory, sandboxes, resilience middleware, and deployment options\",\"href\":\"/oss/javascript/deepagents/going-to-production\"},\"pages\":[{\"title\":\"Fault tolerance\",\"description\":\"Make your deep agent resilient with rate limiting, retries, fallbacks, and error handling\",\"href\":\"/oss/javascript/deepagents/fault-tolerance\"}]}]},{\"group\":\"Execution environment\",\"expanded\":true,\"pages\":[{\"title\":\"Tools\",\"description\":\"Connect Deep Agents to custom functions, APIs, databases, and any MCP server\",\"href\":\"/oss/javascript/deepagents/tools\"},{\"title\":\"Backends\",\"description\":\"Choose and configure filesystem backends for Deep Agents. You can specify routes to different backends, implement virtual filesystems, and enforce policies.\",\"href\":\"/oss/javascript/deepagents/backends\"},{\"title\":\"Permissions\",\"description\":\"Control filesystem access with declarative permission rules for Deep Agents\",\"href\":\"/oss/javascript/deepagents/permissions\"},{\"title\":\"Multimodal inputs and outputs\",\"sidebarTitle\":\"Multimodality\",\"description\":\"Use images, audio, video, and documents with Deep Agents when your model supports multimodal inputs and tool results\",\"href\":\"/oss/javascript/deepagents/multimodal\"},{\"title\":\"Sandboxes\",\"sidebarTitle\":\"Sandboxes\",\"description\":\"Execute code in isolated environments with sandbox backends\",\"href\":\"/oss/javascript/deepagents/sandboxes\"},{\"group\":\"Interpreters\",\"root\":{\"title\":\"Interpreters\",\"description\":\"Run lightweight code inside Deep Agents to compose tools, orchestrate subagents, and transform structured data\",\"tag\":\"Beta\",\"href\":\"/oss/javascript/deepagents/interpreters\"},\"tag\":\"Beta\",\"expanded\":true,\"pages\":[{\"title\":\"Dynamic subagents\",\"description\":\"Use interpreters to dispatch and orchestrate Deep Agents subagents from code\",\"tag\":\"Beta\",\"href\":\"/oss/javascript/deepagents/dynamic-subagents\"}]},{\"title\":\"Event streaming\",\"description\":\"Stream subagents, messages, tool calls, and final output from Deep Agents.\",\"tag\":\"Beta\",\"href\":\"/oss/javascript/deepagents/event-streaming\"},{\"title\":\"Streaming\",\"description\":\"Stream real-time updates from deep agent runs and subagent execution\",\"href\":\"/oss/javascript/deepagents/streaming\"}]},{\"group\":\"Context management\",\"expanded\":true,\"pages\":[{\"title\":\"Skills\",\"description\":\"Learn how to extend your deep agent's capabilities with skills\",\"href\":\"/oss/javascript/deepagents/skills\"},{\"title\":\"Memory\",\"description\":\"Add persistent memory to agents built with Deep Agents so they learn and improve across conversations\",\"href\":\"/oss/javascript/deepagents/memory\"},{\"title\":\"Context engineering in Deep Agents\",\"sidebarTitle\":\"Context engineering\",\"description\":\"Control what context your deep agent has access to and how it is managed across long-running tasks\",\"href\":\"/oss/javascript/deepagents/context-engineering\"},{\"title\":\"Profiles\",\"description\":\"Package per-provider and per-model defaults that Deep Agents applies when a model is selected\",\"tag\":\"Beta\",\"href\":\"/oss/javascript/deepagents/profiles\"}]},{\"group\":\"Delegation\",\"expanded\":true,\"pages\":[{\"title\":\"Subagents\",\"description\":\"Learn how to use subagents to delegate work and keep context clean\",\"href\":\"/oss/javascript/deepagents/subagents\"},{\"title\":\"Async subagents\",\"description\":\"Launch background subagents that run concurrently while the supervisor continues interacting with the user\",\"href\":\"/oss/javascript/deepagents/async-subagents\"}]},{\"group\":\"Steering\",\"expanded\":true,\"pages\":[{\"title\":\"Human-in-the-loop\",\"description\":\"Learn how to configure human approval for sensitive tool operations\",\"href\":\"/oss/javascript/deepagents/human-in-the-loop\"}]},{\"group\":\"Frontend\",\"pages\":[{\"title\":\"Overview\",\"description\":\"Build UIs that display real-time subagent streams, task progress, and sandbox for Deep Agents\",\"href\":\"/oss/javascript/deepagents/frontend/overview\"},{\"group\":\"Patterns\",\"pages\":[{\"title\":\"Subagent streaming\",\"description\":\"Display specialist subagents with streaming content, progress tracking, and collapsible cards\",\"href\":\"/oss/javascript/deepagents/frontend/subagent-streaming\"},{\"title\":\"Todo list\",\"description\":\"Track agent progress with a real-time todo list synced from agent state\",\"href\":\"/oss/javascript/deepagents/frontend/todo-list\"},{\"title\":\"Sandbox\",\"description\":\"Build an IDE-like UI for a coding agent backed by a sandbox environment\",\"href\":\"/oss/javascript/deepagents/frontend/sandbox\"}]}]},{\"group\":\"Protocols\",\"pages\":[{\"title\":\"Agent Client Protocol (ACP)\",\"description\":\"Expose Deep Agents over the Agent Client Protocol (ACP) to integrate with code editors and IDEs.\",\"href\":\"/oss/javascript/deepagents/acp\"},{\"title\":\"Model Context Protocol\",\"sidebarTitle\":\"MCP with LangChain\",\"url\":\"/oss/javascript/langchain/mcp\",\"description\":null,\"href\":\"/oss/javascript/deepagents/mcp\"},{\"title\":\"A2A server\",\"sidebarTitle\":\"A2A with LangSmith\",\"url\":\"/langsmith/server-a2a\",\"description\":null,\"href\":\"/oss/javascript/deepagents/a2a\"}]}]},{\"tab\":\"LangChain\",\"pages\":[{\"title\":\"LangChain overview\",\"sidebarTitle\":\"Overview\",\"description\":\"LangChain provides create_agent: a minimal, highly configurable agent harness. Compose exactly the agent your use case needs from model, tools, prompt, and middleware.\",\"href\":\"/oss/javascript/langchain/overview\"},{\"group\":\"Get started\",\"pages\":[{\"title\":\"Install LangChain\",\"sidebarTitle\":\"Install\",\"description\":null,\"href\":\"/oss/javascript/langchain/install\"},{\"title\":\"Quickstart\",\"description\":\"Build your first agent in minutes\",\"href\":\"/oss/javascript/langchain/quickstart\"},{\"title\":\"Changelog\",\"url\":\"https://docs.langchain.com/oss/javascript/releases/changelog\",\"description\":null,\"href\":\"/oss/javascript/langchain/changelog-js\"},{\"title\":\"Philosophy\",\"description\":\"LangChain exists to be the easiest place to start building with LLMs, while also being flexible and production-ready.\",\"mode\":\"wide\",\"href\":\"/oss/javascript/langchain/philosophy\"}]},{\"group\":\"Core components\",\"pages\":[{\"title\":\"Agents\",\"description\":null,\"href\":\"/oss/javascript/langchain/agents\"},{\"title\":\"Models\",\"description\":null,\"href\":\"/oss/javascript/langchain/models\"},{\"title\":\"Messages\",\"description\":null,\"href\":\"/oss/javascript/langchain/messages\"},{\"title\":\"Tools\",\"description\":null,\"href\":\"/oss/javascript/langchain/tools\"},{\"title\":\"Short-term memory\",\"description\":null,\"href\":\"/oss/javascript/langchain/short-term-memory\"},{\"title\":\"Event streaming\",\"description\":\"Stream real-time updates from LangChain agent runs\",\"href\":\"/oss/javascript/langchain/event-streaming\"},{\"title\":\"Streaming\",\"description\":\"Stream real-time updates from agent runs\",\"href\":\"/oss/javascript/langchain/streaming\"},{\"title\":\"Structured output\",\"description\":null,\"href\":\"/oss/javascript/langchain/structured-output\"}]},{\"group\":\"Middleware\",\"pages\":[{\"title\":\"Overview\",\"description\":\"Control and customize agent execution at every step\",\"href\":\"/oss/javascript/langchain/middleware/overview\"},{\"title\":\"Prebuilt middleware\",\"description\":\"Prebuilt middleware for common agent use cases\",\"href\":\"/oss/javascript/langchain/middleware/built-in\"},{\"title\":\"Custom middleware\",\"description\":null,\"href\":\"/oss/javascript/langchain/middleware/custom\"}]},{\"group\":\"Frontend\",\"pages\":[{\"title\":\"Overview\",\"description\":\"Build generative UIs with real-time streaming from LangChain agents\",\"href\":\"/oss/javascript/langchain/frontend/overview\"},{\"group\":\"Patterns\",\"pages\":[{\"title\":\"Markdown messages\",\"description\":\"Render LLM responses as rich, formatted markdown with proper streaming support\",\"href\":\"/oss/javascript/langchain/frontend/markdown-messages\"},{\"title\":\"Tool calling\",\"description\":\"Display agent tool calls with rich, type-safe UI cards\",\"href\":\"/oss/javascript/langchain/frontend/tool-calling\"},{\"title\":\"Headless tools\",\"description\":\"Run browser and device APIs on the client with headless tool implementations\",\"href\":\"/oss/javascript/langchain/frontend/headless-tools\"},{\"title\":\"Human-in-the-Loop\",\"description\":\"Add approval workflows with interrupt-based human review\",\"href\":\"/oss/javascript/langchain/frontend/human-in-the-loop\"},{\"title\":\"Branching chat\",\"description\":\"Edit messages and regenerate responses by forking from checkpoints\",\"href\":\"/oss/javascript/langchain/frontend/branching-chat\"},{\"title\":\"Reasoning tokens\",\"description\":\"Display model thinking and reasoning processes in collapsible blocks\",\"href\":\"/oss/javascript/langchain/frontend/reasoning-tokens\"},{\"title\":\"Structured output\",\"description\":\"Render structured agent responses with custom UI components instead of plain text\",\"href\":\"/oss/javascript/langchain/frontend/structured-output\"},{\"title\":\"Message queues\",\"description\":\"Queue multiple messages and manage them while the agent processes sequentially\",\"href\":\"/oss/javascript/langchain/frontend/message-queues\"},{\"title\":\"Join \u0026 rejoin streams\",\"description\":\"Disconnect from and reconnect to running agent streams\",\"href\":\"/oss/javascript/langchain/frontend/join-rejoin\"},{\"title\":\"Time travel\",\"description\":\"Inspect, navigate, and resume from any checkpoint in the conversation history\",\"href\":\"/oss/javascript/langchain/frontend/time-travel\"},{\"title\":\"Generative UI\",\"description\":\"Render AI-generated user interfaces using json-render\",\"href\":\"/oss/javascript/langchain/frontend/generative-ui\"}]},{\"group\":\"Integrations\",\"pages\":[{\"title\":\"Overview\",\"description\":\"Connect useStream to any React UI component library or generative UI framework\",\"href\":\"/oss/javascript/langchain/frontend/integrations/overview\"},{\"title\":\"CopilotKit\",\"description\":\"Use CopilotKit with LangGraph, Deep Agents, and React with custom endpoints, the Python AG-UI bridge, and structured generative UI\",\"href\":\"/oss/javascript/langchain/frontend/integrations/copilotkit\"},{\"title\":\"AI Elements\",\"description\":\"Composable shadcn/ui-based components for AI chat interfaces with useStream\",\"href\":\"/oss/javascript/langchain/frontend/integrations/ai-elements\"},{\"title\":\"assistant-ui\",\"description\":\"Headless React AI chat framework with a full runtime layer, bridged to useStream\",\"href\":\"/oss/javascript/langchain/frontend/integrations/assistant-ui\"},{\"title\":\"OpenUI\",\"description\":\"Generate complete, interactive dashboards and reports using the OpenUI component library and openui-lang\",\"href\":\"/oss/javascript/langchain/frontend/integrations/openui\"}]}]},{\"group\":\"Advanced usage\",\"pages\":[{\"title\":\"Guardrails\",\"description\":\"Implement safety checks and content filtering for your agents\",\"href\":\"/oss/javascript/langchain/guardrails\"},{\"title\":\"Runtime\",\"description\":null,\"href\":\"/oss/javascript/langchain/runtime\"},{\"title\":\"Context engineering in agents\",\"sidebarTitle\":\"Context engineering\",\"description\":null,\"href\":\"/oss/javascript/langchain/context-engineering\"},{\"title\":\"Model Context Protocol (MCP)\",\"description\":null,\"href\":\"/oss/javascript/langchain/mcp\"},{\"title\":\"Human-in-the-loop\",\"description\":null,\"href\":\"/oss/javascript/langchain/human-in-the-loop\"},{\"group\":\"Multi-agent\",\"pages\":[{\"title\":\"Multi-agent\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/oss/javascript/langchain/multi-agent/index\"},{\"title\":\"Subagents\",\"description\":null,\"href\":\"/oss/javascript/langchain/multi-agent/subagents\"},{\"title\":\"Handoffs\",\"description\":null,\"href\":\"/oss/javascript/langchain/multi-agent/handoffs\"},{\"title\":\"Skills\",\"description\":null,\"href\":\"/oss/javascript/langchain/multi-agent/skills\"},{\"title\":\"Router\",\"description\":null,\"href\":\"/oss/javascript/langchain/multi-agent/router\"},{\"title\":\"Custom workflow\",\"description\":null,\"href\":\"/oss/javascript/langchain/multi-agent/custom-workflow\"}]},{\"title\":\"Retrieval\",\"description\":null,\"href\":\"/oss/javascript/langchain/retrieval\"},{\"title\":\"Long-term memory\",\"description\":\"Add long-term memory to LangChain agents to store and recall data across conversations and sessions\",\"href\":\"/oss/javascript/langchain/long-term-memory\"}]},{\"group\":\"Agent development\",\"pages\":[{\"title\":\"LangSmith Studio\",\"sidebarTitle\":\"LangSmith Studio\",\"description\":null,\"href\":\"/oss/javascript/langchain/studio\"},{\"group\":\"Test\",\"pages\":[{\"title\":\"Test\",\"sidebarTitle\":\"Overview\",\"description\":\"Strategies for testing LangChain agents, including unit tests, integration tests, and trajectory evaluations.\",\"href\":\"/oss/javascript/langchain/test/index\"},{\"title\":\"Unit testing\",\"description\":\"Test agent logic without API calls using fake chat models and in-memory persistence.\",\"href\":\"/oss/javascript/langchain/test/unit-testing\"},{\"title\":\"Integration testing\",\"description\":\"Test agents with real LLM APIs by organizing tests, managing keys, handling flakiness, and controlling costs.\",\"href\":\"/oss/javascript/langchain/test/integration-testing\"},{\"title\":\"Agent Evals\",\"description\":\"Evaluate agent trajectories using deterministic matching or LLM-as-judge evaluators with AgentEvals and LangSmith.\",\"href\":\"/oss/javascript/langchain/test/evals\"}]},{\"title\":\"Agent Chat UI\",\"description\":null,\"href\":\"/oss/javascript/langchain/ui\"}]},{\"group\":\"Production\",\"pages\":[{\"title\":\"Deployment\",\"description\":\"Deploy LangChain agents to production with LangSmith Cloud or JavaScript frameworks and hosting platforms.\",\"sidebarTitle\":\"Deployment\",\"href\":\"/oss/javascript/langchain/deploy\"},{\"title\":\"LangSmith Observability\",\"sidebarTitle\":\"Observability\",\"description\":null,\"href\":\"/oss/javascript/langchain/observability\"}]}]},{\"tab\":\"LangGraph\",\"pages\":[{\"title\":\"LangGraph overview\",\"sidebarTitle\":\"Overview\",\"description\":\"Gain control with LangGraph to design agents that reliably handle complex tasks\",\"href\":\"/oss/javascript/langgraph/overview\"},{\"group\":\"Get started\",\"pages\":[{\"title\":\"Install LangGraph\",\"sidebarTitle\":\"Install\",\"description\":null,\"href\":\"/oss/javascript/langgraph/install\"},{\"title\":\"Quickstart\",\"description\":null,\"href\":\"/oss/javascript/langgraph/quickstart\"},{\"title\":\"Run a local server\",\"sidebarTitle\":\"Local server\",\"description\":null,\"href\":\"/oss/javascript/langgraph/local-server\"},{\"title\":\"Changelog\",\"url\":\"https://docs.langchain.com/oss/javascript/releases/changelog\",\"description\":null,\"href\":\"/oss/javascript/langgraph/changelog-js\"},{\"title\":\"Thinking in LangGraph\",\"description\":\"Learn how to think about building agents with LangGraph\",\"href\":\"/oss/javascript/langgraph/thinking-in-langgraph\"},{\"title\":\"Workflows and agents\",\"sidebarTitle\":\"Workflows + agents\",\"description\":null,\"href\":\"/oss/javascript/langgraph/workflows-agents\"}]},{\"group\":\"Capabilities\",\"pages\":[{\"title\":\"Persistence\",\"description\":\"LangGraph's persistence layer gives agents short-term memory through checkpointers and long-term memory through stores.\",\"href\":\"/oss/javascript/langgraph/persistence\"},{\"title\":\"Fault tolerance\",\"description\":\"Configure per-node timeouts, retries, and error handlers in LangGraph.\",\"href\":\"/oss/javascript/langgraph/fault-tolerance\"},{\"title\":\"Checkpointers\",\"description\":\"LangGraph checkpointers save graph state as checkpoints at each step, enabling persistence, human-in-the-loop, and fault-tolerant execution.\",\"href\":\"/oss/javascript/langgraph/checkpointers\"},{\"title\":\"Stores\",\"description\":\"LangGraph stores provide cross-thread long-term memory, complementing per-thread checkpointer persistence.\",\"href\":\"/oss/javascript/langgraph/stores\"},{\"title\":\"Event streaming\",\"description\":\"Stream LangGraph runs with typed projections for messages, state, subgraphs, output, and extensions.\",\"href\":\"/oss/javascript/langgraph/event-streaming\"},{\"title\":\"Streaming\",\"description\":null,\"href\":\"/oss/javascript/langgraph/streaming\"},{\"title\":\"Interrupts\",\"description\":null,\"href\":\"/oss/javascript/langgraph/interrupts\"},{\"title\":\"Use time-travel\",\"sidebarTitle\":\"Time travel\",\"description\":\"Replay past executions and fork to explore alternative paths in LangGraph\",\"href\":\"/oss/javascript/langgraph/use-time-travel\"},{\"title\":\"Memory\",\"description\":null,\"href\":\"/oss/javascript/langgraph/add-memory\"},{\"title\":\"Subgraphs\",\"sidebarTitle\":\"Subgraphs\",\"description\":null,\"href\":\"/oss/javascript/langgraph/use-subgraphs\"}]},{\"group\":\"Production\",\"pages\":[{\"title\":\"Application structure\",\"description\":null,\"href\":\"/oss/javascript/langgraph/application-structure\"},{\"title\":\"Test\",\"description\":null,\"href\":\"/oss/javascript/langgraph/test\"},{\"title\":\"Backward compatibility\",\"description\":\"Update LangGraph graph code in production without breaking in-flight runs.\",\"href\":\"/oss/javascript/langgraph/backward-compatibility\"},{\"title\":\"LangSmith Studio\",\"description\":null,\"href\":\"/oss/javascript/langgraph/studio\"},{\"title\":\"Agent Chat UI\",\"description\":null,\"href\":\"/oss/javascript/langgraph/ui\"},{\"title\":\"Deployment\",\"description\":\"Deploy LangGraph agents to production with LangSmith Cloud or JavaScript frameworks and hosting platforms.\",\"sidebarTitle\":\"Deployment\",\"href\":\"/oss/javascript/langgraph/deploy\"},{\"title\":\"LangSmith Observability\",\"description\":null,\"href\":\"/oss/javascript/langgraph/observability\"}]},{\"group\":\"Frontend\",\"pages\":[{\"title\":\"Overview\",\"description\":\"Render LangGraph agents to the frontend\",\"href\":\"/oss/javascript/langgraph/frontend/overview\"},{\"title\":\"Graph execution\",\"description\":\"Visualize multi-step graph pipelines with per-node status and streaming content\",\"href\":\"/oss/javascript/langgraph/frontend/graph-execution\"},{\"title\":\"Custom stream channels\",\"description\":\"Stream custom server-side data to the frontend and read it with useExtension and useChannel\",\"href\":\"/oss/javascript/langgraph/frontend/custom-stream-channels\"}]},{\"group\":\"LangGraph APIs\",\"pages\":[{\"group\":\"Graph API\",\"pages\":[{\"title\":\"Choosing between Graph and Functional APIs\",\"sidebarTitle\":\"Choosing APIs\",\"description\":null,\"href\":\"/oss/javascript/langgraph/choosing-apis\"},{\"title\":\"Graph API overview\",\"sidebarTitle\":\"Graph API\",\"description\":null,\"href\":\"/oss/javascript/langgraph/graph-api\"},{\"title\":\"Use the graph API\",\"sidebarTitle\":\"Use the graph API\",\"description\":null,\"href\":\"/oss/javascript/langgraph/use-graph-api\"}]},{\"group\":\"Functional API\",\"pages\":[{\"title\":\"Functional API overview\",\"sidebarTitle\":\"Functional API\",\"description\":null,\"href\":\"/oss/javascript/langgraph/functional-api\"},{\"title\":\"Use the functional API\",\"sidebarTitle\":\"Use the Functional API\",\"description\":null,\"href\":\"/oss/javascript/langgraph/use-functional-api\"}]},{\"title\":\"LangGraph runtime\",\"sidebarTitle\":\"Runtime\",\"description\":null,\"href\":\"/oss/javascript/langgraph/pregel\"}]},{\"title\":\"Studio\",\"description\":\"Develop, run, and debug LangGraph agents in an interactive environment with LangSmith Studio.\",\"url\":\"https://docs.langchain.com/langsmith/studio\",\"href\":\"/oss/javascript/studio\"}]},{\"tab\":\"Integrations\",\"pages\":[{\"title\":\"LangChain JavaScript integrations\",\"sidebarTitle\":\"Overview\",\"mode\":\"wide\",\"description\":\"Integrate with providers using LangChain JavaScript/TypeScript.\",\"href\":\"/oss/javascript/integrations/providers/overview\"},{\"title\":\"All LangChain JavaScript integration providers\",\"sidebarTitle\":\"All providers\",\"mode\":\"wide\",\"description\":null,\"href\":\"/oss/javascript/integrations/providers/all_providers\"},{\"group\":\"Popular Providers\",\"icon\":\"users-group\",\"pages\":[{\"group\":\"OpenAI\",\"pages\":[{\"title\":\"OpenAI integrations\",\"sidebarTitle\":\"Overview\",\"description\":\"Integrate with OpenAI using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/providers/openai\"},{\"title\":\"ChatOpenAI integration\",\"sidebarTitle\":\"Chat\",\"description\":\"Integrate with the ChatOpenAI chat model using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/chat/openai\"},{\"title\":\"OpenAIEmbeddings integration\",\"sidebarTitle\":\"Embeddings\",\"description\":\"Integrate with the OpenAIEmbeddings embedding model using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/embeddings/openai\"},{\"title\":\"OpenAI integration\",\"sidebarTitle\":\"Tools\",\"description\":\"Integrate with the OpenAI tool using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/tools/openai\"}]},{\"group\":\"Anthropic\",\"pages\":[{\"title\":\"Anthropic integrations\",\"sidebarTitle\":\"Overview\",\"description\":\"Integrate with Anthropic using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/providers/anthropic\"},{\"title\":\"ChatAnthropic integration\",\"sidebarTitle\":\"Chat\",\"description\":\"Integrate with the ChatAnthropic chat model using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/chat/anthropic\"},{\"title\":\"Anthropic integration\",\"sidebarTitle\":\"Tools\",\"description\":\"Integrate with the Anthropic tool using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/tools/anthropic\"}]},{\"group\":\"Google\",\"pages\":[{\"title\":\"Google integrations\",\"description\":\"Integrate with Google using LangChain JavaScript.\",\"sidebarTitle\":\"Overview\",\"href\":\"/oss/javascript/integrations/providers/google\"},{\"title\":\"ChatGoogle integration\",\"sidebarTitle\":\"Chat\",\"description\":\"Integrate with the ChatGoogle chat model using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/chat/google\"},{\"title\":\"Google integration\",\"sidebarTitle\":\"Tools\",\"description\":\"Integrate with Google Gemini tools using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/tools/google\"},{\"title\":\"ChatGoogleGenerativeAI integration\",\"sidebarTitle\":\"ChatGoogleGenerativeAI (Legacy)\",\"description\":\"Integrate with the ChatGoogleGenerativeAI chat model using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/chat/google_generative_ai\"},{\"title\":\"ChatVertexAI integration\",\"sidebarTitle\":\"ChatVertexAI (Legacy)\",\"description\":\"Integrate with the ChatVertexAI chat model using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/chat/google_vertex_ai\"}]},{\"group\":\"AWS\",\"pages\":[{\"title\":\"AWS integrations\",\"description\":\"Integrate with AWS using LangChain JavaScript.\",\"sidebarTitle\":\"Overview\",\"href\":\"/oss/javascript/integrations/providers/aws\"},{\"title\":\"ChatBedrockConverse integration\",\"description\":\"Integrate with the ChatBedrockConverse chat model using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/chat/bedrock_converse\"},{\"title\":\"BedrockEmbeddings integration\",\"sidebarTitle\":\"Embeddings\",\"description\":\"Integrate with the BedrockEmbeddings embedding model using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/embeddings/bedrock\"}]},{\"group\":\"Microsoft\",\"pages\":[{\"title\":\"Microsoft integrations\",\"description\":\"Integrate with Microsoft using LangChain JavaScript.\",\"sidebarTitle\":\"Overview\",\"href\":\"/oss/javascript/integrations/providers/microsoft\"},{\"title\":\"AzureChatOpenAI integration\",\"sidebarTitle\":\"Chat\",\"description\":\"Integrate with the AzureChatOpenAI chat model using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/chat/azure\"},{\"title\":\"AzureOpenAIEmbeddings integration\",\"sidebarTitle\":\"Embeddings\",\"description\":\"Integrate with the AzureOpenAIEmbeddings embedding model using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/embeddings/azure_openai\"}]}]},{\"group\":\"General integrations\",\"icon\":\"plug\",\"pages\":[{\"title\":\"Chat model integrations\",\"sidebarTitle\":\"Chat models\",\"description\":\"Integrate with chat models using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/chat/index\"},{\"title\":\"Tool integrations\",\"sidebarTitle\":\"Tools and Toolkits\",\"description\":\"Integrate with tools using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/tools/index\"},{\"title\":\"LLM integrations\",\"sidebarTitle\":\"LLMs\",\"description\":\"Integrate with LLMs using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/llms/index\"},{\"title\":\"Middleware integrations\",\"sidebarTitle\":\"Middleware\",\"description\":\"Integrate with middleware using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/middleware/index\"},{\"title\":\"Sandbox integrations\",\"sidebarTitle\":\"Sandboxes\",\"description\":\"Integrate with sandbox providers using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/sandboxes/index\"},{\"title\":\"Backend integrations\",\"sidebarTitle\":\"Backends\",\"description\":\"Community-built filesystem backends for Deep Agents.\",\"href\":\"/oss/javascript/integrations/backends/index\"},{\"title\":\"Store integrations\",\"sidebarTitle\":\"Key-value stores\",\"description\":\"Integrate with stores using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/stores/index\"},{\"title\":\"Document transformer integrations\",\"sidebarTitle\":\"Document transformers\",\"description\":\"Integrate with document transformers using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/document_transformers/index\"},{\"title\":\"Cache integrations\",\"sidebarTitle\":\"Model caches\",\"description\":\"Integrate with caches using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/llm_caching/index\"}]},{\"group\":\"RAG integrations\",\"icon\":\"database\",\"pages\":[{\"title\":\"Retriever integrations\",\"sidebarTitle\":\"Retrievers\",\"description\":\"Integrate with retrievers using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/retrievers/index\"},{\"title\":\"Text splitter integrations\",\"sidebarTitle\":\"Text splitters\",\"description\":\"Integrate with text splitters using LangChain.\",\"href\":\"/oss/javascript/integrations/splitters/index\"},{\"title\":\"Embedding model integrations\",\"sidebarTitle\":\"Embedding models\",\"description\":\"Integrate with embedding models using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/embeddings/index\"},{\"title\":\"Vector store integrations\",\"sidebarTitle\":\"Vector stores\",\"description\":\"Integrate with vector stores using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/vectorstores/index\"},{\"title\":\"Document loader integrations\",\"sidebar_position\":0,\"sidebarTitle\":\"Document loaders\",\"description\":\"Integrate with document loaders using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/document_loaders/index\"},{\"title\":\"Store integrations\",\"sidebarTitle\":\"Key-value stores\",\"description\":\"Integrate with stores using LangChain JavaScript.\",\"href\":\"/oss/javascript/integrations/stores/index\"}]}]},{\"tab\":\"Learn\",\"pages\":[{\"title\":\"Learn\",\"description\":\"Tutorials, conceptual guides, and resources to help you get started.\",\"href\":\"/oss/javascript/learn\"},{\"group\":\"Tutorials\",\"icon\":\"code\",\"pages\":[{\"group\":\"Deep Agents\",\"expanded\":true,\"pages\":[{\"title\":\"Build a deep research agent\",\"sidebarTitle\":\"Deep Research\",\"description\":\"Build a multi-step web research agent with subagent delegation\",\"href\":\"/oss/javascript/deepagents/deep-research\"},{\"title\":\"Build a content builder agent\",\"sidebarTitle\":\"Content Builder\",\"description\":\"Build a content writing agent with brand memory, skills, subagents, and image generation\",\"href\":\"/oss/javascript/deepagents/content-builder\"},{\"title\":\"RAG with Deep Agents\",\"sidebarTitle\":\"RAG\",\"description\":\"RAG patterns for Deep Agents, including skills-guided retrieval, rubric grading, and a tutorial that indexes LangChain docs, offloads chunks to the filesystem, and delegates analysis to subagents\",\"href\":\"/oss/javascript/deepagents/rag\"}]},{\"group\":\"LangChain\",\"expanded\":true,\"pages\":[{\"title\":\"Build a semantic search engine with LangChain\",\"sidebarTitle\":\"Semantic search\",\"description\":null,\"href\":\"/oss/javascript/langchain/knowledge-base\"},{\"title\":\"Build a SQL agent\",\"sidebarTitle\":\"SQL agent\",\"description\":null,\"href\":\"/oss/javascript/langchain/sql-agent\"},{\"title\":\"Build a voice agent with LangChain\",\"sidebarTitle\":\"Voice agent\",\"description\":null,\"href\":\"/oss/javascript/langchain/voice-agent\"}]},{\"group\":\"Multi-agent\",\"expanded\":true,\"pages\":[{\"title\":\"Build a personal assistant with subagents\",\"sidebarTitle\":\"Subagents: Personal assistant\",\"description\":null,\"href\":\"/oss/javascript/langchain/multi-agent/subagents-personal-assistant\"},{\"title\":\"Build customer support with handoffs\",\"sidebarTitle\":\"Handoffs: Customer support\",\"description\":null,\"href\":\"/oss/javascript/langchain/multi-agent/handoffs-customer-support\"},{\"title\":\"Build a multi-source knowledge base with routing\",\"sidebarTitle\":\"Router: Knowledge base\",\"description\":null,\"href\":\"/oss/javascript/langchain/multi-agent/router-knowledge-base\"},{\"title\":\"Build a SQL assistant with on-demand skills\",\"sidebarTitle\":\"Skills: SQL assistant\",\"description\":null,\"href\":\"/oss/javascript/langchain/multi-agent/skills-sql-assistant\"}]},{\"group\":\"LangGraph\",\"expanded\":true,\"pages\":[{\"title\":\"Build a custom RAG agent with LangGraph\",\"sidebarTitle\":\"Custom RAG agent\",\"description\":null,\"href\":\"/oss/javascript/langgraph/agentic-rag\"}]}]},{\"group\":\"Conceptual overviews\",\"icon\":\"book\",\"pages\":[{\"title\":\"Frameworks, runtimes, and harnesses\",\"sidebarTitle\":\"LangChain vs. LangGraph vs. Deep Agents\",\"description\":\"Understand the differences between LangChain, LangGraph, and Deep Agents and when to use each one\",\"href\":\"/oss/javascript/concepts/products\"},{\"title\":\"Providers and models\",\"description\":\"Understand how LangChain uses providers to give you a single API for any model from any provider\",\"href\":\"/oss/javascript/concepts/providers-and-models\"},{\"title\":\"Component architecture\",\"description\":null,\"href\":\"/oss/javascript/langchain/component-architecture\"},{\"title\":\"Memory overview\",\"sidebarTitle\":\"Memory\",\"description\":null,\"href\":\"/oss/javascript/concepts/memory\"},{\"title\":\"Context overview\",\"sidebarTitle\":\"Context\",\"description\":null,\"href\":\"/oss/javascript/concepts/context\"},{\"title\":\"Graph API overview\",\"sidebarTitle\":\"Graph API\",\"description\":null,\"href\":\"/oss/javascript/langgraph/graph-api\"},{\"title\":\"Functional API overview\",\"sidebarTitle\":\"Functional API\",\"description\":null,\"href\":\"/oss/javascript/langgraph/functional-api\"}]},{\"group\":\"LangChain Academy\",\"icon\":\"school\",\"pages\":[{\"title\":\"LangChain Academy\",\"url\":\"https://academy.langchain.com/\",\"description\":null,\"href\":\"/oss/javascript/langchain/academy\"}]},{\"group\":\"Additional resources\",\"icon\":\"list\",\"pages\":[{\"title\":\"Case studies\",\"description\":null,\"href\":\"/oss/javascript/langgraph/case-studies\"},{\"title\":\"Get help\",\"description\":null,\"href\":\"/oss/javascript/langchain/get-help\"}]}]},{\"tab\":\"Reference\",\"pages\":[{\"title\":\"Reference\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/oss/javascript/reference/overview\"},{\"group\":\"Reference\",\"pages\":[{\"title\":\"Deep Agents\",\"url\":\"https://reference.langchain.com/javascript/deepagents\",\"description\":null,\"href\":\"/oss/javascript/reference/deepagents-javascript\"},{\"title\":\"LangChain SDK\",\"url\":\"https://reference.langchain.com/javascript/langchain\",\"description\":null,\"href\":\"/oss/javascript/reference/langchain-javascript\"},{\"title\":\"LangGraph SDK\",\"url\":\"https://reference.langchain.com/javascript/langchain-langgraph\",\"description\":null,\"href\":\"/oss/javascript/reference/langgraph-javascript\"},{\"title\":\"Integrations\",\"url\":\"https://reference.langchain.com/javascript/integrations/overview\",\"description\":null,\"href\":\"/oss/javascript/reference/integrations-javascript\"},{\"title\":\"Errors\",\"sidebarTitle\":\"Errors\",\"description\":null,\"href\":\"/oss/javascript/common-errors\"}]},{\"group\":\"Releases\",\"pages\":[{\"title\":\"Versioning\",\"description\":null,\"href\":\"/oss/javascript/versioning\"},{\"title\":\"Changelog\",\"sidebarTitle\":\"Changelog\",\"description\":\"Log of updates and improvements to our JavaScript/TypeScript packages\",\"rss\":true,\"href\":\"/oss/javascript/releases/changelog\"},{\"group\":\"Releases\",\"pages\":[{\"title\":\"What's new in LangChain v1\",\"sidebarTitle\":\"LangChain v1\",\"description\":null,\"href\":\"/oss/javascript/releases/langchain-v1\"},{\"title\":\"What's new in LangGraph v1\",\"sidebarTitle\":\"LangGraph v1\",\"description\":null,\"href\":\"/oss/javascript/releases/langgraph-v1\"}]},{\"group\":\"Migration guides\",\"pages\":[{\"title\":\"LangChain v1 migration guide\",\"sidebarTitle\":\"LangChain v1\",\"description\":null,\"href\":\"/oss/javascript/migrate/langchain-v1\"},{\"title\":\"LangGraph v1 migration guide\",\"sidebarTitle\":\"LangGraph v1\",\"description\":null,\"href\":\"/oss/javascript/migrate/langgraph-v1\"}]}]},{\"group\":\"Policies\",\"pages\":[{\"title\":\"Release policy\",\"description\":null,\"href\":\"/oss/javascript/release-policy\"},{\"title\":\"Security policy\",\"sidebarTitle\":\"Security\",\"description\":null,\"href\":\"/oss/javascript/security-policy\"}]}]},{\"tab\":\"Contribute\",\"pages\":[{\"title\":\"Contributing\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/oss/javascript/contributing/overview\"},{\"group\":\"Contribute\",\"icon\":\"heart-plus\",\"pages\":[{\"title\":\"Contributing to documentation\",\"sidebarTitle\":\"Documentation\",\"description\":null,\"href\":\"/oss/javascript/contributing/documentation\"},{\"title\":\"Contributing to code\",\"sidebarTitle\":\"Code\",\"description\":null,\"href\":\"/oss/javascript/contributing/code\"},{\"group\":\"Integrations\",\"pages\":[{\"title\":\"Contributing integrations\",\"sidebarTitle\":\"Guide\",\"description\":null,\"href\":\"/oss/javascript/contributing/integrations-langchain\"},{\"title\":\"Implement a LangChain integration\",\"sidebarTitle\":\"Implement\",\"description\":null,\"href\":\"/oss/javascript/contributing/implement-langchain\"},{\"title\":\"Using standard tests\",\"sidebarTitle\":\"Standard tests\",\"description\":null,\"href\":\"/oss/javascript/contributing/standard-tests-langchain\"},{\"title\":\"Publish an integration\",\"sidebarTitle\":\"Publish\",\"description\":null,\"href\":\"/oss/javascript/contributing/publish-langchain\"},{\"title\":\"Co-marketing\",\"description\":null,\"href\":\"/oss/javascript/contributing/comarketing\"}]}]}]}]}]},{\"item\":\"Test\",\"icon\":\"flask\",\"description\":\"Evaluate and refine agents\",\"tabs\":[{\"tab\":\"Overview\",\"pages\":[{\"title\":\"Test\",\"sidebarTitle\":\"Overview\",\"mode\":\"custom\",\"description\":\"Evaluate and test agent quality at scale with datasets, evaluators, prompts, and Studio.\",\"icon\":\"flask\",\"href\":\"/langsmith/test-overview\"}]},{\"tab\":\"Evaluation\",\"pages\":[{\"title\":\"LangSmith Evaluation\",\"sidebarTitle\":\"Overview\",\"mode\":\"wide\",\"description\":null,\"href\":\"/langsmith/evaluation\"},{\"title\":\"LangSmith Engine\",\"description\":\"Find and fix recurring failures in your agents automatically with LangSmith Engine.\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/engine-icon-no-bg-dark.svg\",\"url\":\"/langsmith/engine-overview\",\"href\":\"/langsmith/engine-link\"},{\"title\":\"Evaluation quickstart\",\"sidebarTitle\":\"Quickstart\",\"description\":null,\"href\":\"/langsmith/evaluation-quickstart\"},{\"title\":\"Evaluation concepts\",\"sidebarTitle\":\"Concepts\",\"description\":null,\"href\":\"/langsmith/evaluation-concepts\"},{\"title\":\"Application-specific evaluation approaches\",\"sidebarTitle\":\"Evaluation approaches\",\"description\":null,\"href\":\"/langsmith/evaluation-approaches\"},{\"title\":\"LangSmith Chat\",\"sidebarTitle\":\"Chat\",\"url\":\"https://docs.langchain.com/langsmith/chat#evaluation\",\"icon\":\"feather\",\"description\":\"Use Chat to analyze evaluations and experiments.\",\"href\":\"/langsmith/chat-evaluation\"},{\"group\":\"Datasets\",\"pages\":[{\"group\":\"Create a dataset\",\"pages\":[{\"title\":\"Create and manage datasets in the UI\",\"sidebarTitle\":\"With the UI\",\"icon\":\"browser\",\"description\":null,\"href\":\"/langsmith/manage-datasets-in-application\"},{\"title\":\"How to create and manage datasets programmatically\",\"sidebarTitle\":\"With the SDK\",\"description\":null,\"href\":\"/langsmith/manage-datasets-programmatically\"}]},{\"title\":\"Manage datasets\",\"sidebarTitle\":\"Manage datasets\",\"description\":null,\"href\":\"/langsmith/manage-datasets\"},{\"title\":\"Custom output rendering\",\"sidebarTitle\":\"Custom output rendering\",\"description\":null,\"href\":\"/langsmith/custom-output-rendering\"}]},{\"group\":\"Set up evaluations\",\"pages\":[{\"group\":\"Run an evaluation\",\"pages\":[{\"title\":\"How to evaluate agents\",\"sidebarTitle\":\"With the SDK\",\"description\":null,\"href\":\"/langsmith/evaluate-llm-application\"},{\"title\":\"How to evaluate with OpenTelemetry\",\"sidebarTitle\":\"With OpenTelemetry\",\"description\":null,\"href\":\"/langsmith/evaluate-with-opentelemetry\"},{\"title\":\"Run an evaluation from the Playground\",\"sidebarTitle\":\"With the UI\",\"description\":null,\"href\":\"/langsmith/run-evaluation-from-playground\"},{\"title\":\"How to use the REST API\",\"sidebarTitle\":\"With the API\",\"description\":null,\"href\":\"/langsmith/run-evals-api-only\"}]},{\"group\":\"Evaluation types\",\"pages\":[{\"title\":\"Evaluation types\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/langsmith/evaluation-types\"},{\"group\":\"UI\",\"pages\":[{\"title\":\"How to define an LLM-as-a-judge evaluator\",\"sidebarTitle\":\"LLM-as-a-judge\",\"description\":null,\"href\":\"/langsmith/llm-as-judge\"},{\"title\":\"How to define a code evaluator\",\"sidebarTitle\":\"Code evaluator\",\"description\":null,\"href\":\"/langsmith/code-evaluator-ui\"},{\"title\":\"How to create a composite evaluator\",\"sidebarTitle\":\"Composite evaluators\",\"description\":null,\"href\":\"/langsmith/composite-evaluators-ui\"}]},{\"group\":\"SDK\",\"pages\":[{\"title\":\"How to define an LLM-as-a-judge evaluator\",\"sidebarTitle\":\"LLM-as-a-judge\",\"description\":null,\"href\":\"/langsmith/llm-as-judge-sdk\"},{\"title\":\"How to define a code evaluator\",\"sidebarTitle\":\"Code evaluator\",\"description\":null,\"href\":\"/langsmith/code-evaluator-sdk\"},{\"title\":\"How to create a composite evaluator\",\"sidebarTitle\":\"Composite evaluators\",\"description\":null,\"href\":\"/langsmith/composite-evaluators-sdk\"},{\"title\":\"How to define a summary evaluator\",\"sidebarTitle\":\"Summary evaluator\",\"description\":null,\"href\":\"/langsmith/summary\"},{\"title\":\"How to run a pairwise evaluation\",\"sidebarTitle\":\"Pairwise evaluation\",\"description\":null,\"href\":\"/langsmith/evaluate-pairwise\"}]}]},{\"title\":\"Manage evaluators\",\"sidebarTitle\":\"Manage evaluators\",\"description\":\"View and manage evaluators at the workspace level in LangSmith.\",\"keywords\":[\"prebuilt evals langsmith\",\"prebuilt evals\",\"prebuilt evaluators langsmith\",\"prebuilt evaluators\",\"eval packs\",\"evaluator packs\"],\"boost\":3,\"href\":\"/langsmith/evaluators\"},{\"title\":\"Manage evaluators with the SDK\",\"sidebarTitle\":\"Manage evaluators programmatically\",\"description\":\"Create, retrieve, update, list, and delete LangSmith evaluators programmatically with the SDK.\",\"icon\":\"code\",\"tag\":\"SDK\",\"href\":\"/langsmith/manage-evaluators-sdk\"},{\"title\":\"Track and limit evaluator spend\",\"sidebarTitle\":\"Evaluator spend\",\"description\":\"Cap weekly LLM spend on evaluators with an organization-wide default or per-evaluator overrides to keep evaluator costs predictable.\",\"keywords\":[\"evaluator spend\",\"spend limit\",\"evaluator budget\",\"evaluator cost\",\"weekly limit\",\"evaluator monitoring\",\"stop evaluator\",\"pause evaluator\",\"run rule limit\"],\"href\":\"/langsmith/evaluator-spend\"},{\"group\":\"Frameworks \u0026 integrations\",\"pages\":[{\"title\":\"Run evals with openevals package\",\"sidebarTitle\":\"Run evals with openevals package\",\"description\":\"Run evaluations using the open-source openevals and agentevals packages with LangSmith.\",\"href\":\"/langsmith/openevals\"},{\"title\":\"How to run evaluations with pytest\",\"sidebarTitle\":\"Run evals with pytest\",\"description\":null,\"href\":\"/langsmith/pytest\"},{\"title\":\"How to run evaluations with Vitest/Jest\",\"sidebarTitle\":\"Run evals with Vitest/Jest\",\"description\":null,\"href\":\"/langsmith/vitest-jest\"},{\"title\":\"Harbor integrations\",\"description\":\"Run evaluations, Deep Agents, and sandboxes on LangSmith with Harbor.\",\"href\":\"/langsmith/harbor-integrations\"}]},{\"group\":\"Evaluation techniques\",\"pages\":[{\"group\":\"Define evaluation target\",\"pages\":[{\"title\":\"How to define a target function to evaluate\",\"sidebarTitle\":\"Define a target function to evaluate\",\"description\":null,\"href\":\"/langsmith/define-target-function\"},{\"title\":\"How to evaluate an application's intermediate steps\",\"sidebarTitle\":\"Evaluate intermediate steps\",\"description\":null,\"href\":\"/langsmith/evaluate-on-intermediate-steps\"},{\"title\":\"How to evaluate a runnable\",\"sidebarTitle\":\"Evaluate a runnable\",\"description\":null,\"href\":\"/langsmith/langchain-runnable\"},{\"title\":\"How to evaluate a graph\",\"sidebarTitle\":\"Evaluate a graph\",\"description\":null,\"href\":\"/langsmith/evaluate-graph\"},{\"title\":\"How to simulate multi-turn interactions\",\"sidebarTitle\":\"Simulate multi-turn interactions\",\"description\":null,\"href\":\"/langsmith/multi-turn-simulation\"},{\"title\":\"How to evaluate your agent with trajectory evaluations\",\"sidebarTitle\":\"Evaluate agent trajectories\",\"description\":null,\"href\":\"/langsmith/trajectory-evals\"}]},{\"group\":\"Scoring methods\",\"pages\":[{\"title\":\"How to return multiple scores in one evaluator\",\"sidebarTitle\":\"Return multiple scores in one evaluator\",\"description\":null,\"href\":\"/langsmith/multiple-scores\"},{\"title\":\"How to return categorical vs numerical metrics\",\"sidebarTitle\":\"Return categorical vs numerical metrics\",\"description\":null,\"href\":\"/langsmith/metric-type\"}]},{\"group\":\"Experiment configuration\",\"pages\":[{\"title\":\"Experiment configuration\",\"sidebarTitle\":\"Experiment configuration\",\"description\":null,\"href\":\"/langsmith/experiment-configuration\"},{\"title\":\"How to run an evaluation asynchronously\",\"sidebarTitle\":\"Run an evaluation asynchronously\",\"description\":null,\"href\":\"/langsmith/evaluation-async\"},{\"title\":\"How to evaluate with repetitions\",\"sidebarTitle\":\"Evaluate with repetitions\",\"description\":null,\"href\":\"/langsmith/repetition\"},{\"title\":\"How to handle model rate limits\",\"sidebarTitle\":\"Handle model rate limits\",\"description\":null,\"href\":\"/langsmith/handle-model-rate-limiting\"},{\"title\":\"Automatically run evaluators on experiments\",\"sidebarTitle\":\"Run evaluators on experiments\",\"description\":null,\"href\":\"/langsmith/bind-evaluator-to-dataset\"},{\"title\":\"How to add evaluators to an existing experiment (Python only)\",\"sidebarTitle\":\"Evaluate an existing experiment (Python)\",\"description\":null,\"href\":\"/langsmith/evaluate-existing-experiment\"},{\"title\":\"How to run an evaluation locally (Python only)\",\"sidebarTitle\":\"Run an evaluation locally (Python)\",\"description\":null,\"href\":\"/langsmith/local\"},{\"title\":\"How to read experiment results locally\",\"sidebarTitle\":\"Read experiment results locally\",\"description\":null,\"href\":\"/langsmith/read-local-experiment-results\"},{\"title\":\"How to retry failed runs in experiments (Python only)\",\"sidebarTitle\":\"Retry on failed experiment runs (Python)\",\"description\":null,\"href\":\"/langsmith/evaluate-with-retry\"}]},{\"group\":\"Multimodal evaluations\",\"pages\":[{\"title\":\"Run an evaluation with multimodal content\",\"sidebarTitle\":\"Run an evaluation with multimodal content\",\"description\":\"Learn how to create dataset examples with file attachments and use them in prompts and evaluators when running LangSmith evaluations with multimodal content.\",\"href\":\"/langsmith/evaluate-with-attachments\"}]}]},{\"group\":\"Improve evaluators\",\"pages\":[{\"title\":\"Improve LLM-as-judge evaluators using human feedback\",\"sidebarTitle\":\"Improve LLM-as-judge evaluators using human feedback\",\"description\":null,\"href\":\"/langsmith/improve-judge-evaluator-feedback\"},{\"title\":\"How to improve your evaluator with few-shot examples\",\"sidebarTitle\":\"Improve your evaluator with few-shot examples\",\"description\":null,\"href\":\"/langsmith/create-few-shot-evaluators\"}]},{\"group\":\"Tutorials\",\"pages\":[{\"title\":\"Evaluate a chatbot\",\"sidebarTitle\":\"Evaluate a chatbot\",\"description\":null,\"href\":\"/langsmith/evaluate-chatbot-tutorial\"},{\"title\":\"Evaluate a RAG application\",\"sidebarTitle\":\"Evaluate a RAG application\",\"description\":null,\"href\":\"/langsmith/evaluate-rag-tutorial\"},{\"title\":\"Test a ReAct agent with Pytest/Vitest and LangSmith\",\"sidebarTitle\":\"Test a ReAct agent with Pytest/Vitest and LangSmith\",\"description\":null,\"href\":\"/langsmith/test-react-agent-pytest\"},{\"title\":\"Evaluate a complex agent\",\"sidebarTitle\":\"Evaluate a complex agent\",\"description\":null,\"href\":\"/langsmith/evaluate-complex-agent\"},{\"title\":\"Run backtests on a new version of an agent\",\"sidebarTitle\":\"Run backtests on a new version of an agent\",\"description\":null,\"href\":\"/langsmith/run-backtests-new-agent\"}]}]},{\"group\":\"Analyze experiment results\",\"pages\":[{\"title\":\"Analyze an experiment\",\"sidebarTitle\":\"Analyze an experiment\",\"description\":null,\"href\":\"/langsmith/analyze-an-experiment\"},{\"title\":\"How to compare experiment results\",\"sidebarTitle\":\"Compare experiment results\",\"description\":null,\"href\":\"/langsmith/compare-experiment-results\"},{\"title\":\"How to filter experiments in the UI\",\"sidebarTitle\":\"Filter experiments in the UI\",\"description\":null,\"href\":\"/langsmith/filter-experiments-ui\"},{\"title\":\"How to fetch performance metrics for an experiment\",\"sidebarTitle\":\"Fetch performance metrics for an experiment\",\"description\":null,\"href\":\"/langsmith/fetch-perf-metrics-experiment\"},{\"title\":\"How to upload experiments run outside of LangSmith with the REST API\",\"sidebarTitle\":\"Upload experiments run outside of LangSmith\",\"description\":null,\"href\":\"/langsmith/upload-existing-experiments\"}]},{\"group\":\"Annotation \u0026 human feedback\",\"pages\":[{\"title\":\"Use annotation queues\",\"sidebarTitle\":\"Use annotation queues\",\"description\":null,\"href\":\"/langsmith/annotation-queues\"},{\"title\":\"Manage feedback \u0026 annotation queues programmatically\",\"sidebarTitle\":\"Manage feedback \u0026 annotation queues\",\"icon\":\"code\",\"tag\":\"SDK\",\"description\":null,\"href\":\"/langsmith/annotation-queues-sdk\"},{\"title\":\"Use assertions\",\"sidebarTitle\":\"Use assertions\",\"description\":\"Capture free-form acceptance criteria as dataset examples by writing assertions while reviewing runs in an annotation queue.\",\"icon\":\"checklist\",\"href\":\"/langsmith/assertions\"},{\"title\":\"Set up feedback criteria\",\"sidebarTitle\":\"Set up feedback criteria\",\"description\":null,\"href\":\"/langsmith/set-up-feedback-criteria\"},{\"title\":\"Annotate traces and runs inline\",\"sidebarTitle\":\"Annotate traces and runs inline\",\"description\":null,\"href\":\"/langsmith/annotate-traces-inline\"},{\"title\":\"How to audit evaluator scores\",\"sidebarTitle\":\"Audit evaluator scores\",\"description\":null,\"href\":\"/langsmith/audit-evaluator-scores\"}]},{\"group\":\"Feedback\",\"pages\":[{\"title\":\"Log user feedback using the SDK\",\"sidebarTitle\":\"Log user feedback using the SDK\",\"description\":null,\"href\":\"/langsmith/attach-user-feedback\"},{\"title\":\"Collect feedback with presigned URLs\",\"sidebarTitle\":\"Collect feedback with presigned URLs\",\"description\":\"Use presigned feedback tokens to collect user feedback from client-side applications without exposing your LangSmith API key.\",\"href\":\"/langsmith/presigned-feedback-tokens\"}]},{\"group\":\"Common data types\",\"pages\":[{\"title\":\"Example data format\",\"sidebarTitle\":\"Example data format\",\"description\":null,\"href\":\"/langsmith/example-data-format\"},{\"title\":\"Dataset prebuilt JSON schema types\",\"sidebarTitle\":\"Dataset prebuilt JSON schema types\",\"description\":null,\"href\":\"/langsmith/dataset-json-types\"},{\"title\":\"Dataset transformations\",\"sidebarTitle\":\"Dataset transformations\",\"description\":null,\"href\":\"/langsmith/dataset-transformations\"}]}]},{\"tab\":\"Prompt engineering\",\"pages\":[{\"title\":\"Prompt engineering\",\"sidebarTitle\":\"Overview\",\"mode\":\"wide\",\"description\":null,\"href\":\"/langsmith/prompt-engineering\"},{\"title\":\"LangSmith Engine\",\"description\":\"Find and fix recurring failures in your agents automatically with LangSmith Engine.\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/engine-icon-no-bg-dark.svg\",\"url\":\"/langsmith/engine-overview\",\"href\":\"/langsmith/engine-link\"},{\"title\":\"Prompt engineering quickstart\",\"sidebarTitle\":\"Quickstart\",\"description\":null,\"href\":\"/langsmith/prompt-engineering-quickstart\"},{\"title\":\"Prompt engineering concepts\",\"sidebarTitle\":\"Concepts\",\"description\":null,\"href\":\"/langsmith/prompt-engineering-concepts\"},{\"title\":\"LangSmith Chat\",\"sidebarTitle\":\"Chat\",\"url\":\"https://docs.langchain.com/langsmith/chat#prompt-engineering\",\"icon\":\"feather\",\"description\":\"Use Chat to optimize prompts in the Playground.\",\"href\":\"/langsmith/chat-prompt-engineering\"},{\"title\":\"Model providers\",\"sidebarTitle\":\"Model providers\",\"description\":null,\"href\":\"/langsmith/playground-model-providers\"},{\"group\":\"Create and update prompts\",\"pages\":[{\"title\":\"Create a prompt\",\"sidebarTitle\":\"Create a prompt\",\"description\":null,\"href\":\"/langsmith/create-a-prompt\"},{\"title\":\"Manage prompts\",\"sidebarTitle\":\"Manage prompts\",\"description\":\"Manage prompt versions, environments, and access controls in LangSmith.\",\"href\":\"/langsmith/manage-prompts\"},{\"title\":\"Manage prompts programmatically\",\"sidebarTitle\":\"Manage prompts programmatically\",\"description\":null,\"href\":\"/langsmith/manage-prompts-programmatically\"},{\"title\":\"Prompt template format guide\",\"sidebarTitle\":\"Prompt template format\",\"description\":null,\"href\":\"/langsmith/prompt-template-format\"},{\"title\":\"Configure prompt settings\",\"sidebarTitle\":\"Configure prompt settings\",\"description\":null,\"href\":\"/langsmith/managing-model-configurations\"},{\"title\":\"Use tools in a prompt\",\"sidebarTitle\":\"Use tools in a prompt\",\"description\":null,\"href\":\"/langsmith/use-tools\"},{\"title\":\"Include multimodal content in a prompt\",\"sidebarTitle\":\"Include multimodal content in a prompt\",\"description\":null,\"href\":\"/langsmith/multimodal-content\"},{\"title\":\"Write your prompt with AI\",\"sidebarTitle\":\"Write your prompt with AI\",\"description\":null,\"href\":\"/langsmith/write-prompt-with-ai\"},{\"group\":\"Connect to models\",\"pages\":[{\"title\":\"Connect to an OpenAI compliant model provider/proxy\",\"sidebarTitle\":\"OpenAI-compliant model provider/proxy\",\"description\":null,\"href\":\"/langsmith/custom-openai-compliant-model\"},{\"title\":\"Connect to a custom model\",\"sidebarTitle\":\"Custom model\",\"description\":null,\"href\":\"/langsmith/custom-endpoint\"}]}]},{\"group\":\"Tutorials\",\"pages\":[{\"title\":\"Optimize a classifier\",\"sidebarTitle\":\"Optimize a classifier\",\"description\":null,\"href\":\"/langsmith/optimize-classifier\"},{\"title\":\"How to sync prompts with GitHub\",\"sidebarTitle\":\"Sync prompts with GitHub\",\"description\":null,\"href\":\"/langsmith/prompt-commit\"},{\"title\":\"Test multi-turn conversations\",\"sidebarTitle\":\"Test multi-turn conversations\",\"description\":null,\"href\":\"/langsmith/multiple-messages\"}]}]},{\"tab\":\"Context Hub\",\"pages\":[{\"title\":\"Context Hub\",\"sidebarTitle\":\"Overview\",\"description\":\"Manage the instructions and tools your agents use with version control and environment promotion in the LangSmith Context Hub.\",\"icon\":\"book\",\"mode\":\"wide\",\"href\":\"/langsmith/context-hub\"},{\"title\":\"Context engineering concepts\",\"sidebarTitle\":\"Concepts\",\"description\":\"Core concepts for context engineering in LangSmith, including skills, agents, versioning, and sharing.\",\"keywords\":[\"context engineering\",\"context hub\",\"skills\",\"agents\"],\"href\":\"/langsmith/context-engineering-concepts\"},{\"title\":\"Use the Context Hub\",\"sidebarTitle\":\"Use the Context Hub\",\"description\":\"Learn how to create, view, and promote context in the LangSmith Context Hub.\",\"keywords\":[\"context engineering\",\"context hub\",\"skills\",\"agents\",\"versioning\"],\"tag\":\"UI\",\"href\":\"/langsmith/use-the-context-hub\"},{\"title\":\"Manage contexts with the SDK\",\"sidebarTitle\":\"Manage contexts\",\"description\":\"Use the LangSmith SDK to push, pull, list, and delete agent and skill repos in the Context Hub programmatically.\",\"tag\":\"SDK\",\"href\":\"/langsmith/manage-contexts-sdk\"}]},{\"tab\":\"Studio\",\"pages\":[{\"title\":\"LangSmith Studio\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/langsmith/studio\"},{\"title\":\"Get started with Studio\",\"sidebarTitle\":\"Quickstart\",\"description\":null,\"href\":\"/langsmith/quick-start-studio\"},{\"title\":\"How to use Studio\",\"sidebarTitle\":\"Runs, assistants, threads\",\"description\":null,\"href\":\"/langsmith/use-studio\"},{\"title\":\"Observability in Studio\",\"sidebarTitle\":\"Traces, datasets, prompts\",\"description\":null,\"href\":\"/langsmith/observability-studio\"},{\"title\":\"Studio troubleshooting\",\"sidebarTitle\":\"Troubleshooting\",\"description\":null,\"href\":\"/langsmith/troubleshooting-studio\"}]}]},{\"item\":\"Deploy\",\"icon\":\"rocket\",\"description\":\"Ship agents to production\",\"tabs\":[{\"tab\":\"Get started\",\"pages\":[{\"title\":\"LangSmith Deployment\",\"sidebarTitle\":\"Overview\",\"description\":\"Deploy and manage agents with durable execution, real-time streaming, and horizontal scaling.\",\"mode\":\"wide\",\"href\":\"/langsmith/deployment\"},{\"group\":\"Quickstarts\",\"pages\":[{\"title\":\"Deploy your app to cloud\",\"sidebarTitle\":\"Quickstart\",\"description\":\"Deploy your first application to LangSmith Cloud (AWS and GCP) using the LangGraph CLI.\",\"icon\":\"rocket\",\"href\":\"/langsmith/deployment-quickstart\"},{\"title\":\"Deploy Managed Deep Agents\",\"sidebarTitle\":\"Managed Deep Agents\",\"tag\":\"BETA\",\"url\":\"/langsmith/managed-deep-agents-quickstart\",\"description\":null,\"href\":\"/langsmith/deployment-quickstart-da\"}]},{\"group\":\"Deployment components\",\"pages\":[{\"title\":\"LangSmith Deployment components\",\"sidebarTitle\":\"Overview\",\"mode\":\"wide\",\"description\":\"Overview of Agent Server, LangGraph CLI, Studio, SDKs, RemoteGraph, control plane, and data plane components.\",\"href\":\"/langsmith/components\"},{\"title\":\"LangSmith data plane\",\"sidebarTitle\":\"Data plane\",\"description\":null,\"href\":\"/langsmith/data-plane\"},{\"title\":\"LangSmith control plane\",\"sidebarTitle\":\"Control plane\",\"description\":null,\"href\":\"/langsmith/control-plane\"}]},{\"group\":\"Develop \u0026 test\",\"pages\":[{\"title\":\"Local development \u0026 testing\",\"description\":\"Compare langgraph dev and langgraph up for local development and production-like testing of Agent Server applications.\",\"icon\":\"device-laptop\",\"href\":\"/langsmith/local-dev-testing\"},{\"title\":\"Studio\",\"description\":\"Develop, run, and debug agents in an interactive environment with LangSmith Studio.\",\"url\":\"https://docs.langchain.com/langsmith/studio\",\"href\":\"/langsmith/studio-deploy\"}]},{\"group\":\"Other agent frameworks\",\"pages\":[{\"title\":\"Deploy Google ADK agents\",\"sidebarTitle\":\"Deploy Google ADK\",\"description\":\"Deploy Google Agent Development Kit (ADK) agents to LangSmith Agent Server using the deployments-wrap-sdk package.\",\"href\":\"/langsmith/deploy-google-adk\"},{\"title\":\"Deploy other frameworks\",\"sidebarTitle\":\"Claude SDK, Strands, \u0026 more\",\"description\":\"Deploy agents built with Claude Agent SDK, Strands, CrewAI, AutoGen, and other frameworks to LangSmith Deployment.\",\"href\":\"/langsmith/deploy-other-frameworks\"}]},{\"group\":\"Full-stack web apps\",\"pages\":[{\"title\":\"Deploy full-stack web apps\",\"sidebarTitle\":\"Overview\",\"description\":\"Deploy LangChain agents as full-stack web apps on Next.js, SvelteKit, Nuxt, Cloudflare Workers, Deno Deploy, and Vite with streaming UI and thread history.\",\"mode\":\"wide\",\"href\":\"/langsmith/deploy-frameworks-and-platforms\"},{\"title\":\"Deploy with LangSmith and Vite\",\"sidebarTitle\":\"LangSmith + Vite\",\"description\":\"Deploy a LangChain deep agent to LangSmith Deployment and stream from a Vite React chat UI on Vercel, Netlify, or Cloudflare Pages.\",\"href\":\"/langsmith/deploy-vite-langsmith\"},{\"title\":\"Deploy with Next.js\",\"sidebarTitle\":\"Next.js\",\"description\":\"Deploy a LangChain deep agent in a Next.js App Router project with streaming chat, subagents, and thread history.\",\"href\":\"/langsmith/deploy-nextjs\"},{\"title\":\"Deploy with SvelteKit\",\"sidebarTitle\":\"SvelteKit\",\"description\":\"Deploy a LangChain deep agent in a SvelteKit project on Cloudflare Workers with streaming chat and thread history.\",\"href\":\"/langsmith/deploy-sveltekit\"},{\"title\":\"Deploy with Nuxt\",\"sidebarTitle\":\"Nuxt\",\"description\":\"Deploy a LangChain deep agent in a Nuxt 4 app with Nitro server routes, Vue composables, and subagent-aware chat UI.\",\"href\":\"/langsmith/deploy-nuxt\"},{\"title\":\"Deploy with Cloudflare Workers\",\"sidebarTitle\":\"Cloudflare Workers\",\"description\":\"Deploy a LangChain deep agent on Cloudflare Workers with Vite, React, Hono, and Durable Objects for SSE replay.\",\"href\":\"/langsmith/deploy-cloudflare-workers\"},{\"title\":\"Deploy with Deno Deploy\",\"sidebarTitle\":\"Deno Deploy\",\"description\":\"Deploy a LangChain deep agent on Deno Deploy with Hono route handlers and a Vite React SPA served from one entrypoint.\",\"href\":\"/langsmith/deploy-deno\"}]}]},{\"tab\":\"Develop agents\",\"pages\":[{\"title\":\"Develop agents\",\"sidebarTitle\":\"Overview\",\"description\":\"Develop agents on the LangSmith Agent Server runtime—capabilities, configuration, composition, and operations.\",\"mode\":\"wide\",\"href\":\"/langsmith/develop-agents-overview\"},{\"group\":\"Develop your application\",\"pages\":[{\"title\":\"Application structure\",\"sidebarTitle\":\"Application structure\",\"description\":null,\"href\":\"/langsmith/application-structure\"},{\"group\":\"Set up dependencies\",\"pages\":[{\"title\":\"How to set up an application with requirements.txt\",\"sidebarTitle\":\"With requirements.txt\",\"description\":null,\"href\":\"/langsmith/setup-app-requirements-txt\"},{\"title\":\"How to set up an application with pyproject.toml\",\"sidebarTitle\":\"With pyproject.toml\",\"description\":null,\"href\":\"/langsmith/setup-pyproject\"},{\"title\":\"How to set up a JavaScript application\",\"sidebarTitle\":\"Set up a JavaScript application\",\"description\":null,\"href\":\"/langsmith/setup-javascript\"},{\"title\":\"How to customize the Dockerfile\",\"sidebarTitle\":\"Customize the Dockerfile\",\"description\":null,\"href\":\"/langsmith/custom-docker\"},{\"title\":\"Monorepo support\",\"sidebarTitle\":\"Monorepo support\",\"description\":null,\"href\":\"/langsmith/monorepo-support\"}]},{\"group\":\"Persistence\",\"pages\":[{\"title\":\"Configure checkpointer backend\",\"sidebarTitle\":\"Configure checkpointer backend\",\"description\":\"Configure Agent Server to use PostgreSQL, MongoDB, or a custom implementation for checkpoint storage.\",\"href\":\"/langsmith/configure-checkpointer\"},{\"title\":\"How to add TTLs to your application\",\"sidebarTitle\":\"Add TTLs to your application\",\"description\":null,\"href\":\"/langsmith/configure-ttl\"},{\"title\":\"How to add semantic search to your agent deployment\",\"sidebarTitle\":\"Add semantic search to your agent deployment\",\"description\":null,\"href\":\"/langsmith/semantic-search\"}]}]},{\"group\":\"Agent server\",\"pages\":[{\"title\":\"Agent Server\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/langsmith/agent-server\"},{\"group\":\"Assistants\",\"pages\":[{\"title\":\"Assistants\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/langsmith/assistants\"},{\"title\":\"Manage assistants\",\"sidebarTitle\":\"Manage assistants\",\"description\":null,\"href\":\"/langsmith/configuration-cloud\"}]},{\"title\":\"Use threads\",\"sidebarTitle\":\"Threads\",\"description\":null,\"href\":\"/langsmith/use-threads\"},{\"group\":\"Runs\",\"pages\":[{\"title\":\"Runs\",\"sidebarTitle\":\"Overview\",\"description\":\"An overview of runs in Agent Server, including how to kick off background runs, stateless runs, and cancel runs.\",\"href\":\"/langsmith/runs\"},{\"title\":\"How to kick off background runs\",\"sidebarTitle\":\"Kick off background runs\",\"description\":null,\"href\":\"/langsmith/background-run\"},{\"title\":\"How to run multiple agents on the same thread\",\"sidebarTitle\":\"Run multiple agents on the same thread\",\"description\":null,\"href\":\"/langsmith/same-thread\"},{\"title\":\"Stateless runs\",\"sidebarTitle\":\"Stateless runs\",\"description\":null,\"href\":\"/langsmith/stateless-runs\"},{\"title\":\"How to cancel a run\",\"sidebarTitle\":\"Cancel a run\",\"description\":\"Cancel a single run or multiple runs via the API, and choose between interrupt and rollback actions.\",\"href\":\"/langsmith/cancel-run\"}]},{\"title\":\"How to interact with a deployment using RemoteGraph\",\"sidebarTitle\":\"Interact with a deployment using RemoteGraph\",\"description\":null,\"href\":\"/langsmith/use-remote-graph\"},{\"title\":\"Use cron jobs\",\"sidebarTitle\":\"Cron jobs\",\"description\":null,\"href\":\"/langsmith/cron-jobs\"},{\"title\":\"Streaming API\",\"sidebarTitle\":\"Streaming API\",\"description\":null,\"href\":\"/langsmith/streaming\"},{\"title\":\"Human-in-the-loop using server API\",\"sidebarTitle\":\"Human-in-the-loop using server API\",\"description\":null,\"href\":\"/langsmith/add-human-in-the-loop\"},{\"title\":\"Time travel using the server API\",\"sidebarTitle\":\"Time travel using the server API\",\"description\":null,\"href\":\"/langsmith/human-in-the-loop-time-travel\"},{\"group\":\"Double-texting\",\"pages\":[{\"title\":\"Double texting\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/langsmith/double-texting\"},{\"title\":\"Interrupt concurrent\",\"sidebarTitle\":\"Interrupt\",\"description\":null,\"href\":\"/langsmith/interrupt-concurrent\"},{\"title\":\"Rollback Concurrent\",\"sidebarTitle\":\"Rollback\",\"description\":null,\"href\":\"/langsmith/rollback-concurrent\"},{\"title\":\"Reject Concurrent\",\"sidebarTitle\":\"Reject\",\"description\":null,\"href\":\"/langsmith/reject-concurrent\"},{\"title\":\"Enqueue concurrent\",\"sidebarTitle\":\"Enqueue\",\"description\":null,\"href\":\"/langsmith/enqueue-concurrent\"}]},{\"title\":\"Use webhooks\",\"sidebarTitle\":\"Webhooks\",\"description\":null,\"href\":\"/langsmith/use-webhooks\"},{\"title\":\"Distributed tracing with Agent Server\",\"sidebarTitle\":\"Distributed tracing\",\"description\":\"Unify traces when calling your deployed Agent Server from another service using RemoteGraph or the SDK.\",\"href\":\"/langsmith/agent-server-distributed-tracing\"},{\"title\":\"MCP endpoint in Agent Server\",\"sidebarTitle\":\"MCP endpoint in Agent Server\",\"description\":null,\"href\":\"/langsmith/server-mcp\"},{\"title\":\"A2A endpoint in Agent Server\",\"sidebarTitle\":\"A2A endpoint in Agent Server\",\"description\":\"Use the A2A protocol to enable agent-to-agent communication with distributed tracing in LangSmith.\",\"href\":\"/langsmith/server-a2a\"},{\"title\":\"Agent Server changelog\",\"sidebarTitle\":\"Changelog\",\"url\":\"/langsmith/agent-server-changelog\",\"description\":null,\"href\":\"/langsmith/agent-server-changelog-link\"}]},{\"group\":\"How to build\",\"pages\":[{\"title\":\"How to collect user feedback for Agent Server runs\",\"sidebarTitle\":\"Collect user feedback for Agent Server runs\",\"description\":null,\"href\":\"/langsmith/agent-server-feedback\"},{\"title\":\"How to implement generative user interfaces with LangGraph\",\"sidebarTitle\":\"Implement generative user interfaces with LangGraph\",\"description\":null,\"href\":\"/langsmith/generative-ui-react\"},{\"title\":\"Implement a CI/CD pipeline using LangSmith Deployment and Evaluation\",\"sidebarTitle\":\"Implement a CI/CD pipeline\",\"description\":null,\"href\":\"/langsmith/cicd-pipeline-example\"}]},{\"group\":\"Auth \u0026 access control\",\"pages\":[{\"title\":\"Authentication \u0026 access control\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/langsmith/auth\"},{\"title\":\"Add custom authentication\",\"sidebarTitle\":\"Add custom authentication\",\"description\":null,\"href\":\"/langsmith/custom-auth\"},{\"group\":\"Custom auth tutorial\",\"icon\":\"school\",\"pages\":[{\"title\":\"Set up custom authentication\",\"sidebarTitle\":\"Set up custom authentication\",\"description\":null,\"href\":\"/langsmith/set-up-custom-auth\"},{\"title\":\"Make conversations private\",\"sidebarTitle\":\"Make conversations private\",\"description\":null,\"href\":\"/langsmith/resource-auth\"},{\"title\":\"Isolate store data per user\",\"sidebarTitle\":\"Isolate store per user\",\"description\":\"Scope long-term store data to each authenticated user in LangSmith Deployment using auth handlers.\",\"href\":\"/langsmith/store-auth\"},{\"title\":\"Connect an authentication provider\",\"sidebarTitle\":\"Connect an authentication provider\",\"description\":null,\"href\":\"/langsmith/add-auth-server\"}]},{\"title\":\"Document API authentication in OpenAPI\",\"sidebarTitle\":\"Document API authentication in OpenAPI\",\"description\":null,\"href\":\"/langsmith/openapi-security\"},{\"title\":\"Set up Agent Auth\",\"tag\":\"Beta\",\"description\":\"Enable secure access from agents to any system using OAuth 2.0 credentials with Agent Auth.\",\"href\":\"/langsmith/agent-auth\"}]},{\"group\":\"Server customization\",\"pages\":[{\"title\":\"Use server-side caching\",\"sidebarTitle\":\"Caching\",\"description\":\"Cache values server-side in your agent deployment using stale-while-revalidate and key-value cache APIs.\",\"href\":\"/langsmith/caching\"},{\"title\":\"Add encryption at rest\",\"sidebarTitle\":\"Encryption at rest\",\"description\":null,\"href\":\"/langsmith/encryption\"},{\"title\":\"Rebuild graph at runtime\",\"sidebarTitle\":\"Rebuild graph at runtime\",\"description\":\"Rebuild your graph with different configurations for each run using ServerRuntime.\",\"href\":\"/langsmith/graph-rebuild\"},{\"group\":\"Replace built-in backends\",\"pages\":[{\"title\":\"How to use a custom store\",\"sidebarTitle\":\"Add custom store\",\"tag\":\"Alpha\",\"description\":\"Replace the built-in Postgres store with a custom BaseStore implementation in your agent deployment.\",\"href\":\"/langsmith/custom-store\"},{\"title\":\"How to use a custom checkpointer\",\"sidebarTitle\":\"Add custom checkpointer\",\"tag\":\"Alpha\",\"description\":\"Replace the built-in Postgres checkpointer with a custom BaseCheckpointSaver implementation in your agent deployment.\",\"href\":\"/langsmith/custom-checkpointer\"}]},{\"group\":\"Extend the HTTP server\",\"pages\":[{\"title\":\"How to add custom routes\",\"sidebarTitle\":\"Add custom routes\",\"description\":null,\"href\":\"/langsmith/custom-routes\"},{\"title\":\"How to add custom middleware\",\"sidebarTitle\":\"Add custom middleware\",\"description\":null,\"href\":\"/langsmith/custom-middleware\"},{\"title\":\"How to add custom lifespan events\",\"sidebarTitle\":\"Add custom lifespan events\",\"description\":null,\"href\":\"/langsmith/custom-lifespan\"}]},{\"group\":\"Headers and logging\",\"pages\":[{\"title\":\"Use HTTP headers for runtime configuration\",\"sidebarTitle\":\"Configurable headers\",\"description\":null,\"href\":\"/langsmith/configurable-headers\"},{\"title\":\"Include HTTP headers in server logs\",\"sidebarTitle\":\"Logging Headers\",\"description\":null,\"href\":\"/langsmith/configurable-logs\"}]}]}]},{\"tab\":\"Deploy to Cloud\",\"pages\":[{\"title\":\"Deploy to Cloud\",\"sidebarTitle\":\"Cloud overview\",\"icon\":\"cloud\",\"iconType\":\"solid\",\"description\":\"Deploy LangSmith agents to LangChain-managed Cloud infrastructure on AWS and GCP.\",\"mode\":\"wide\",\"href\":\"/langsmith/deploy-to-cloud-overview\"},{\"title\":\"Deploy on Cloud\",\"sidebarTitle\":\"Deployment guide\",\"icon\":\"rocket\",\"description\":\"Create and manage LangSmith Cloud deployments including revisions, logs, metrics, and settings.\",\"href\":\"/langsmith/deploy-to-cloud\"},{\"title\":\"Cloud platform features\",\"sidebarTitle\":\"Platform features\",\"icon\":\"list-check\",\"description\":\"Cloud-only platform features for LangSmith Deployment, including data regions, static IP addresses, payload limits, and deployment types.\",\"href\":\"/langsmith/cloud-platform-features\"},{\"group\":\"Managed Deep Agents\",\"tag\":\"BETA\",\"pages\":[{\"title\":\"Managed Deep Agents\",\"sidebarTitle\":\"Overview\",\"description\":\"Overview of Managed Deep Agents private beta features, workflows, and limits.\",\"href\":\"/langsmith/managed-deep-agents-overview\"},{\"title\":\"Managed Deep Agents quickstart\",\"sidebarTitle\":\"Quickstart\",\"description\":\"Create and deploy your first Managed Deep Agent with the mda CLI.\",\"href\":\"/langsmith/managed-deep-agents-quickstart\"},{\"title\":\"Build a scheduled research agent\",\"sidebarTitle\":\"Tutorial\",\"description\":\"Build a Managed Deep Agent with a tool, durable memory, and a daily schedule, then deploy it.\",\"href\":\"/langsmith/managed-deep-agents-tutorial\"},{\"title\":\"How Managed Deep Agents work\",\"sidebarTitle\":\"How it works\",\"description\":\"How the mda CLI compiles a project, what a deploy creates, and how Context Hub, threads, and sandboxes work.\",\"href\":\"/langsmith/managed-deep-agents-how-it-works\"},{\"title\":\"Add identity to Managed Deep Agents\",\"sidebarTitle\":\"Identity\",\"description\":\"Declare who is calling, scope threads and memory, and use runtime.identity in Managed Deep Agents.\",\"href\":\"/langsmith/managed-deep-agents-identity\"},{\"title\":\"Add custom tools to Managed Deep Agents\",\"sidebarTitle\":\"Custom tools\",\"description\":\"Define authored tools for Managed Deep Agents projects.\",\"href\":\"/langsmith/managed-deep-agents-tools\"},{\"title\":\"Add custom middleware to Managed Deep Agents\",\"sidebarTitle\":\"Custom middleware\",\"description\":\"Add built-in or custom middleware to Managed Deep Agents projects.\",\"href\":\"/langsmith/managed-deep-agents-middleware\"},{\"group\":\"Connectors\",\"pages\":[{\"title\":\"Connect tools and capabilities to Managed Deep Agents\",\"sidebarTitle\":\"Overview\",\"description\":\"Declare MCP servers and LangSmith capabilities with Managed Deep Agents connectors.\",\"href\":\"/langsmith/managed-deep-agents-connectors/index\"},{\"title\":\"Connect MCP tools to Managed Deep Agents\",\"sidebarTitle\":\"MCP\",\"description\":\"Declare remote MCP servers with Managed Deep Agents connectors.\",\"href\":\"/langsmith/managed-deep-agents-connectors/mcp\"},{\"title\":\"Expose LangSmith capabilities with Managed Deep Agents\",\"sidebarTitle\":\"LangSmith\",\"description\":\"Declare constrained LangSmith capabilities for untrusted callers with Managed Deep Agents connectors.\",\"href\":\"/langsmith/managed-deep-agents-connectors/langsmith\"}]},{\"title\":\"Add schedules to Managed Deep Agents\",\"sidebarTitle\":\"Schedules\",\"description\":\"Declare managed cron schedules for Managed Deep Agents deployments.\",\"href\":\"/langsmith/managed-deep-agents-schedules\"},{\"title\":\"Managed Deep Agents example project\",\"sidebarTitle\":\"Examples\",\"description\":\"An annotated Managed Deep Agents project that uses tools, middleware, connectors, schedules, skills, and a sandbox.\",\"href\":\"/langsmith/managed-deep-agents-examples\"},{\"title\":\"Deploy a Managed Deep Agent\",\"sidebarTitle\":\"Deploy an agent\",\"description\":\"Test and deploy a Managed Deep Agent with the mda CLI.\",\"href\":\"/langsmith/managed-deep-agents-deploy\"},{\"title\":\"Managed Deep Agents CLI reference\",\"sidebarTitle\":\"CLI reference\",\"description\":\"Reference for mda commands, project files, and deploy behavior.\",\"href\":\"/langsmith/managed-deep-agents-cli\"}]},{\"group\":\"Reference\",\"pages\":[{\"title\":\"Cloud Agent Server environment variables\",\"sidebarTitle\":\"Environment variables\",\"description\":\"Environment variables supported by the LangSmith Agent Server when deployed on Cloud.\",\"href\":\"/langsmith/env-var-cloud\"}]}]},{\"tab\":\"Deploy to Self-hosted\",\"pages\":[{\"title\":\"Deploy to self-hosted\",\"sidebarTitle\":\"Self-hosted overview\",\"icon\":\"buildings\",\"mode\":\"wide\",\"description\":\"Run the LangSmith Deployment platform on your own infrastructure with full control over data, networking, and resources.\",\"href\":\"/langsmith/deploy-to-self-hosted-overview\"},{\"title\":\"Deploy with control plane\",\"sidebarTitle\":\"With control plane\",\"icon\":\"cloud-upload\",\"description\":\"Build Docker images and deploy applications to a self-hosted LangSmith instance using the control plane UI.\",\"href\":\"/langsmith/deploy-with-control-plane\"},{\"title\":\"Hybrid\",\"sidebarTitle\":\"Hybrid\",\"icon\":\"cloud\",\"description\":\"A LangSmith Deployment setup where you self-host Agent Servers in your infrastructure and send traces to LangSmith Cloud or a self-hosted LangSmith instance.\",\"href\":\"/langsmith/hybrid\"},{\"title\":\"Self-host standalone servers\",\"sidebarTitle\":\"Standalone servers\",\"icon\":\"server\",\"description\":\"Deploy standalone Agent Servers using Docker, Docker Compose, or Kubernetes without the LangSmith control plane.\",\"href\":\"/langsmith/deploy-standalone-server\"},{\"group\":\"Configure\",\"pages\":[{\"title\":\"Self-hosted platform features\",\"sidebarTitle\":\"Platform features\",\"icon\":\"list-check\",\"description\":\"Self-hosted-only platform features for LangSmith Deployment, including custom databases, listeners, and resource customization.\",\"href\":\"/langsmith/self-hosted-platform-features\"},{\"title\":\"Agent Server metrics\",\"sidebarTitle\":\"Agent Server metrics\",\"icon\":\"chart-line\",\"description\":\"Reference for Agent Server OpenTelemetry metrics on self-hosted deployments, including Deployment UI metrics, internal metrics, and Datadog export.\",\"href\":\"/langsmith/self-hosted-agent-server-metrics\"},{\"title\":\"Configure Agent Server for scale\",\"sidebarTitle\":\"Agent Server scaling\",\"icon\":\"box-multiple\",\"description\":\"Tune the Agent Server for self-hosted deployments—write load, read load, and example Helm configurations for different load patterns.\",\"href\":\"/langsmith/agent-server-scale\"},{\"title\":\"Troubleshooting for self-hosted deployments\",\"sidebarTitle\":\"Troubleshooting\",\"icon\":\"stethoscope\",\"description\":\"Diagnostic steps for troubleshooting self-hosted LangSmith Deployment issues before contacting support.\",\"href\":\"/langsmith/diagnostics-self-hosted\"}]},{\"group\":\"Reference\",\"pages\":[{\"title\":\"Self-hosted Agent Server environment variables\",\"sidebarTitle\":\"Environment variables\",\"description\":\"Environment variables supported by the LangSmith Agent Server when deployed on self-hosted infrastructure.\",\"href\":\"/langsmith/env-var-self-hosted\"}]}]},{\"tab\":\"Sandboxes\",\"pages\":[{\"title\":\"LangSmith Sandboxes\",\"sidebarTitle\":\"Overview\",\"description\":\"Use LangSmith managed sandboxes to safely execute code and interact with the filesystem in isolated environments.\",\"href\":\"/langsmith/sandboxes\"},{\"title\":\"Sandbox snapshots\",\"sidebarTitle\":\"Snapshots\",\"description\":\"Build and capture reusable filesystem images for sandboxes.\",\"href\":\"/langsmith/sandbox-snapshots\"},{\"title\":\"Sandbox service URLs\",\"sidebarTitle\":\"Service URLs\",\"description\":\"Access HTTP services running inside sandboxes via authenticated URLs, from a browser or programmatically.\",\"href\":\"/langsmith/sandbox-service-urls\"},{\"title\":\"Sandbox auth proxy\",\"sidebarTitle\":\"Auth proxy\",\"description\":\"Inject credentials into outbound requests and control which destinations a sandbox can reach.\",\"href\":\"/langsmith/sandbox-auth-proxy\"},{\"title\":\"Sandbox mounts\",\"sidebarTitle\":\"Mounts\",\"description\":\"Mount S3 buckets, GCS buckets, and public Git repositories into LangSmith sandboxes.\",\"href\":\"/langsmith/sandbox-mounts\"},{\"title\":\"Sandbox access permissions\",\"sidebarTitle\":\"Permissions\",\"description\":\"Control who in your workspace can interact with a sandbox after it has been created.\",\"href\":\"/langsmith/sandbox-permissions\"},{\"title\":\"Sandbox CLI\",\"description\":\"Create, inspect, connect to, and tunnel into LangSmith sandboxes from the command line.\",\"href\":\"/langsmith/sandbox-cli\"},{\"title\":\"Sandbox SDK usage\",\"sidebarTitle\":\"SDK usage\",\"description\":\"Create and manage sandboxes programmatically with the Python or TypeScript SDK.\",\"href\":\"/langsmith/sandbox-sdk\"},{\"title\":\"Harbor integrations\",\"description\":\"Run evaluations, Deep Agents, and sandboxes on LangSmith with Harbor.\",\"href\":\"/langsmith/harbor-integrations\"}]},{\"tab\":\"Reference\",\"pages\":[{\"title\":\"Reference\",\"sidebarTitle\":\"Overview\",\"mode\":\"wide\",\"description\":\"Reference for the LangSmith Deployment SDKs, CLI, and APIs for deploying and interacting with agents.\",\"href\":\"/langsmith/deploy-reference-overview\"},{\"group\":\"Reference\",\"pages\":[{\"title\":\"LangSmith Deployment SDK\",\"url\":\"https://reference.langchain.com/python/langsmith/deployment/sdk/\",\"description\":null,\"href\":\"/langsmith/smith-deployments-sdk\"},{\"title\":\"LangGraph CLI\",\"sidebarTitle\":\"LangGraph CLI\",\"description\":null,\"href\":\"/langsmith/cli\"},{\"title\":\"RemoteGraph\",\"sidebarTitle\":\"RemoteGraph\",\"url\":\"https://reference.langchain.com/python/langsmith/deployment/remote_graph/\",\"description\":null,\"href\":\"/langsmith/remote-graph\"},{\"group\":\"Agent Server API\",\"pages\":[{\"title\":\"Agent Server API reference for LangSmith Deployment\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/langsmith/server-api-ref\"},{\"group\":\"Assistants\",\"pages\":[{\"title\":\"Create Assistant\",\"description\":\"Create an assistant.\\n\\nAn initial version of the assistant will be created and the assistant is set to that version. To change versions, use the `POST /assistants/{assistant_id}/latest` endpoint.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /assistants\",\"href\":\"/langsmith/agent-server-api/assistants/create-assistant\",\"autogeneratedByOpenApi\":true},{\"title\":\"Search Assistants\",\"description\":\"Search for assistants.\\n\\nThis endpoint also functions as the endpoint to list all assistants.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /assistants/search\",\"href\":\"/langsmith/agent-server-api/assistants/search-assistants\",\"autogeneratedByOpenApi\":true},{\"title\":\"Count Assistants\",\"description\":\"Get the count of assistants matching the specified criteria.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /assistants/count\",\"href\":\"/langsmith/agent-server-api/assistants/count-assistants\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Assistant\",\"description\":\"Get an assistant by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /assistants/{assistant_id}\",\"href\":\"/langsmith/agent-server-api/assistants/get-assistant\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete Assistant\",\"description\":\"Delete an assistant by ID.\\n\\nAll versions of the assistant will be deleted as well.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json delete /assistants/{assistant_id}\",\"href\":\"/langsmith/agent-server-api/assistants/delete-assistant\",\"autogeneratedByOpenApi\":true},{\"title\":\"Patch Assistant\",\"description\":\"Update an assistant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json patch /assistants/{assistant_id}\",\"href\":\"/langsmith/agent-server-api/assistants/patch-assistant\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Assistant Graph\",\"description\":\"Get an assistant by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /assistants/{assistant_id}/graph\",\"href\":\"/langsmith/agent-server-api/assistants/get-assistant-graph\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Assistant Subgraphs\",\"description\":\"Get an assistant's subgraphs.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /assistants/{assistant_id}/subgraphs\",\"href\":\"/langsmith/agent-server-api/assistants/get-assistant-subgraphs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Assistant Subgraphs by Namespace\",\"description\":\"Get an assistant's subgraphs filtered by namespace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /assistants/{assistant_id}/subgraphs/{namespace}\",\"href\":\"/langsmith/agent-server-api/assistants/get-assistant-subgraphs-by-namespace\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Assistant Schemas\",\"description\":\"Get an assistant by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /assistants/{assistant_id}/schemas\",\"href\":\"/langsmith/agent-server-api/assistants/get-assistant-schemas\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Assistant Versions\",\"description\":\"Get all versions of an assistant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /assistants/{assistant_id}/versions\",\"href\":\"/langsmith/agent-server-api/assistants/get-assistant-versions\",\"autogeneratedByOpenApi\":true},{\"title\":\"Set Latest Assistant Version\",\"description\":\"Set the latest version for an assistant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /assistants/{assistant_id}/latest\",\"href\":\"/langsmith/agent-server-api/assistants/set-latest-assistant-version\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Threads\",\"pages\":[{\"title\":\"Create Thread\",\"description\":\"Create a thread.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads\",\"href\":\"/langsmith/agent-server-api/threads/create-thread\",\"autogeneratedByOpenApi\":true},{\"title\":\"Search Threads\",\"description\":\"Search for threads.\\n\\nThis endpoint also functions as the endpoint to list all threads.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/search\",\"href\":\"/langsmith/agent-server-api/threads/search-threads\",\"autogeneratedByOpenApi\":true},{\"title\":\"Count Threads\",\"description\":\"Get the count of threads matching the specified criteria.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/count\",\"href\":\"/langsmith/agent-server-api/threads/count-threads\",\"autogeneratedByOpenApi\":true},{\"title\":\"Prune Threads\",\"description\":\"Prune threads by ID. The 'delete' strategy removes threads entirely. The 'keep_latest' strategy prunes old checkpoints but keeps threads and their latest state.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/prune\",\"href\":\"/langsmith/agent-server-api/threads/prune-threads\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Thread State\",\"description\":\"Get state for a thread.\\n\\nThe latest state of the thread (i.e. latest checkpoint) is returned.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /threads/{thread_id}/state\",\"href\":\"/langsmith/agent-server-api/threads/get-thread-state\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update Thread State\",\"description\":\"Add state to a thread.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/{thread_id}/state\",\"href\":\"/langsmith/agent-server-api/threads/update-thread-state\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Thread State At Checkpoint\",\"description\":\"Get state for a thread at a specific checkpoint.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /threads/{thread_id}/state/{checkpoint_id}\",\"href\":\"/langsmith/agent-server-api/threads/get-thread-state-at-checkpoint\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Thread State At Checkpoint\",\"description\":\"Get state for a thread at a specific checkpoint.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/{thread_id}/state/checkpoint\",\"href\":\"/langsmith/agent-server-api/threads/get-thread-state-at-checkpoint-1\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Thread History\",\"description\":\"Get all past states for a thread.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /threads/{thread_id}/history\",\"href\":\"/langsmith/agent-server-api/threads/get-thread-history\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Thread History Post\",\"description\":\"Get all past states for a thread.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/{thread_id}/history\",\"href\":\"/langsmith/agent-server-api/threads/get-thread-history-post\",\"autogeneratedByOpenApi\":true},{\"title\":\"Copy Thread\",\"description\":\"Create a new thread with a copy of the state and checkpoints from an existing thread.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/{thread_id}/copy\",\"href\":\"/langsmith/agent-server-api/threads/copy-thread\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Thread\",\"description\":\"Get a thread by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /threads/{thread_id}\",\"href\":\"/langsmith/agent-server-api/threads/get-thread\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete Thread\",\"description\":\"Delete a thread by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json delete /threads/{thread_id}\",\"href\":\"/langsmith/agent-server-api/threads/delete-thread\",\"autogeneratedByOpenApi\":true},{\"title\":\"Patch Thread\",\"description\":\"Update a thread.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json patch /threads/{thread_id}\",\"href\":\"/langsmith/agent-server-api/threads/patch-thread\",\"autogeneratedByOpenApi\":true},{\"title\":\"Join Thread Stream\",\"description\":\"This endpoint streams output in real-time from a thread. The stream will include the output of each run executed sequentially on the thread and will remain open indefinitely. It is the responsibility of the calling client to close the connection.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /threads/{thread_id}/stream\",\"href\":\"/langsmith/agent-server-api/threads/join-thread-stream\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Streaming\",\"pages\":[{\"title\":\"Protocol v2 Event Stream (SSE)\",\"description\":\"Open a connection-scoped SSE event stream for a thread. The request body is a `ProtocolEventStreamRequest` carrying channel and namespace filters; the server replies with `Content-Type: text/event-stream` and pushes matching `ProtocolEvent` frames for the lifetime of the connection. Closing the connection unsubscribes — no state is persisted server-side.\\n\\nReconnect: clients pass the last `seq` they received as `since` in the body. Buffered events with `seq \u003e since` are replayed before the stream goes live. The endpoint is POST-only, so browser-native `EventSource` auto-resume (`Last-Event-ID`) does not apply — clients drive resume explicitly via the body.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/{thread_id}/stream/events\",\"href\":\"/langsmith/agent-server-api/streaming/protocol-v2-event-stream-sse\",\"autogeneratedByOpenApi\":true},{\"title\":\"Protocol v2 Command\",\"description\":\"Send a single protocol command scoped to a thread. The request body is a `ProtocolCommand` envelope with a `method` (e.g. `run.start`, `input.respond`, `agent.getTree`) and method-specific `params`. The response is either a `ProtocolSuccess` (with method-specific `result`) or a `ProtocolError`.\\n\\nCommands that create runs (`run.start`, `input.respond`) leave the run executing in the background on the worker queue. Event streaming for that run is observed via a concurrent `POST /threads/{thread_id}/stream/events` connection.\\n\\nWebSocket clients use the same command envelope in-band on `/threads/{thread_id}/stream/events` and additionally have access to `subscription.subscribe` / `subscription.unsubscribe` over the same connection.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/{thread_id}/commands\",\"href\":\"/langsmith/agent-server-api/streaming/protocol-v2-command\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Thread Runs\",\"pages\":[{\"title\":\"List Runs\",\"description\":\"List runs for a thread.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /threads/{thread_id}/runs\",\"href\":\"/langsmith/agent-server-api/thread-runs/list-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create Background Run\",\"description\":\"Create a run in existing thread, return the run ID immediately. Don't wait for the final run output.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/{thread_id}/runs\",\"href\":\"/langsmith/agent-server-api/thread-runs/create-background-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create Run, Stream Output\",\"description\":\"Create a run in existing thread. Stream the output.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/{thread_id}/runs/stream\",\"href\":\"/langsmith/agent-server-api/thread-runs/create-run-stream-output\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create Run, Wait for Output\",\"description\":\"Create a run in existing thread. Wait for the final output and then return it.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/{thread_id}/runs/wait\",\"href\":\"/langsmith/agent-server-api/thread-runs/create-run-wait-for-output\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Run\",\"description\":\"Get a run by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /threads/{thread_id}/runs/{run_id}\",\"href\":\"/langsmith/agent-server-api/thread-runs/get-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete Run\",\"description\":\"Delete a run by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json delete /threads/{thread_id}/runs/{run_id}\",\"href\":\"/langsmith/agent-server-api/thread-runs/delete-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Join Run\",\"description\":\"Wait for a run to finish.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /threads/{thread_id}/runs/{run_id}/join\",\"href\":\"/langsmith/agent-server-api/thread-runs/join-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Join Run Stream\",\"description\":\"Join a run stream. This endpoint streams output in real-time from a run similar to the /threads/__THREAD_ID__/runs/stream endpoint. If the run has been created with `stream_resumable=true`, the stream can be resumed from the last seen event ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /threads/{thread_id}/runs/{run_id}/stream\",\"href\":\"/langsmith/agent-server-api/thread-runs/join-run-stream\",\"autogeneratedByOpenApi\":true},{\"title\":\"Cancel Run\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/{thread_id}/runs/{run_id}/cancel\",\"href\":\"/langsmith/agent-server-api/thread-runs/cancel-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Cancel Runs\",\"description\":\"Cancel one or more runs. Can cancel runs by thread ID and run IDs, or by status filter.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /runs/cancel\",\"href\":\"/langsmith/agent-server-api/thread-runs/cancel-runs\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Crons\",\"pages\":[{\"title\":\"Create Thread Cron\",\"description\":\"Create a cron to schedule runs on a thread.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /threads/{thread_id}/runs/crons\",\"href\":\"/langsmith/agent-server-api/crons/create-thread-cron\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create Cron\",\"description\":\"Create a cron to schedule runs on new threads.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /runs/crons\",\"href\":\"/langsmith/agent-server-api/crons/create-cron\",\"autogeneratedByOpenApi\":true},{\"title\":\"Search Crons\",\"description\":\"Search all active crons\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /runs/crons/search\",\"href\":\"/langsmith/agent-server-api/crons/search-crons\",\"autogeneratedByOpenApi\":true},{\"title\":\"Count Crons\",\"description\":\"Get the count of crons matching the specified criteria.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /runs/crons/count\",\"href\":\"/langsmith/agent-server-api/crons/count-crons\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Cron\",\"description\":\"Get a cron by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /runs/crons/{cron_id}\",\"href\":\"/langsmith/agent-server-api/crons/get-cron\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete Cron\",\"description\":\"Delete a cron by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json delete /runs/crons/{cron_id}\",\"href\":\"/langsmith/agent-server-api/crons/delete-cron\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update Cron\",\"description\":\"Update a cron job by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json patch /runs/crons/{cron_id}\",\"href\":\"/langsmith/agent-server-api/crons/update-cron\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Stateless Runs\",\"pages\":[{\"title\":\"Create Run, Stream Output\",\"description\":\"Create a run and stream the output.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /runs/stream\",\"href\":\"/langsmith/agent-server-api/stateless-runs/create-run-stream-output\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create Run, Wait for Output\",\"description\":\"Create a run, wait for the final output and then return it.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /runs/wait\",\"href\":\"/langsmith/agent-server-api/stateless-runs/create-run-wait-for-output\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create Background Run\",\"description\":\"Create a run and return the run ID immediately. Don't wait for the final run output.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /runs\",\"href\":\"/langsmith/agent-server-api/stateless-runs/create-background-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create Run Batch\",\"description\":\"Create a batch of runs and return immediately.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /runs/batch\",\"href\":\"/langsmith/agent-server-api/stateless-runs/create-run-batch\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Store\",\"pages\":[{\"title\":\"Retrieve a single item.\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /store/items\",\"href\":\"/langsmith/agent-server-api/store/retrieve-a-single-item\",\"autogeneratedByOpenApi\":true},{\"title\":\"Store or update an item.\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json put /store/items\",\"href\":\"/langsmith/agent-server-api/store/store-or-update-an-item\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete an item.\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json delete /store/items\",\"href\":\"/langsmith/agent-server-api/store/delete-an-item\",\"autogeneratedByOpenApi\":true},{\"title\":\"Search or list items within a namespace prefix.\",\"description\":\"Lists items ordered by last updated time. If a `query` is provided, performs a natural language search instead. Supports pagination via `limit` and `offset`, and filtering via `filter`.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /store/items/search\",\"href\":\"/langsmith/agent-server-api/store/search-or-list-items-within-a-namespace-prefix\",\"autogeneratedByOpenApi\":true},{\"title\":\"List namespaces with optional match conditions.\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /store/namespaces\",\"href\":\"/langsmith/agent-server-api/store/list-namespaces-with-optional-match-conditions\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"A2A\",\"pages\":[{\"title\":\"A2A JSON-RPC\",\"description\":\"Communicate with an assistant using the Agent-to-Agent (A2A) Protocol over JSON-RPC 2.0.\\nThis endpoint accepts a JSON-RPC envelope and dispatches based on `method`.\\n\\n**Supported Methods:**\\n- `message/send`: Send a message and wait for the final Task result.\\n- `message/stream`: Send a message and receive Server-Sent Events (SSE) JSON-RPC responses.\\n- `tasks/get`: Fetch the current state of a Task by ID.\\n- `tasks/cancel`: Request cancellation (currently not supported; returns an error).\\n\\n**LangGraph Mapping:**\\n- `message.contextId` maps to LangGraph `thread_id`.\\n\\n**Notes:**\\n- Only `text` and `data` parts are supported; `file` parts are not.\\n- If `message.contextId` is omitted, a new context is created.\\n- Text parts require the assistant input schema to include a `messages` field.\\n\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /a2a/{assistant_id}\",\"href\":\"/langsmith/agent-server-api/a2a/a2a-json-rpc\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"MCP\",\"pages\":[{\"title\":\"MCP Get\",\"description\":\"Implemented according to the Streamable HTTP Transport specification.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /mcp/\",\"href\":\"/langsmith/agent-server-api/mcp/mcp-get\",\"autogeneratedByOpenApi\":true},{\"title\":\"MCP Post\",\"description\":\"Implemented according to the Streamable HTTP Transport specification.\\nSends a JSON-RPC 2.0 message to the server.\\n\\n- **Request**: Provide an object with `jsonrpc`, `id`, `method`, and optional `params`.\\n- **Response**: Returns a JSON-RPC response or acknowledgment.\\n\\n**Notes:**\\n- Stateless: Sessions are not persisted across requests.\\n\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json post /mcp/\",\"href\":\"/langsmith/agent-server-api/mcp/mcp-post\",\"autogeneratedByOpenApi\":true},{\"title\":\"Terminate Session\",\"description\":\"Implemented according to the Streamable HTTP Transport specification.\\nTerminate an MCP session. The server implementation is stateless, so this is a no-op.\\n\\n\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json delete /mcp/\",\"href\":\"/langsmith/agent-server-api/mcp/terminate-session\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"System\",\"pages\":[{\"title\":\"Server Information\",\"description\":\"Get server version information, feature flags, and metadata.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /info\",\"href\":\"/langsmith/agent-server-api/system/server-information\",\"autogeneratedByOpenApi\":true},{\"title\":\"System Metrics\",\"description\":\"Get system metrics in Prometheus or JSON format for monitoring and observability.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /metrics\",\"href\":\"/langsmith/agent-server-api/system/system-metrics\",\"autogeneratedByOpenApi\":true},{\"title\":\"API Documentation\",\"description\":\"A local reference to the Agent Server API documentation.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /docs\",\"href\":\"/langsmith/agent-server-api/system/api-documentation\",\"autogeneratedByOpenApi\":true},{\"title\":\"Health Check\",\"description\":\"Check the health status of the server. Optionally check database connectivity.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/agent-server-openapi.json get /ok\",\"href\":\"/langsmith/agent-server-api/system/health-check\",\"autogeneratedByOpenApi\":true}]}]},{\"group\":\"Control Plane API\",\"pages\":[{\"title\":\"Control plane API reference for LangSmith Deployment\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/langsmith/api-ref-control-plane\"},{\"group\":\"Integrations (v1)\",\"pages\":[{\"title\":\"List GitHub Integrations\",\"description\":\"List available GitHub integrations for LangGraph Platfom Cloud SaaS.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v1/integrations/github/install\",\"href\":\"/api-reference/integrations-v1/list-github-integrations\",\"autogeneratedByOpenApi\":true},{\"title\":\"List GitHub Repositories\",\"description\":\"List available GitHub repositories for an integration that are available to deploy to LangSmith Deployment.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v1/integrations/github/{integration_id}/repos\",\"href\":\"/api-reference/integrations-v1/list-github-repositories\",\"autogeneratedByOpenApi\":true},{\"title\":\"List Forge GitHub Integrations\",\"description\":\"List available Forge GitHub integrations.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v1/integrations/forge/github/install\",\"href\":\"/api-reference/integrations-v1/list-forge-github-integrations\",\"autogeneratedByOpenApi\":true},{\"title\":\"List Forge GitHub Repositories\",\"description\":\"List available GitHub repositories for a Forge integration.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v1/integrations/forge/github/{integration_id}/repos\",\"href\":\"/api-reference/integrations-v1/list-forge-github-repositories\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Deployments (v2)\",\"pages\":[{\"title\":\"List Deployments\",\"description\":\"List all deployments.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/deployments\",\"href\":\"/api-reference/deployments-v2/list-deployments\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create Deployment\",\"description\":\"Create a new deployment.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json post /v2/deployments\",\"href\":\"/api-reference/deployments-v2/create-deployment\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete Deployments\",\"description\":\"Delete multiple deployments with partial success support.\\n\\nReturns:\\n    - 200: All deployments deleted successfully\\n    - 207: Some deployments deleted successfully, some failed\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json delete /v2/deployments\",\"href\":\"/api-reference/deployments-v2/delete-deployments\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Free Deployment Count\",\"description\":\"Return the number of free deployments used by the caller's organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/deployments/free-count\",\"href\":\"/api-reference/deployments-v2/get-free-deployment-count\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Deployment\",\"description\":\"Get a deployment by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/deployments/{deployment_id}\",\"href\":\"/api-reference/deployments-v2/get-deployment\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete Deployment\",\"description\":\"Delete a deployment by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json delete /v2/deployments/{deployment_id}\",\"href\":\"/api-reference/deployments-v2/delete-deployment\",\"autogeneratedByOpenApi\":true},{\"title\":\"Patch Deployment\",\"description\":\"Patch a deployment by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json patch /v2/deployments/{deployment_id}\",\"href\":\"/api-reference/deployments-v2/patch-deployment\",\"autogeneratedByOpenApi\":true},{\"title\":\"Patch Deployment Tier\",\"description\":\"Patch a deployment's fixed resource tier.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json patch /v2/deployments/{deployment_id}/deployment-tier\",\"href\":\"/api-reference/deployments-v2/patch-deployment-tier\",\"autogeneratedByOpenApi\":true},{\"title\":\"Patch Deployment Resource Tiers\",\"description\":\"Patch a deployment's compute and database resource tiers independently.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json patch /v2/deployments/{deployment_id}/resource-tiers\",\"href\":\"/api-reference/deployments-v2/patch-deployment-resource-tiers\",\"autogeneratedByOpenApi\":true},{\"title\":\"List Revisions\",\"description\":\"List all revisions for a deployment.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/deployments/{deployment_id}/revisions\",\"href\":\"/api-reference/deployments-v2/list-revisions\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Revision\",\"description\":\"Get a revision by ID for a deployment.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/deployments/{deployment_id}/revisions/{revision_id}\",\"href\":\"/api-reference/deployments-v2/get-revision\",\"autogeneratedByOpenApi\":true},{\"title\":\"Redeploy Revision\",\"description\":\"Redeploy a specific revision ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json post /v2/deployments/{deployment_id}/revisions/{revision_id}/redeploy\",\"href\":\"/api-reference/deployments-v2/redeploy-revision\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Listeners (v2)\",\"pages\":[{\"title\":\"List Listeners\",\"description\":\"List all listeners.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/listeners\",\"href\":\"/api-reference/listeners-v2/list-listeners\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create Listener\",\"description\":\"Create a listener.\u003cbr\u003e\\n\u003cbr\u003e\\nCreating a listener is only allowed for LangSmith organizations with self-hosted enterprise plans.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json post /v2/listeners\",\"href\":\"/api-reference/listeners-v2/create-listener\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Listener\",\"description\":\"Get a listener by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/listeners/{listener_id}\",\"href\":\"/api-reference/listeners-v2/get-listener\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete Listener\",\"description\":\"Delete a listener by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json delete /v2/listeners/{listener_id}\",\"href\":\"/api-reference/listeners-v2/delete-listener\",\"autogeneratedByOpenApi\":true},{\"title\":\"Patch Listener\",\"description\":\"Patch a listener by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json patch /v2/listeners/{listener_id}\",\"href\":\"/api-reference/listeners-v2/patch-listener\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Auth Service (v2)\",\"pages\":[{\"title\":\"List Oauth Providers\",\"description\":\"List OAuth providers.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/auth/providers\",\"href\":\"/api-reference/auth-service-v2/list-oauth-providers\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create Oauth Provider\",\"description\":\"Create a new OAuth provider manually.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json post /v2/auth/providers\",\"href\":\"/api-reference/auth-service-v2/create-oauth-provider\",\"autogeneratedByOpenApi\":true},{\"title\":\"List Platform Oauth Providers\",\"description\":\"List platform-level OAuth providers available to all workspaces.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/auth/platform-providers\",\"href\":\"/api-reference/auth-service-v2/list-platform-oauth-providers\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Platform Oauth Provider\",\"description\":\"Get a platform-level OAuth provider available to all workspaces.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/auth/platform-providers/{provider_id}\",\"href\":\"/api-reference/auth-service-v2/get-platform-oauth-provider\",\"autogeneratedByOpenApi\":true},{\"title\":\"Oauth Setup Callback\",\"description\":\"Handle OAuth setup callback redirect from GitHub Apps.\\n\\nThis endpoint handles the \\\"Setup URL\\\" callback from GitHub Apps, which is\\ntriggered when a user installs or updates their GitHub App installation.\\n\\nFor \\\"update\\\" actions (user modified repo access via GitHub), we just show\\na success page since no token exchange is needed.\\n\\nFor new installations with code/state, we process similar to the regular\\nOAuth callback.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/auth/setup/{provider_id}\",\"href\":\"/api-reference/auth-service-v2/oauth-setup-callback\",\"autogeneratedByOpenApi\":true},{\"title\":\"Oauth Callback Get\",\"description\":\"Handle OAuth callback redirect from OAuth providers.\\n\\nProcesses the OAuth token exchange, then redirects to the frontend callback\\npage for a consistent UI experience.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/auth/callback/{provider_id}\",\"href\":\"/api-reference/auth-service-v2/oauth-callback-get\",\"autogeneratedByOpenApi\":true},{\"title\":\"Oauth Callback\",\"description\":\"Finalize an OAuth flow.\\n\\nClaims the auth request, verifies the caller, exchanges the code, and saves the token.\\nUsed by both the frontend bridge and the headless flow (where a customer-owned service\\nforwards the code/state, optionally proxied through smith-go). In all cases the auth\\nrequest is user-initiated and the caller presents the end user's own credentials, so\\nthe authenticated user must match the user who initiated the flow.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json post /v2/auth/callback/{provider_id}\",\"href\":\"/api-reference/auth-service-v2/oauth-callback\",\"autogeneratedByOpenApi\":true},{\"title\":\"Authenticate\",\"description\":\"Get OAuth token or start authentication flow if needed.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json post /v2/auth/authenticate\",\"href\":\"/api-reference/auth-service-v2/authenticate\",\"autogeneratedByOpenApi\":true},{\"title\":\"Wait For Auth Completion\",\"description\":\"Wait for OAuth authentication completion.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/auth/wait/{auth_id}\",\"href\":\"/api-reference/auth-service-v2/wait-for-auth-completion\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create Mcp Oauth Provider\",\"description\":\"Create an OAuth provider via MCP auto-discovery.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json post /v2/auth/providers/mcp-discover\",\"href\":\"/api-reference/auth-service-v2/create-mcp-oauth-provider\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get Oauth Provider\",\"description\":\"Get a specific OAuth provider.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/auth/providers/{provider_id}\",\"href\":\"/api-reference/auth-service-v2/get-oauth-provider\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete Oauth Provider\",\"description\":\"Delete an OAuth provider.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json delete /v2/auth/providers/{provider_id}\",\"href\":\"/api-reference/auth-service-v2/delete-oauth-provider\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update Oauth Provider\",\"description\":\"Update an OAuth provider.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json patch /v2/auth/providers/{provider_id}\",\"href\":\"/api-reference/auth-service-v2/update-oauth-provider\",\"autogeneratedByOpenApi\":true},{\"title\":\"List Oauth Tokens For User\",\"description\":\"List the calling user's tokens for a provider.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/auth/tokens\",\"href\":\"/api-reference/auth-service-v2/list-oauth-tokens-for-user\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete Oauth Tokens For User\",\"description\":\"Delete all tokens for the current user for the given provider (across agents).\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json delete /v2/auth/tokens\",\"href\":\"/api-reference/auth-service-v2/delete-oauth-tokens-for-user\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update Token Label\",\"description\":\"Update a token's provider_account_label. Only the token owner can update.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json patch /v2/auth/tokens/{token_id}/metadata\",\"href\":\"/api-reference/auth-service-v2/update-token-label\",\"autogeneratedByOpenApi\":true},{\"title\":\"Import Oauth Token\",\"description\":\"Persist a directly-obtained OAuth token (no authorization-code exchange).\\n\\nThe Slack managed-install flow receives a bot token inline from\\n``apps.managedInstall`` instead of through the browser OAuth redirect. This\\nstores it (Fernet-encrypted at rest, via ``create_oauth_token``) for the\\ncaller's org/user against an existing provider. Requiring the provider to\\nalready exist in the caller's org scopes the write and blocks cross-org\\ntoken creation. The token value is never logged or returned.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json post /v2/auth/tokens/import\",\"href\":\"/api-reference/auth-service-v2/import-oauth-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete Single Oauth Token\",\"description\":\"Delete a specific OAuth token, revoking it at the provider first.\\n\\nOnly the token owner can delete it.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json delete /v2/auth/tokens/{token_id}\",\"href\":\"/api-reference/auth-service-v2/delete-single-oauth-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"Check Oauth Token Exists\",\"description\":\"Return whether the current user has any tokens for a given provider (across agents).\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/auth/tokens/exists\",\"href\":\"/api-reference/auth-service-v2/check-oauth-token-exists\",\"autogeneratedByOpenApi\":true},{\"title\":\"Check Oauth Tokens Exist Batch\",\"description\":\"Batch token-presence check: per requested provider, whether the current user has any token.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json post /v2/auth/tokens/exists/batch\",\"href\":\"/api-reference/auth-service-v2/check-oauth-tokens-exist-batch\",\"autogeneratedByOpenApi\":true},{\"title\":\"Check Workspace Slack Tokens Exist\",\"description\":\"Check if the workspace has any Slack tokens.\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/auth/tokens/workspace/slack/exists\",\"href\":\"/api-reference/auth-service-v2/check-workspace-slack-tokens-exist\",\"autogeneratedByOpenApi\":true},{\"title\":\"Revoke All Slack Tokens For Workspace\",\"description\":\"Revoke ALL Slack tokens for the workspace. Admin-only action that disconnects Slack entirely.\\n\\nThis is a destructive operation that:\\n- Revokes all Slack tokens on Slack's side for all users in the workspace\\n- Deletes all Slack tokens from the database\",\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json delete /v2/auth/tokens/workspace/slack\",\"href\":\"/api-reference/auth-service-v2/revoke-all-slack-tokens-for-workspace\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Agent Connections (v2)\",\"pages\":[{\"title\":\"List Connections\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json get /v2/auth/agents/{agent_id}/connections\",\"href\":\"/api-reference/agent-connections-v2/list-connections\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create Connection\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json post /v2/auth/agents/{agent_id}/connections\",\"href\":\"/api-reference/agent-connections-v2/create-connection\",\"autogeneratedByOpenApi\":true},{\"title\":\"Remove Connection\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"https://api.host.langchain.com/openapi.json delete /v2/auth/agents/{agent_id}/connections/{connection_id}\",\"href\":\"/api-reference/agent-connections-v2/remove-connection\",\"autogeneratedByOpenApi\":true}]}]},{\"title\":\"Agent Server changelog\",\"sidebarTitle\":\"Agent Server changelog\",\"rss\":true,\"description\":null,\"href\":\"/langsmith/agent-server-changelog\"}]},{\"group\":\"Related\",\"pages\":[{\"title\":\"LangGraph Python SDK\",\"sidebarTitle\":\"LangGraph Python SDK\",\"url\":\"https://reference.langchain.com/python/langgraph-sdk\",\"description\":null,\"href\":\"/langsmith/langgraph-python-sdk\"},{\"title\":\"LangGraph JS/TS SDK\",\"sidebarTitle\":\"LangGraph JS/TS SDK\",\"url\":\"https://reference.langchain.com/javascript/langchain-langgraph-sdk\",\"description\":null,\"href\":\"/langsmith/langgraph-js-ts-sdk\"}]}]}]},{\"item\":\"Monitor\",\"icon\":\"chart-line\",\"description\":\"Trace, debug, and observe agents\",\"tabs\":[{\"tab\":\"Overview\",\"pages\":[{\"title\":\"LangSmith Observability\",\"sidebarTitle\":\"Overview\",\"description\":\"Instrument your LLM application, investigate traces, and monitor performance in production with LangSmith.\",\"mode\":\"custom\",\"href\":\"/langsmith/observability\"}]},{\"tab\":\"Engine\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/engine-icon-no-bg-dark.svg\",\"pages\":[{\"title\":\"LangSmith Engine\",\"sidebarTitle\":\"Overview\",\"description\":\"LangSmith Engine is the agent for agent engineering, turning production traces into fixes, evaluators, and datasets across the development lifecycle.\",\"mode\":\"wide\",\"href\":\"/langsmith/engine-overview\"},{\"title\":\"Find and fix your agent's issues with LangSmith Engine\",\"sidebarTitle\":\"Find and fix issues\",\"description\":\"Automatically detect and resolve recurring issues in your tracing project using LangSmith Engine.\",\"href\":\"/langsmith/engine\"},{\"title\":\"LangSmith Engine webhook events\",\"sidebarTitle\":\"Engine webhook events\",\"description\":\"Reference for the webhook events LangSmith Engine sends when it creates issues or links new traces to existing issues.\",\"href\":\"/langsmith/engine-webhooks\"},{\"title\":\"LangSmith Engine security\",\"sidebarTitle\":\"Security\",\"description\":\"How LangSmith Engine handles your data, the GitHub and model subprocessor controls that govern its access, and its compliance posture.\",\"href\":\"/langsmith/engine-security\"},{\"title\":\"LangSmith Engine on self-hosted\",\"sidebarTitle\":\"Self-hosted\",\"description\":\"How LangSmith Engine runs in a self-hosted deployment, how it reaches managed inference over a private link, and what that means for your data.\",\"href\":\"/langsmith/engine-self-hosted\"}]},{\"tab\":\"Trace\",\"pages\":[{\"title\":\"Tracing quickstart\",\"sidebarTitle\":\"Quickstart\",\"description\":\"Add LangSmith tracing to an LLM application in minutes.\",\"icon\":\"rocket\",\"href\":\"/langsmith/observability-quickstart\"},{\"title\":\"Trace an LLM application tutorial\",\"sidebarTitle\":\"Tutorial\",\"description\":\"Add LangSmith observability to an LLM application across prototyping, beta testing, and production.\",\"icon\":\"school\",\"href\":\"/langsmith/observability-llm-tutorial\"},{\"title\":\"Observability concepts\",\"sidebarTitle\":\"Concepts\",\"icon\":\"book\",\"description\":null,\"href\":\"/langsmith/observability-concepts\"},{\"title\":\"LangSmith Chat\",\"sidebarTitle\":\"Chat\",\"url\":\"https://docs.langchain.com/langsmith/chat#observability\",\"icon\":\"feather\",\"description\":\"Use Chat to analyze traces and runs.\",\"href\":\"/langsmith/chat-observability\"},{\"group\":\"Tracing setup\",\"pages\":[{\"group\":\"Integrations\",\"icon\":\"plug\",\"pages\":[{\"title\":\"Integrations\",\"sidebarTitle\":\"Overview\",\"mode\":\"wide\",\"description\":null,\"href\":\"/langsmith/integrations\"},{\"group\":\"LLM providers\",\"pages\":[{\"title\":\"Trace Anthropic applications\",\"sidebarTitle\":\"Anthropic\",\"description\":null,\"href\":\"/langsmith/trace-anthropic\"},{\"title\":\"Trace Amazon Bedrock applications\",\"sidebarTitle\":\"Bedrock\",\"description\":null,\"href\":\"/langsmith/trace-bedrock\"},{\"title\":\"Trace DeepSeek applications\",\"sidebarTitle\":\"DeepSeek\",\"description\":null,\"href\":\"/langsmith/trace-deepseek\"},{\"title\":\"Trace Google Gemini applications\",\"sidebarTitle\":\"Google Gemini\",\"description\":null,\"href\":\"/langsmith/trace-with-google-gemini\"},{\"title\":\"Trace LangChain applications (Python and JS/TS)\",\"sidebarTitle\":\"LangChain\",\"description\":null,\"href\":\"/langsmith/trace-with-langchain\"},{\"title\":\"Trace LiteLLM applications\",\"sidebarTitle\":\"LiteLLM\",\"description\":null,\"href\":\"/langsmith/trace-litellm\"},{\"title\":\"Trace Mistral applications\",\"sidebarTitle\":\"Mistral\",\"description\":null,\"href\":\"/langsmith/trace-with-mistral\"},{\"title\":\"Trace OpenAI applications\",\"sidebarTitle\":\"OpenAI\",\"description\":null,\"href\":\"/langsmith/trace-openai\"},{\"title\":\"Trace OpenAI-compatible providers\",\"sidebarTitle\":\"OpenAI-compatible APIs\",\"description\":\"Trace LLM calls from any OpenAI-compatible provider to LangSmith.\",\"href\":\"/langsmith/trace-with-openai-compatible\"}]},{\"group\":\"Agent frameworks\",\"pages\":[{\"title\":\"Trace AutoGen applications\",\"sidebarTitle\":\"AutoGen\",\"description\":null,\"href\":\"/langsmith/trace-with-autogen\"},{\"title\":\"Trace Claude Agent SDK applications\",\"sidebarTitle\":\"Claude Agent SDK\",\"description\":null,\"href\":\"/langsmith/trace-claude-agent-sdk\"},{\"title\":\"Trace CrewAI applications\",\"sidebarTitle\":\"CrewAI\",\"description\":null,\"href\":\"/langsmith/trace-with-crewai\"},{\"title\":\"Trace Deep Agents applications\",\"sidebarTitle\":\"Deep Agents\",\"description\":null,\"href\":\"/langsmith/trace-deep-agents\"},{\"title\":\"Trace Google ADK applications\",\"sidebarTitle\":\"Google ADK\",\"description\":null,\"href\":\"/langsmith/trace-with-google-adk\"},{\"title\":\"Trace LangGraph applications\",\"sidebarTitle\":\"LangGraph\",\"description\":null,\"href\":\"/langsmith/trace-with-langgraph\"},{\"title\":\"Trace Mastra applications\",\"sidebarTitle\":\"Mastra\",\"description\":null,\"href\":\"/langsmith/trace-with-mastra\"},{\"title\":\"Trace Microsoft Agent Framework applications\",\"sidebarTitle\":\"Microsoft Agent Framework\",\"description\":null,\"href\":\"/langsmith/trace-with-microsoft-agent-framework\"},{\"title\":\"Trace OpenAI Agents SDK applications\",\"sidebarTitle\":\"OpenAI Agents SDK\",\"description\":\"Trace OpenAI Agents SDK Python and JavaScript applications with LangSmith.\",\"href\":\"/langsmith/trace-with-openai-agents-sdk\"},{\"title\":\"Trace with OpenTelemetry\",\"description\":\"Configure OpenTelemetry tracing in LangSmith, including LANGSMITH_OTEL_ENABLED and OTEL fanout with the OpenTelemetry Collector.\",\"sidebarTitle\":\"OpenTelemetry\",\"href\":\"/langsmith/trace-with-opentelemetry\"},{\"title\":\"Trace PydanticAI applications\",\"sidebarTitle\":\"PydanticAI\",\"description\":null,\"href\":\"/langsmith/trace-with-pydantic-ai\"},{\"title\":\"Trace Semantic Kernel applications\",\"sidebarTitle\":\"Semantic Kernel\",\"description\":null,\"href\":\"/langsmith/trace-with-semantic-kernel\"},{\"title\":\"Trace Strands Agents applications\",\"sidebarTitle\":\"Strands Agents\",\"description\":\"Trace Strands Agents applications with LangSmith.\",\"href\":\"/langsmith/trace-with-strands-agents\"},{\"title\":\"Trace Vercel AI SDK applications (JS/TS only)\",\"sidebarTitle\":\"Vercel AI SDK\",\"description\":\"Trace Vercel AI SDK applications with LangSmith for AI SDK v5, v6, and v7.\",\"href\":\"/langsmith/trace-with-vercel-ai-sdk\"}]},{\"group\":\"Voice AI frameworks\",\"pages\":[{\"title\":\"Voice tracing fundamentals\",\"sidebarTitle\":\"Voice fundamentals\",\"description\":\"Best practices for tracing voice and audio agents in LangSmith, including conversation audio, single-trace conversations, and the audio modality flag.\",\"href\":\"/langsmith/trace-voice-fundamentals\"},{\"title\":\"Trace OpenAI Realtime applications\",\"sidebarTitle\":\"OpenAI Realtime\",\"tag\":\"Beta\",\"description\":\"Trace OpenAI Realtime voice agents in LangSmith using the LangSmith SDK.\",\"href\":\"/langsmith/trace-openai-realtime\"},{\"title\":\"Trace Gemini Live applications\",\"sidebarTitle\":\"Gemini Live\",\"tag\":\"Beta\",\"description\":\"Trace Gemini Live voice agents built with the Google Agent Development Kit (ADK) in LangSmith.\",\"href\":\"/langsmith/trace-gemini-live\"},{\"title\":\"Trace LiveKit applications\",\"sidebarTitle\":\"LiveKit\",\"tag\":\"Beta\",\"description\":null,\"href\":\"/langsmith/trace-with-livekit\"},{\"title\":\"Trace Pipecat applications\",\"sidebarTitle\":\"Pipecat\",\"tag\":\"Beta\",\"description\":null,\"href\":\"/langsmith/trace-with-pipecat\"}]},{\"group\":\"Developer tools\",\"pages\":[{\"title\":\"Coding agent metadata contract\",\"sidebarTitle\":\"Metadata contract\",\"description\":\"The metadata schema that standardizes what trace metadata coding agents must emit when sending runs to LangSmith.\",\"href\":\"/langsmith/coding-agent-metadata-contract\"},{\"title\":\"Trace Claude Code applications\",\"sidebarTitle\":\"Claude Code\",\"description\":null,\"href\":\"/langsmith/trace-claude-code\"},{\"title\":\"Trace OpenAI Codex sessions\",\"sidebarTitle\":\"OpenAI Codex\",\"description\":\"Capture OpenAI Codex agent turns, tool calls, model metadata, and subagent threads in LangSmith.\",\"href\":\"/langsmith/trace-with-codex\"},{\"title\":\"Trace OpenCode sessions\",\"sidebarTitle\":\"OpenCode\",\"description\":\"Capture OpenCode sessions, assistant turns, tool calls, and subagent activity in LangSmith.\",\"href\":\"/langsmith/trace-with-opencode\"},{\"title\":\"Trace Cursor sessions\",\"sidebarTitle\":\"Cursor\",\"description\":\"Capture Cursor agent turns, tool calls, model metadata, token usage, attachments, and subagents in LangSmith.\",\"href\":\"/langsmith/trace-with-cursor\"},{\"title\":\"Trace Pi coding agent sessions\",\"sidebarTitle\":\"Pi\",\"description\":\"Trace Pi coding agent invocations to LangSmith to observe turns, debug tool calls, track token usage, and inspect individual LLM invocations.\",\"href\":\"/langsmith/trace-with-pi\"},{\"title\":\"Trace Instructor applications\",\"sidebarTitle\":\"Instructor (Python only)\",\"description\":null,\"href\":\"/langsmith/trace-with-instructor\"},{\"title\":\"Trace n8n workflows\",\"sidebarTitle\":\"n8n\",\"description\":\"Learn how to trace n8n AI workflows in LangSmith.\",\"href\":\"/langsmith/trace-with-n8n\"},{\"title\":\"Trace with Temporal\",\"sidebarTitle\":\"Temporal\",\"description\":\"Learn how to trace Temporal workflows and activities in LangSmith using OpenTelemetry.\",\"href\":\"/langsmith/trace-with-temporal\"},{\"title\":\"Trace Visual Studio Code Copilot Chat sessions\",\"sidebarTitle\":\"VS Code Copilot\",\"description\":\"Capture VS Code Copilot Chat agent interactions, LLM calls, tool executions, and token usage in LangSmith via OpenTelemetry.\",\"href\":\"/langsmith/trace-with-vscode-copilot\"}]}]},{\"group\":\"Manual instrumentation\",\"pages\":[{\"title\":\"Custom instrumentation\",\"sidebarTitle\":\"Customize instrumentation\",\"description\":\"Instrument your code directly to control which functions are traced and how they appear in LangSmith.\",\"href\":\"/langsmith/annotate-code\"},{\"title\":\"Trace with API\",\"sidebarTitle\":\"Trace with API\",\"description\":\"Learn how to trace LLM applications using the LangSmith REST API directly.\",\"href\":\"/langsmith/trace-with-api\"},{\"title\":\"Log LLM calls\",\"sidebarTitle\":\"Log LLM calls\",\"description\":null,\"href\":\"/langsmith/log-llm-trace\"},{\"title\":\"Log retriever traces\",\"sidebarTitle\":\"Log retriever traces\",\"description\":\"Log retrieval steps in LangSmith traces for document-level visibility into your RAG pipeline.\",\"href\":\"/langsmith/log-retriever-trace\"},{\"title\":\"Metadata parameters reference\",\"sidebarTitle\":\"Metadata parameters\",\"description\":null,\"href\":\"/langsmith/ls-metadata-parameters\"},{\"title\":\"Upload files with traces\",\"sidebarTitle\":\"Upload files with traces\",\"description\":null,\"href\":\"/langsmith/upload-files-with-traces\"}]}]},{\"group\":\"Configuration \u0026 troubleshooting\",\"pages\":[{\"group\":\"Project \u0026 environment settings\",\"pages\":[{\"title\":\"Log traces to a specific project\",\"sidebarTitle\":\"Log traces to a specific project\",\"description\":\"Route LangSmith traces to a named project instead of the default project using environment variables or the SDK.\",\"href\":\"/langsmith/log-traces-to-project\"},{\"title\":\"Trace without setting environment variables\",\"sidebarTitle\":\"Trace without env vars\",\"mode\":\"wide\",\"keywords\":\"cloudflare, cloudflare workers, serverless\",\"description\":null,\"href\":\"/langsmith/trace-without-env-vars\"},{\"title\":\"Conditional tracing\",\"sidebarTitle\":\"Conditional tracing\",\"description\":null,\"href\":\"/langsmith/conditional-tracing\"},{\"title\":\"Set a sampling rate for traces\",\"sidebarTitle\":\"Set a sampling rate for traces\",\"description\":null,\"href\":\"/langsmith/sample-traces\"}]},{\"title\":\"Cost tracking\",\"sidebarTitle\":\"Cost tracking\",\"description\":null,\"href\":\"/langsmith/cost-tracking\"},{\"title\":\"Usage and billing\",\"sidebarTitle\":\"Usage and billing\",\"description\":\"Understand LangSmith trace data retention tiers, pricing, rate limits, and usage limits.\",\"href\":\"/langsmith/usage-and-billing\"},{\"group\":\"Advanced tracing techniques\",\"pages\":[{\"title\":\"Implement distributed tracing\",\"sidebarTitle\":\"Implement distributed tracing\",\"description\":null,\"href\":\"/langsmith/distributed-tracing\"},{\"title\":\"Access the current run (span) within a traced function\",\"sidebarTitle\":\"Access the current run (span) within a traced function\",\"description\":null,\"href\":\"/langsmith/access-current-span\"},{\"title\":\"Trace JS functions in serverless environments\",\"sidebarTitle\":\"Trace JS functions in serverless environments\",\"description\":null,\"href\":\"/langsmith/serverless-environments\"},{\"title\":\"Log multimodal traces\",\"sidebarTitle\":\"Log multimodal traces\",\"description\":null,\"href\":\"/langsmith/log-multimodal-traces\"},{\"title\":\"Trace generator functions\",\"sidebarTitle\":\"Trace generator functions\",\"description\":null,\"href\":\"/langsmith/trace-generator-functions\"}]},{\"group\":\"Data \u0026 privacy\",\"pages\":[{\"title\":\"Add metadata and tags to traces\",\"sidebarTitle\":\"Add metadata and tags to traces\",\"description\":null,\"href\":\"/langsmith/add-metadata-tags\"},{\"title\":\"Prevent logging of sensitive data in traces\",\"sidebarTitle\":\"Prevent logging of sensitive data in traces\",\"description\":null,\"href\":\"/langsmith/mask-inputs-outputs\"},{\"title\":\"Redact secrets from traces\",\"description\":\"Prevent API keys, tokens, and other secrets from appearing in LangSmith traces using the SDK anonymizer.\",\"href\":\"/langsmith/redact-secrets\"},{\"title\":\"Redact sensitive data with the OpenTelemetry Gateway architecture\",\"sidebarTitle\":\"Redact sensitive data with OTEL\",\"description\":\"Use an OpenTelemetry collector to redact sensitive data from traces before they land in LangSmith.\",\"href\":\"/langsmith/otel-gateway-trace-redaction\"}]},{\"group\":\"Troubleshooting guides\",\"pages\":[{\"title\":\"Troubleshoot trace nesting\",\"sidebarTitle\":\"Troubleshoot trace nesting\",\"description\":null,\"href\":\"/langsmith/nest-traces\"},{\"title\":\"Troubleshoot variable caching\",\"sidebarTitle\":\"Troubleshoot variable caching\",\"description\":null,\"href\":\"/langsmith/troubleshooting-variable-caching\"}]}]}]},{\"tab\":\"Debug\",\"pages\":[{\"group\":\"Viewing \u0026 managing traces\",\"pages\":[{\"title\":\"View traces\",\"description\":\"Inspect agent threads in LangSmith using the Messages view or Details view.\",\"href\":\"/langsmith/view-traces\"},{\"title\":\"Filter traces\",\"sidebarTitle\":\"Filter traces\",\"description\":null,\"href\":\"/langsmith/filter-traces-in-application\"},{\"title\":\"Configure run input and output preview\",\"sidebarTitle\":\"Configure run previews\",\"description\":\"Customize what appears in the Input and Output columns of the Runs table by configuring custom preview paths for specific trace types.\",\"href\":\"/langsmith/configure-input-output-preview\"},{\"title\":\"Manage a trace\",\"description\":\"Share traces publicly, and view server logs from the Details view in LangSmith.\",\"href\":\"/langsmith/manage-trace\"},{\"title\":\"Query traces using the SDK\",\"sidebarTitle\":\"Query traces\",\"tag\":\"SDK\",\"description\":null,\"href\":\"/langsmith/export-traces\"},{\"title\":\"Trace query syntax\",\"sidebarTitle\":\"Trace query syntax\",\"description\":null,\"href\":\"/langsmith/trace-query-syntax\"},{\"title\":\"Query threads using the SDK\",\"sidebarTitle\":\"Query threads\",\"description\":\"Programmatically fetch and inspect multi-turn conversation threads from your LangSmith projects.\",\"tag\":\"SDK\",\"href\":\"/langsmith/query-threads\"},{\"title\":\"LangSmith Remote MCP\",\"description\":\"Connect MCP-compatible clients to LangSmith over OAuth, or authenticate programmatic clients with a LangSmith API key.\",\"href\":\"/langsmith/langsmith-remote-mcp\"},{\"title\":\"LangSmith MCP Server\",\"description\":\"Use the Model Context Protocol (MCP) server to let language models fetch conversation history, prompts, runs, datasets, experiments, and billing from LangSmith.\",\"href\":\"/langsmith/langsmith-mcp-server\"}]},{\"title\":\"Configure threads\",\"sidebarTitle\":\"Threads\",\"description\":null,\"href\":\"/langsmith/threads\"},{\"group\":\"Bulk export trace data\",\"pages\":[{\"title\":\"Bulk export trace data\",\"sidebarTitle\":\"Set up bulk export\",\"description\":\"Export LangSmith trace data to an S3-compatible bucket in Parquet format.\",\"href\":\"/langsmith/data-export\"},{\"title\":\"Manage bulk export destinations\",\"description\":\"Configure and manage S3-compatible export destinations for LangSmith bulk exports.\",\"href\":\"/langsmith/data-export-destinations\"},{\"title\":\"Monitor and troubleshoot bulk exports\",\"description\":\"Monitor bulk export status, manage running exports, and troubleshoot failures.\",\"href\":\"/langsmith/data-export-monitor\"},{\"title\":\"Import exported data\",\"description\":\"Import LangSmith bulk-exported Parquet data into BigQuery, Snowflake, Redshift, Clickhouse, or DuckDB.\",\"href\":\"/langsmith/data-export-downstream\"},{\"title\":\"Export trace data to BigQuery\",\"sidebarTitle\":\"Export to BigQuery\",\"description\":\"Load LangSmith trace data into BigQuery using bulk export to GCS.\",\"href\":\"/langsmith/big-query-bulk-export\"}]},{\"group\":\"Messages view\",\"pages\":[{\"title\":\"Messages view integrations\",\"description\":\"Frameworks and SDKs that render in the LangSmith Messages view.\",\"href\":\"/langsmith/messages-view-integrations\"},{\"title\":\"Messages view trace format reference\",\"sidebarTitle\":\"Messages view reference\",\"description\":\"Detection rules, payload shapes, and examples for how the LangSmith Messages view extracts conversations from traces.\",\"href\":\"/langsmith/messages-view-trace-format\"}]},{\"group\":\"Data type reference\",\"pages\":[{\"title\":\"Run (span) data format\",\"sidebarTitle\":\"Run (span) data format\",\"description\":null,\"href\":\"/langsmith/run-data-format\"},{\"title\":\"Feedback data format\",\"sidebarTitle\":\"Feedback data format\",\"description\":null,\"href\":\"/langsmith/feedback-data-format\"}]}]},{\"tab\":\"Observe\",\"pages\":[{\"group\":\"Monitoring \u0026 alerting\",\"pages\":[{\"title\":\"Monitor projects with dashboards\",\"sidebarTitle\":\"Monitor projects with dashboards\",\"description\":null,\"href\":\"/langsmith/dashboards\"},{\"title\":\"Alerts in LangSmith\",\"sidebarTitle\":\"Alerts\",\"description\":null,\"href\":\"/langsmith/alerts\"},{\"title\":\"Discover errors and usage patterns with Insights\",\"sidebarTitle\":\"Insights\",\"description\":\"Use LangSmith Insights to automatically analyze traces, detect usage patterns, identify common agent behaviors, and surface failure modes without manual trace review.\",\"href\":\"/langsmith/insights\"}]},{\"group\":\"Online evaluators\",\"pages\":[{\"title\":\"Set up LLM-as-a-judge online evaluators\",\"sidebarTitle\":\"LLM-as-a-judge\",\"description\":null,\"href\":\"/langsmith/online-evaluations-llm-as-judge\"},{\"title\":\"Set up multi-turn online evaluators\",\"sidebarTitle\":\"Multi-turn evaluators\",\"description\":null,\"href\":\"/langsmith/online-evaluations-multi-turn\"},{\"title\":\"Set up online code evaluators\",\"sidebarTitle\":\"Code evaluators\",\"description\":null,\"href\":\"/langsmith/online-evaluations-code\"},{\"title\":\"Set up composite online evaluators\",\"sidebarTitle\":\"Composite evaluators\",\"description\":null,\"href\":\"/langsmith/online-evaluations-composite\"}]},{\"group\":\"Automations\",\"pages\":[{\"title\":\"Set up automation rules\",\"sidebarTitle\":\"Set up automation rules\",\"description\":null,\"href\":\"/langsmith/rules\"},{\"title\":\"Configure webhook notifications for rules\",\"sidebarTitle\":\"Configure webhook notifications for rules\",\"description\":\"Configure webhook notifications to receive POST requests when automation rules match new runs in LangSmith.\",\"href\":\"/langsmith/webhooks\"}]}]},{\"tab\":\"Reference\",\"pages\":[{\"title\":\"LangSmith reference\",\"sidebarTitle\":\"Overview\",\"mode\":\"wide\",\"description\":null,\"href\":\"/langsmith/reference\"},{\"title\":\"LangSmith Python SDK\",\"sidebarTitle\":\"LangSmith Python SDK\",\"url\":\"https://reference.langchain.com/python/langsmith/observability/sdk/\",\"description\":null,\"href\":\"/langsmith/smith-python-sdk\"},{\"title\":\"LangSmith JS/TS SDK\",\"sidebarTitle\":\"LangSmith JS/TS SDK\",\"url\":\"https://reference.langchain.com/javascript/modules/langsmith.html\",\"description\":null,\"href\":\"/langsmith/smith-js-ts-sdk\"},{\"title\":\"LangSmith Go SDK\",\"sidebarTitle\":\"LangSmith Go SDK\",\"url\":\"https://reference.langchain.com/go/langsmith\",\"description\":null,\"href\":\"/langsmith/smith-go-sdk\"},{\"title\":\"LangSmith Java SDK\",\"sidebarTitle\":\"LangSmith Java SDK\",\"url\":\"https://reference.langchain.com/java/langsmith\",\"description\":null,\"href\":\"/langsmith/smith-java-sdk\"},{\"group\":\"LangSmith REST API\",\"pages\":[{\"title\":\"LangSmith API reference\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/langsmith/smith-api-ref\"},{\"group\":\"System\",\"pages\":[{\"title\":\"Get server info\",\"description\":\"Get information about the current deployment of LangSmith.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/info\",\"href\":\"/langsmith/smith-api/info/get-server-info\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get health info\",\"description\":\"Get health information about the current deployment of LangSmith.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/info/health\",\"href\":\"/langsmith/smith-api/info/get-health-info\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get shared run\",\"description\":\"Get the shared run.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/{share_token}/run\",\"href\":\"/langsmith/smith-api/public/get-shared-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get shared run by ID\",\"description\":\"Get the shared run.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/{share_token}/run/{id}\",\"href\":\"/langsmith/smith-api/public/get-shared-run-by-id\",\"autogeneratedByOpenApi\":true},{\"title\":\"Query shared runs\",\"description\":\"Get run by ids or the shared run if not specifed.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/public/{share_token}/runs/query\",\"href\":\"/langsmith/smith-api/public/query-shared-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read shared feedbacks\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/{share_token}/feedbacks\",\"href\":\"/langsmith/smith-api/public/read-shared-feedbacks\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read shared dataset\",\"description\":\"Get dataset by ids or the shared dataset if not specifed.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/{share_token}/datasets\",\"href\":\"/langsmith/smith-api/public/read-shared-dataset\",\"autogeneratedByOpenApi\":true},{\"title\":\"Count shared examples\",\"description\":\"Count all examples by query params\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/{share_token}/examples/count\",\"href\":\"/langsmith/smith-api/public/count-shared-examples\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read shared examples\",\"description\":\"Get example by ids or the shared example if not specifed.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/{share_token}/examples\",\"href\":\"/langsmith/smith-api/public/read-shared-examples\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read shared dataset tracer sessions\",\"description\":\"Get projects run on a dataset that has been shared.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/{share_token}/datasets/sessions\",\"href\":\"/langsmith/smith-api/public/read-shared-dataset-tracer-sessions\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read shared dataset tracer sessions bulk\",\"description\":\"Get sessions from multiple datasets using share tokens.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/datasets/sessions-bulk\",\"href\":\"/langsmith/smith-api/public/read-shared-dataset-tracer-sessions-bulk\",\"autogeneratedByOpenApi\":true},{\"title\":\"Query shared dataset runs\",\"description\":\"Get runs in projects run over a dataset that has been shared.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/public/{share_token}/datasets/runs/query\",\"href\":\"/langsmith/smith-api/public/query-shared-dataset-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Generate query for shared dataset runs\",\"description\":\"Get runs in projects run over a dataset that has been shared.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/public/{share_token}/datasets/runs/generate-query\",\"href\":\"/langsmith/smith-api/public/generate-query-for-shared-dataset-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Stats shared dataset runs\",\"description\":\"Get run stats in projects run over a dataset that has been shared.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/public/{share_token}/datasets/runs/stats\",\"href\":\"/langsmith/smith-api/public/stats-shared-dataset-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read shared dataset run\",\"description\":\"Get runs in projects run over a dataset that has been shared.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/{share_token}/datasets/runs/{run_id}\",\"href\":\"/langsmith/smith-api/public/read-shared-dataset-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read shared dataset feedback\",\"description\":\"Get feedback for runs in projects run over a dataset that has been shared.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/{share_token}/datasets/feedback\",\"href\":\"/langsmith/smith-api/public/read-shared-dataset-feedback\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read shared comparative experiments\",\"description\":\"Get all comparative experiments for a given dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/{share_token}/datasets/comparative\",\"href\":\"/langsmith/smith-api/public/read-shared-comparative-experiments\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get message JSON schema\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/schemas/{version}/message.json\",\"href\":\"/langsmith/smith-api/public/get-message-json-schema\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get tool def JSON schema\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/public/schemas/{version}/tooldef.json\",\"href\":\"/langsmith/smith-api/public/get-tool-def-json-schema\",\"autogeneratedByOpenApi\":true},{\"title\":\"Execute\",\"description\":\"Execute some custom code for testing purposes.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/ace/execute\",\"href\":\"/langsmith/smith-api/ace/execute\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read model price map\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/model-price-map\",\"href\":\"/langsmith/smith-api/model-price-map/read-model-price-map\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create new model price\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/model-price-map\",\"href\":\"/langsmith/smith-api/model-price-map/create-new-model-price\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update model price\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /api/v1/model-price-map/{id}\",\"href\":\"/langsmith/smith-api/model-price-map/update-model-price\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete model price\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/model-price-map/{id}\",\"href\":\"/langsmith/smith-api/model-price-map/delete-model-price\",\"autogeneratedByOpenApi\":true},{\"title\":\"List feature configurations\",\"description\":\"Returns a consolidated view of default models and disabled models per feature for the workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/features\",\"href\":\"/langsmith/smith-api/features/list-feature-configurations\",\"autogeneratedByOpenApi\":true},{\"title\":\"Set default model for a feature\",\"description\":\"Sets or replaces the default model for a feature in the workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /v1/platform/features/{feature}/default-model\",\"href\":\"/langsmith/smith-api/features/set-default-model-for-a-feature\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete default model for a feature\",\"description\":\"Removes the default model for a feature in the workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/features/{feature}/default-model\",\"href\":\"/langsmith/smith-api/features/delete-default-model-for-a-feature\",\"autogeneratedByOpenApi\":true},{\"title\":\"Disable a model for a feature\",\"description\":\"Adds a model to the disabled list for a feature in the workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /v1/platform/features/{feature}/disabled-models\",\"href\":\"/langsmith/smith-api/features/disable-a-model-for-a-feature\",\"autogeneratedByOpenApi\":true},{\"title\":\"Re-enable a disabled model for a feature\",\"description\":\"Removes a model from the disabled list for a feature in the workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/features/{feature}/disabled-models/{model}\",\"href\":\"/langsmith/smith-api/features/re-enable-a-disabled-model-for-a-feature\",\"autogeneratedByOpenApi\":true},{\"title\":\"Restart a backfill job\",\"description\":\"Deletes the backfill job record, causing the backfill to restart from the beginning on the next cron tick. Requires instance admin access.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/ops/backfills/restart\",\"href\":\"/langsmith/smith-api/backfills/restart-a-backfill-job\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Tracing\",\"pages\":[{\"title\":\"Get tracing project prebuilt dashboard\",\"description\":\"Get a prebuilt dashboard for a tracing project.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/sessions/{session_id}/dashboard\",\"href\":\"/langsmith/smith-api/tracer-sessions/get-tracing-project-prebuilt-dashboard\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read tracer session\",\"description\":\"Get a specific project.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/sessions/{session_id}\",\"href\":\"/langsmith/smith-api/tracer-sessions/read-tracer-session\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete tracer session\",\"description\":\"Delete a specific project.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/sessions/{session_id}\",\"href\":\"/langsmith/smith-api/tracer-sessions/delete-tracer-session\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update tracer session\",\"description\":\"Update a project.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/sessions/{session_id}\",\"href\":\"/langsmith/smith-api/tracer-sessions/update-tracer-session\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read tracer sessions\",\"description\":\"List all projects.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/sessions\",\"href\":\"/langsmith/smith-api/tracer-sessions/read-tracer-sessions\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create tracer session\",\"description\":\"Create a new project.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/sessions\",\"href\":\"/langsmith/smith-api/tracer-sessions/create-tracer-session\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete tracer sessions\",\"description\":\"Delete projects.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/sessions\",\"href\":\"/langsmith/smith-api/tracer-sessions/delete-tracer-sessions\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read tracer sessions runs metadata\",\"description\":\"Given a session, a number K, and (optionally) a list of metadata keys, return the top K values for each key.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/sessions/{session_id}/metadata\",\"href\":\"/langsmith/smith-api/tracer-sessions/read-tracer-sessions-runs-metadata\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read filter views\",\"description\":\"Get all filter views for a session.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/sessions/{session_id}/views\",\"href\":\"/langsmith/smith-api/tracer-sessions/read-filter-views\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create filter view\",\"description\":\"Create a new filter view.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/sessions/{session_id}/views\",\"href\":\"/langsmith/smith-api/tracer-sessions/create-filter-view\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read filter view\",\"description\":\"Get a specific filter view.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/sessions/{session_id}/views/{view_id}\",\"href\":\"/langsmith/smith-api/tracer-sessions/read-filter-view\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete filter view\",\"description\":\"Delete a specific filter view.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/sessions/{session_id}/views/{view_id}\",\"href\":\"/langsmith/smith-api/tracer-sessions/delete-filter-view\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update filter view\",\"description\":\"Update a filter view.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/sessions/{session_id}/views/{view_id}\",\"href\":\"/langsmith/smith-api/tracer-sessions/update-filter-view\",\"autogeneratedByOpenApi\":true},{\"title\":\"Rename filter view\",\"description\":\"Rename a filter view (display_name and description only).\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/sessions/{session_id}/views/{view_id}/rename\",\"href\":\"/langsmith/smith-api/tracer-sessions/rename-filter-view\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get insights jobs (Beta)\",\"description\":\"Get all clusters for a session.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/sessions/{session_id}/insights\",\"href\":\"/langsmith/smith-api/tracer-sessions/get-insights-jobs-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create insights job (Beta)\",\"description\":\"Create an insights job.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/sessions/{session_id}/insights\",\"href\":\"/langsmith/smith-api/tracer-sessions/create-insights-job-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get insights job configs (Beta)\",\"description\":\"Get all insights job configs for a session.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/sessions/{session_id}/insights/configs\",\"href\":\"/langsmith/smith-api/tracer-sessions/get-insights-job-configs-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create insights job config (Beta)\",\"description\":\"Save an insights job config.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/sessions/{session_id}/insights/configs\",\"href\":\"/langsmith/smith-api/tracer-sessions/create-insights-job-config-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Auto-generate insights job config (Beta)\",\"description\":\"Auto-generate an insights job config.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/sessions/{session_id}/insights/configs/generate\",\"href\":\"/langsmith/smith-api/tracer-sessions/auto-generate-insights-job-config-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete insights job config (Beta)\",\"description\":\"Delete an insights job config.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/sessions/{session_id}/insights/configs/{config_id}\",\"href\":\"/langsmith/smith-api/tracer-sessions/delete-insights-job-config-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update insights job config (Beta)\",\"description\":\"Update an insights job config.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/sessions/{session_id}/insights/configs/{config_id}\",\"href\":\"/langsmith/smith-api/tracer-sessions/update-insights-job-config-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get insights job (Beta)\",\"description\":\"Get a specific cluster job for a session.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/sessions/{session_id}/insights/{job_id}\",\"href\":\"/langsmith/smith-api/tracer-sessions/get-insights-job-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete insights job (Beta)\",\"description\":\"Delete a session cluster job.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/sessions/{session_id}/insights/{job_id}\",\"href\":\"/langsmith/smith-api/tracer-sessions/delete-insights-job-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update insights job (Beta)\",\"description\":\"Update a session cluster job.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/sessions/{session_id}/insights/{job_id}\",\"href\":\"/langsmith/smith-api/tracer-sessions/update-insights-job-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get run cluster from insights job (Beta)\",\"description\":\"Get a specific cluster for a session.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/sessions/{session_id}/insights/{job_id}/clusters/{cluster_id}\",\"href\":\"/langsmith/smith-api/tracer-sessions/get-run-cluster-from-insights-job-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get runs from insights job (Beta)\",\"description\":\"Get all runs for a cluster job, optionally filtered by cluster.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/sessions/{session_id}/insights/{job_id}/runs\",\"href\":\"/langsmith/smith-api/tracer-sessions/get-runs-from-insights-job-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"List rules\",\"description\":\"List all run rules.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/runs/rules\",\"href\":\"/langsmith/smith-api/run/list-rules\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create rule\",\"description\":\"Create a new run rule.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/rules\",\"href\":\"/langsmith/smith-api/run/create-rule\",\"autogeneratedByOpenApi\":true},{\"title\":\"Validate rule\",\"description\":\"Validate a rule by executing it with test data without creating a saved rule.\\n\\nThis endpoint allows testing LLM-as-judge evaluators before saving them. It accepts\\na rule configuration (same as rule creation) and test data, executes the evaluator,\\nand returns the evaluation results in the same format as batch_invoke_evaluator.\\n\\nOnly LLM-as-judge rules (evaluators) are supported. Code evaluators are not allowed.\\n\\nThe evaluator execution traces are written to the database (in the \\\"evaluators\\\"\\nproject), which allows users to see the evaluator execution history.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/rules/validate\",\"href\":\"/langsmith/smith-api/run/validate-rule\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete rule\",\"description\":\"Delete a run rule.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/runs/rules/{rule_id}\",\"href\":\"/langsmith/smith-api/run/delete-rule\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update rule\",\"description\":\"Update a run rule.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/runs/rules/{rule_id}\",\"href\":\"/langsmith/smith-api/run/update-rule\",\"autogeneratedByOpenApi\":true},{\"title\":\"Thread preview\",\"description\":\"Get preview of a thread.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/runs/threads/{thread_id}\",\"href\":\"/langsmith/smith-api/run/thread-preview\",\"autogeneratedByOpenApi\":true},{\"title\":\"List rule logs\",\"description\":\"List logs for a particular rule\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/runs/rules/{rule_id}/logs\",\"href\":\"/langsmith/smith-api/run/list-rule-logs\",\"autogeneratedByOpenApi\":true},{\"title\":\"List rule logs (v2)\",\"description\":\"List logs for a particular rule with cursor-based pagination.\\n\\nThis endpoint handles S3-stored outcomes correctly by using run_outcomes_count\\nto predict batch sizes and avoid over-fetching.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/runs/rules/{rule_id}/logs/v2\",\"href\":\"/langsmith/smith-api/run/list-rule-logs-v2\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get last applied rule\",\"description\":\"Get the last applied rule.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/runs/rules/{rule_id}/last_applied\",\"href\":\"/langsmith/smith-api/run/get-last-applied-rule\",\"autogeneratedByOpenApi\":true},{\"title\":\"Trigger rule\",\"description\":\"Trigger a run rule manually.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/rules/{rule_id}/trigger\",\"href\":\"/langsmith/smith-api/run/trigger-rule\",\"autogeneratedByOpenApi\":true},{\"title\":\"Trigger rules\",\"description\":\"Trigger an array of run rules manually.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/rules/trigger\",\"href\":\"/langsmith/smith-api/run/trigger-rules\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read run\",\"description\":\"Get a specific run.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/runs/{run_id}\",\"href\":\"/langsmith/smith-api/run/read-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update run\",\"description\":\"Update a run.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/runs/{run_id}\",\"href\":\"/langsmith/smith-api/run/update-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read run share state\",\"description\":\"Get the state of sharing of a run.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/runs/{run_id}/share\",\"href\":\"/langsmith/smith-api/run/read-run-share-state\",\"autogeneratedByOpenApi\":true},{\"title\":\"Share run\",\"description\":\"Share a run.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /api/v1/runs/{run_id}/share\",\"href\":\"/langsmith/smith-api/run/share-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Unshare run\",\"description\":\"Unshare a run.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/runs/{run_id}/share\",\"href\":\"/langsmith/smith-api/run/unshare-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Validate runs query\",\"description\":\"Validate runs query syntax, returns errors for broken queries.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/query/validate\",\"href\":\"/langsmith/smith-api/run/validate-runs-query\",\"autogeneratedByOpenApi\":true},{\"title\":\"Query runs\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/query\",\"href\":\"/langsmith/smith-api/run/query-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Generate query for runs\",\"description\":\"Get runs filter expression query for a given natural language query.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/generate-query\",\"href\":\"/langsmith/smith-api/run/generate-query-for-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Stats runs\",\"description\":\"Get all runs by query in body payload.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/stats\",\"href\":\"/langsmith/smith-api/run/stats-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create run proxy\",\"description\":\"Create a new run.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs\",\"href\":\"/langsmith/smith-api/run/create-run-proxy\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create runs batch proxy\",\"description\":\"Proxy POST /runs/batch to Go backend for tests.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/batch\",\"href\":\"/langsmith/smith-api/run/create-runs-batch-proxy\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create runs multipart proxy\",\"description\":\"Proxy POST /runs/multipart to Go backend for tests.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/multipart\",\"href\":\"/langsmith/smith-api/run/create-runs-multipart-proxy\",\"autogeneratedByOpenApi\":true},{\"title\":\"Group runs\",\"description\":\"Get runs grouped by an expression\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/group\",\"href\":\"/langsmith/smith-api/run/group-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Stats group runs\",\"description\":\"Get stats for the grouped runs.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/group/stats\",\"href\":\"/langsmith/smith-api/run/stats-group-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete runs abac\",\"description\":\"Delete specific runs by trace IDs.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/delete/traces\",\"href\":\"/langsmith/smith-api/run/delete-runs-abac\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete runs\",\"description\":\"Delete specific runs by trace IDs or metadata key-value pairs.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/delete\",\"href\":\"/langsmith/smith-api/run/delete-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create a run\",\"description\":\"Queues a single run for ingestion. The request body must be a JSON-encoded run object that follows the Run schema.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /runs\",\"href\":\"/langsmith/smith-api/runs/create-a-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Ingest runs (batch json)\",\"description\":\"Ingests a batch of runs in a single JSON payload. The payload must have `post` and/or `patch` arrays containing run objects.\\nPrefer this endpoint over single‑run ingestion when submitting hundreds of runs, but `/runs/multipart` offers better handling for very large fields and attachments.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /runs/batch\",\"href\":\"/langsmith/smith-api/runs/ingest-runs-batch-json\",\"autogeneratedByOpenApi\":true},{\"title\":\"Ingest runs (multipart)\",\"description\":\"Ingests multiple runs, feedback objects, and binary attachments in a single `multipart/form-data` request.\\n**Part‑name pattern**: `\u003cevent\u003e.\u003crun_id\u003e[.\u003cfield\u003e]` where `event` ∈ {`post`, `patch`, `feedback`, `attachment`}.\\n* `post|patch.\u003crun_id\u003e` – JSON run payload.\\n* `post|patch.\u003crun_id\u003e.\u003cfield\u003e` – out‑of‑band run data (`inputs`, `outputs`, `events`, `error`, `extra`, `serialized`).\\n* `feedback.\u003crun_id\u003e` – JSON feedback payload (must include `trace_id`).\\n* `attachment.\u003crun_id\u003e.\u003cfilename\u003e` – arbitrary binary attachment stored in S3.\\n**Headers**: every part must set `Content-Type` **and** either a `Content-Length` header or `length` parameter. Per‑part `Content-Encoding` is **not** allowed; the top‑level request may be `Content-Encoding: gzip` or `Content-Encoding: zstd`.\\n**Best performance** for high‑volume ingestion.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /runs/multipart\",\"href\":\"/langsmith/smith-api/runs/ingest-runs-multipart\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update a run\",\"description\":\"Updates a run identified by its ID. The body should contain only the fields to be changed; unknown fields are ignored.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /runs/{run_id}\",\"href\":\"/langsmith/smith-api/runs/update-a-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"List agent versions for a project\",\"description\":\"Returns all agent versions (commit SHAs) seen in the given tracing project, ordered by first_seen_at descending.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/sessions/{sessionID}/agent-versions\",\"href\":\"/langsmith/smith-api/sessions/list-agent-versions-for-a-project\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get a public shared trace run (v2)\",\"description\":\"**Alpha:** The request and response contract may change;\\nReturns one run within the trace identified by the share token. The request supplies only the run ID and that run's exact start_time coordinate.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/public/{share_token}/run/{run_id}\",\"href\":\"/langsmith/smith-api/runs/get-a-public-shared-trace-run-v2\",\"autogeneratedByOpenApi\":true},{\"title\":\"Query public shared trace runs (v2)\",\"description\":\"**Alpha:** The request and response contract may change;\\nReturns all runs within the trace identified by the share token. The share token supplies the tenant, project, and trace scope.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/public/{share_token}/runs/v2/query\",\"href\":\"/langsmith/smith-api/runs/query-public-shared-trace-runs-v2\",\"autogeneratedByOpenApi\":true},{\"title\":\"Query runs (v2)\",\"description\":\"**Alpha:** The request and response contract may change;\\nReturns a paginated list of runs for the given projects within min/max start_time. Supports filters, cursor pagination, and `selects` to select fields to return.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/runs/query\",\"href\":\"/langsmith/smith-api/runs/query-runs-v2\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read run (v2)\",\"description\":\"**Alpha:** The request and response contract may change;\\nReturns one run by ID for the given session and start_time. Use the `selects` query parameter (repeatable) to select fields to return.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/runs/{run_id}\",\"href\":\"/langsmith/smith-api/runs/read-run-v2\",\"autogeneratedByOpenApi\":true},{\"title\":\"Share run (v2)\",\"description\":\"Creates or returns a share token for a run. Child runs share their trace root.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/runs/{run_id}/share\",\"href\":\"/langsmith/smith-api/runs/share-run-v2\",\"autogeneratedByOpenApi\":true},{\"title\":\"Unshare a run (v2)\",\"description\":\"Deletes the share token for the trace identified by trace_id and session_id. Idempotent: returns 204 whether or not a share token existed.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v2/runs/{trace_id}/share\",\"href\":\"/langsmith/smith-api/runs/unshare-a-run-v2\",\"autogeneratedByOpenApi\":true},{\"title\":\"Query traces (v2)\",\"description\":\"Returns a paginated list of traces (root runs) for a single tracing project. Each item carries the trace's root run plus optional trace-wide aggregates (`total_tokens`, `total_cost`, `first_token_time`) under `trace_aggregates`, so clients never have to merge by `trace_id`.\\n\\nTraces are scanned within a `start_time` window: `min_start_time` defaults to 24 hours before the request, `max_start_time` defaults to the request time. Set either explicitly to widen or narrow the window.\\n\\nSupports filters (`trace_filter`, `tree_filter`), cursor pagination (`cursor`), and field projection (`selects`).\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/traces/query\",\"href\":\"/langsmith/smith-api/runs/query-traces-v2\",\"autogeneratedByOpenApi\":true},{\"title\":\"List runs in a trace (v2)\",\"description\":\"**Alpha:** The request and response contract may change;\\nReturns runs for a trace ID within min/max start time. Optional `filter`; repeatable `selects` to select fields to return.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/traces/{trace_id}/runs\",\"href\":\"/langsmith/smith-api/runs/list-runs-in-a-trace-v2\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Administration\",\"pages\":[{\"title\":\"List workspaces\",\"description\":\"Get all workspaces visible to this auth in the current org. Does not create a new workspace/org.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces\",\"href\":\"/langsmith/smith-api/workspaces/list-workspaces\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create workspace\",\"description\":\"Create a new workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/workspaces\",\"href\":\"/langsmith/smith-api/workspaces/create-workspace\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get workspace\",\"description\":\"Get a single workspace by ID, scoped to the current org and identity.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/{workspace_id}\",\"href\":\"/langsmith/smith-api/workspaces/get-workspace\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete workspace\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/workspaces/{workspace_id}\",\"href\":\"/langsmith/smith-api/workspaces/delete-workspace\",\"autogeneratedByOpenApi\":true},{\"title\":\"Patch workspace\",\"description\":\"Update a workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/workspaces/{workspace_id}\",\"href\":\"/langsmith/smith-api/workspaces/patch-workspace\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current workspace stats\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/stats\",\"href\":\"/langsmith/smith-api/workspaces/get-current-workspace-stats\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current workspace usage limits info\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/usage_limits\",\"href\":\"/langsmith/smith-api/workspaces/get-current-workspace-usage-limits-info\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get shared tokens\",\"description\":\"List all shared entities and their tokens by the workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/shared\",\"href\":\"/langsmith/smith-api/workspaces/get-shared-tokens\",\"autogeneratedByOpenApi\":true},{\"title\":\"Bulk unshare entities\",\"description\":\"Bulk unshare entities by share tokens for the workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/workspaces/current/shared\",\"href\":\"/langsmith/smith-api/workspaces/bulk-unshare-entities\",\"autogeneratedByOpenApi\":true},{\"title\":\"List current workspace secrets\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/secrets\",\"href\":\"/langsmith/smith-api/workspaces/list-current-workspace-secrets\",\"autogeneratedByOpenApi\":true},{\"title\":\"Upsert current workspace secrets\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/workspaces/current/secrets\",\"href\":\"/langsmith/smith-api/workspaces/upsert-current-workspace-secrets\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current workspace encrypted secrets\",\"description\":\"Get encrypted workspace secrets for use with Fleet and external services.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/secrets/encrypted\",\"href\":\"/langsmith/smith-api/workspaces/get-current-workspace-encrypted-secrets\",\"autogeneratedByOpenApi\":true},{\"title\":\"List tag keys\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/tag-keys\",\"href\":\"/langsmith/smith-api/workspaces/list-tag-keys\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create tag key\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/workspaces/current/tag-keys\",\"href\":\"/langsmith/smith-api/workspaces/create-tag-key\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get tag key\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/tag-keys/{tag_key_id}\",\"href\":\"/langsmith/smith-api/workspaces/get-tag-key\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete tag key\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/workspaces/current/tag-keys/{tag_key_id}\",\"href\":\"/langsmith/smith-api/workspaces/delete-tag-key\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update tag key\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/workspaces/current/tag-keys/{tag_key_id}\",\"href\":\"/langsmith/smith-api/workspaces/update-tag-key\",\"autogeneratedByOpenApi\":true},{\"title\":\"List tag values\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/tag-keys/{tag_key_id}/tag-values\",\"href\":\"/langsmith/smith-api/workspaces/list-tag-values\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create tag value\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/workspaces/current/tag-keys/{tag_key_id}/tag-values\",\"href\":\"/langsmith/smith-api/workspaces/create-tag-value\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get tag value\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/tag-keys/{tag_key_id}/tag-values/{tag_value_id}\",\"href\":\"/langsmith/smith-api/workspaces/get-tag-value\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete tag value\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/workspaces/current/tag-keys/{tag_key_id}/tag-values/{tag_value_id}\",\"href\":\"/langsmith/smith-api/workspaces/delete-tag-value\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update tag value\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/workspaces/current/tag-keys/{tag_key_id}/tag-values/{tag_value_id}\",\"href\":\"/langsmith/smith-api/workspaces/update-tag-value\",\"autogeneratedByOpenApi\":true},{\"title\":\"List taggings\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/taggings\",\"href\":\"/langsmith/smith-api/workspaces/list-taggings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create tagging\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/workspaces/current/taggings\",\"href\":\"/langsmith/smith-api/workspaces/create-tagging\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete tagging\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/workspaces/current/taggings/{tagging_id}\",\"href\":\"/langsmith/smith-api/workspaces/delete-tagging\",\"autogeneratedByOpenApi\":true},{\"title\":\"List tags\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/tags\",\"href\":\"/langsmith/smith-api/workspaces/list-tags\",\"autogeneratedByOpenApi\":true},{\"title\":\"List tags for resource\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/tags/resource\",\"href\":\"/langsmith/smith-api/workspaces/list-tags-for-resource\",\"autogeneratedByOpenApi\":true},{\"title\":\"List tags for resources\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/workspaces/current/tags/resources\",\"href\":\"/langsmith/smith-api/workspaces/list-tags-for-resources\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get audit logs\",\"description\":\"Retrieve audit log records for the authenticated user's organization in OCSF format.\\n\\nRequires both start_time and end_time parameters to filter logs within a date range.\\nSupports cursor-based pagination.\\n\\nReturns results in OCSF API Activity (Class UID: 6003) format,\\nwhich is compatible with security monitoring and SIEM tools.\\nReference: https://schema.ocsf.io/1.7.0/classes/api_activity\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/audit-logs\",\"href\":\"/langsmith/smith-api/audit-logs/get-audit-logs\",\"autogeneratedByOpenApi\":true},{\"title\":\"List TTL settings\",\"description\":\"List out the configured TTL settings for a given tenant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/ttl-settings\",\"href\":\"/langsmith/smith-api/ttl-settings/list-ttl-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Upsert TTL settings\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /api/v1/ttl-settings\",\"href\":\"/langsmith/smith-api/ttl-settings/upsert-ttl-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"List TTL settings\",\"description\":\"List out the configured TTL settings for a given org (org-level and tenant-level).\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/ttl-settings\",\"href\":\"/langsmith/smith-api/orgs/list-ttl-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Upsert TTL settings\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /api/v1/orgs/ttl-settings\",\"href\":\"/langsmith/smith-api/orgs/upsert-ttl-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"List organizations\",\"description\":\"Get all orgs visible to this auth\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs\",\"href\":\"/langsmith/smith-api/orgs/list-organizations\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create organization\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs\",\"href\":\"/langsmith/smith-api/orgs/create-organization\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create customers and get stripe setup intent\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/setup\",\"href\":\"/langsmith/smith-api/orgs/create-customers-and-get-stripe-setup-intent\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get organization info\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current\",\"href\":\"/langsmith/smith-api/orgs/get-organization-info\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current organization info\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/info\",\"href\":\"/langsmith/smith-api/orgs/get-current-organization-info\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update current organization info\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/orgs/current/info\",\"href\":\"/langsmith/smith-api/orgs/update-current-organization-info\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get organization billing info\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/billing\",\"href\":\"/langsmith/smith-api/orgs/get-organization-billing-info\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get dashboard\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/dashboard\",\"href\":\"/langsmith/smith-api/orgs/get-dashboard\",\"autogeneratedByOpenApi\":true},{\"title\":\"On payment method created\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/payment-method\",\"href\":\"/langsmith/smith-api/orgs/on-payment-method-created\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get company info\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/business-info\",\"href\":\"/langsmith/smith-api/orgs/get-company-info\",\"autogeneratedByOpenApi\":true},{\"title\":\"Set company info\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/business-info\",\"href\":\"/langsmith/smith-api/orgs/set-company-info\",\"autogeneratedByOpenApi\":true},{\"title\":\"Change payment plan\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/plan\",\"href\":\"/langsmith/smith-api/orgs/change-payment-plan\",\"autogeneratedByOpenApi\":true},{\"title\":\"List organization roles\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/roles\",\"href\":\"/langsmith/smith-api/orgs/list-organization-roles\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create organization roles\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/roles\",\"href\":\"/langsmith/smith-api/orgs/create-organization-roles\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete organization roles\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/orgs/current/roles/{role_id}\",\"href\":\"/langsmith/smith-api/orgs/delete-organization-roles\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update organization roles\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/orgs/current/roles/{role_id}\",\"href\":\"/langsmith/smith-api/orgs/update-organization-roles\",\"autogeneratedByOpenApi\":true},{\"title\":\"Set role restriction\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /api/v1/orgs/current/roles/{role_id}/restriction\",\"href\":\"/langsmith/smith-api/orgs/set-role-restriction\",\"autogeneratedByOpenApi\":true},{\"title\":\"List permissions\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/permissions\",\"href\":\"/langsmith/smith-api/orgs/list-permissions\",\"autogeneratedByOpenApi\":true},{\"title\":\"List pending organization invites\",\"description\":\"Get all pending orgs visible to this auth\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/pending\",\"href\":\"/langsmith/smith-api/orgs/list-pending-organization-invites\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current org members\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/members\",\"href\":\"/langsmith/smith-api/orgs/get-current-org-members\",\"autogeneratedByOpenApi\":true},{\"title\":\"Add member to current org\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/members\",\"href\":\"/langsmith/smith-api/orgs/add-member-to-current-org\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current active org members\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/members/active\",\"href\":\"/langsmith/smith-api/orgs/get-current-active-org-members\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current pending org members\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/members/pending\",\"href\":\"/langsmith/smith-api/orgs/get-current-pending-org-members\",\"autogeneratedByOpenApi\":true},{\"title\":\"Add members to current org batch\",\"description\":\"Batch invite up to 500 users to the current org.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/members/batch\",\"href\":\"/langsmith/smith-api/orgs/add-members-to-current-org-batch\",\"autogeneratedByOpenApi\":true},{\"title\":\"Add basic auth members to current org\",\"description\":\"Batch add up to 500 users to the org and specified workspaces in basic auth mode.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/members/basic/batch\",\"href\":\"/langsmith/smith-api/orgs/add-basic-auth-members-to-current-org\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete current org pending member\",\"description\":\"When an admin deletes a pending member invite.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/orgs/current/members/{identity_id}/pending\",\"href\":\"/langsmith/smith-api/orgs/delete-current-org-pending-member\",\"autogeneratedByOpenApi\":true},{\"title\":\"Patch current org pending member\",\"description\":\"Update the role on a pending org member invite.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/orgs/current/members/{identity_id}/pending\",\"href\":\"/langsmith/smith-api/orgs/patch-current-org-pending-member\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete pending organization invite\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/orgs/pending/{organization_id}\",\"href\":\"/langsmith/smith-api/orgs/delete-pending-organization-invite\",\"autogeneratedByOpenApi\":true},{\"title\":\"Claim pending organization invite\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/pending/{organization_id}/claim\",\"href\":\"/langsmith/smith-api/orgs/claim-pending-organization-invite\",\"autogeneratedByOpenApi\":true},{\"title\":\"Remove member from current org\",\"description\":\"Remove a user from the current organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/orgs/current/members/{identity_id}\",\"href\":\"/langsmith/smith-api/orgs/remove-member-from-current-org\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update current org member\",\"description\":\"This is used for updating a user's role (all auth modes) or full_name/password (basic auth)\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/orgs/current/members/{identity_id}\",\"href\":\"/langsmith/smith-api/orgs/update-current-org-member\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update current user\",\"description\":\"Update a user's full_name/password (basic auth only)\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/orgs/members/basic\",\"href\":\"/langsmith/smith-api/orgs/update-current-user\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current SSO settings\",\"description\":\"Get SSO provider settings for the current organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/sso-settings\",\"href\":\"/langsmith/smith-api/orgs/get-current-sso-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create SSO settings\",\"description\":\"Create SSO provider settings for the current organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/sso-settings\",\"href\":\"/langsmith/smith-api/orgs/create-sso-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete SSO settings\",\"description\":\"Delete SSO provider settings for the current organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/orgs/current/sso-settings/{id}\",\"href\":\"/langsmith/smith-api/orgs/delete-sso-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update SSO settings\",\"description\":\"Update SSO provider settings defaults for the current organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/orgs/current/sso-settings/{id}\",\"href\":\"/langsmith/smith-api/orgs/update-sso-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update allowed login methods\",\"description\":\"Update allowed login methods for the current organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/orgs/current/login-methods\",\"href\":\"/langsmith/smith-api/orgs/update-allowed-login-methods\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get org usage\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/billing/usage\",\"href\":\"/langsmith/smith-api/orgs/get-org-usage\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get granular usage\",\"description\":\"Get granular usage data with flexible grouping.\\n\\n`kind` selects the billable usage domain:\\n- `traces` (default): trace counts.\\n- `langsmith_deployments`: LangSmith Deployment metrics (nodes\\n  executed, agent runs, agent uptime). The three Deployment fields\\n  are populated and `traces` is `0`.\\n\\n`trace_tier` (only meaningful for `kind=traces`) optionally restricts\\nresults to a single retention tier (longlived = extended retention,\\nshortlived = standard retention). When `group_by=trace_tier`, results\\nare split into one record per retention tier per time bucket.\\n\\n`workspace_ids` filters results to the specified workspaces. Only\\nworkspaces the user has read access to are included.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/billing/granular-usage\",\"href\":\"/langsmith/smith-api/orgs/get-granular-usage\",\"autogeneratedByOpenApi\":true},{\"title\":\"Export granular usage csv\",\"description\":\"Export granular usage data as CSV.\\n\\nSame `kind` semantics as `/granular-usage`. The CSV's value columns\\nvary by kind:\\n- `traces`: single `Traces` column.\\n- `langsmith_deployments`: `Nodes Executed`, `Agent Runs`,\\n  `Agent Uptime (seconds)` columns.\\nDimension columns are identical across kinds.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/billing/granular-usage/export\",\"href\":\"/langsmith/smith-api/orgs/export-granular-usage-csv\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current user login methods\",\"description\":\"Get login methods for the current user.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/user/login-methods\",\"href\":\"/langsmith/smith-api/orgs/get-current-user-login-methods\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create stripe checkout sessions endpoint\",\"description\":\"Kick off a Stripe checkout session flow.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/stripe_checkout_session\",\"href\":\"/langsmith/smith-api/orgs/create-stripe-checkout-sessions-endpoint\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create stripe account links endpoint\",\"description\":\"Kick off a Stripe account link flow.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/stripe_account_links\",\"href\":\"/langsmith/smith-api/orgs/create-stripe-account-links-endpoint\",\"autogeneratedByOpenApi\":true},{\"title\":\"List org service keys\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/service-keys\",\"href\":\"/langsmith/smith-api/orgs/list-org-service-keys\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create org service key\",\"description\":\"Create org-scoped service key. If workspaces is None, key is org-wide.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/service-keys\",\"href\":\"/langsmith/smith-api/orgs/create-org-service-key\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete org service key\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/orgs/current/service-keys/{api_key_id}\",\"href\":\"/langsmith/smith-api/orgs/delete-org-service-key\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update org service key\",\"description\":\"Update an API key's role(s) in place without rotating the key.\\n\\nRestricted to org admins (ORGANIZATION_MANAGE). Applies to both\\norg-scoped and workspace-scoped keys listed in /orgs/current/service-keys.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/orgs/current/service-keys/{api_key_id}\",\"href\":\"/langsmith/smith-api/orgs/update-org-service-key\",\"autogeneratedByOpenApi\":true},{\"title\":\"List org personal access tokens\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/orgs/current/personal-access-tokens\",\"href\":\"/langsmith/smith-api/orgs/list-org-personal-access-tokens\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create org personal access token\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/personal-access-tokens\",\"href\":\"/langsmith/smith-api/orgs/create-org-personal-access-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete org personal access token\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/orgs/current/personal-access-tokens/{pat_id}\",\"href\":\"/langsmith/smith-api/orgs/delete-org-personal-access-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"Set default SSO provision\",\"description\":\"Set the current organization as the default for SSO provisioning in self-hosted environments.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/orgs/current/set-default-sso-provision\",\"href\":\"/langsmith/smith-api/orgs/set-default-sso-provision\",\"autogeneratedByOpenApi\":true},{\"title\":\"Login\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/login\",\"href\":\"/langsmith/smith-api/auth/login\",\"autogeneratedByOpenApi\":true},{\"title\":\"Send SSO email confirmation\",\"description\":\"Send an email to confirm the email address for an SSO user.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/sso/email-verification/send\",\"href\":\"/langsmith/smith-api/auth/send-sso-email-confirmation\",\"autogeneratedByOpenApi\":true},{\"title\":\"Check SSO email verification status\",\"description\":\"Retrieve the email verification status of an SSO user.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/sso/email-verification/status\",\"href\":\"/langsmith/smith-api/auth/check-sso-email-verification-status\",\"autogeneratedByOpenApi\":true},{\"title\":\"Confirm SSO user email\",\"description\":\"Confirm the email of an SSO user.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/sso/email-verification/confirm\",\"href\":\"/langsmith/smith-api/auth/confirm-sso-user-email\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get SSO settings\",\"description\":\"Get SSO provider settings from login slug.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/sso/settings/{sso_login_slug}\",\"href\":\"/langsmith/smith-api/auth/get-sso-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Lookup SSO by email\",\"description\":\"Look up SSO providers available for a SCIM-provisioned email address.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/sso/email-lookup\",\"href\":\"/langsmith/smith-api/auth/lookup-sso-by-email\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get API keys\",\"description\":\"Get the current tenant's API keys\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/api-key\",\"href\":\"/langsmith/smith-api/api-key/get-api-keys\",\"autogeneratedByOpenApi\":true},{\"title\":\"Generate API key\",\"description\":\"Generate an api key for the user\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/api-key\",\"href\":\"/langsmith/smith-api/api-key/generate-api-key\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete API key\",\"description\":\"Delete an api key for the user\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/api-key/{api_key_id}\",\"href\":\"/langsmith/smith-api/api-key/delete-api-key\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get personal access tokens\",\"description\":\"DEPRECATED: Use /orgs/current/personal-access-tokens instead\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/api-key/current\",\"href\":\"/langsmith/smith-api/api-key/get-personal-access-tokens\",\"autogeneratedByOpenApi\":true},{\"title\":\"Generate personal access token\",\"description\":\"DEPRECATED: Use /orgs/current/personal-access-tokens instead\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/api-key/current\",\"href\":\"/langsmith/smith-api/api-key/generate-personal-access-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete personal access token\",\"description\":\"DEPRECATED: Use /orgs/current/personal-access-tokens/{pat_id} instead\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/api-key/current/{pat_id}\",\"href\":\"/langsmith/smith-api/api-key/delete-personal-access-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"List tenants\",\"description\":\"Get all tenants visible to this auth\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/tenants\",\"href\":\"/langsmith/smith-api/tenant/list-tenants\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create tenant\",\"description\":\"Create a new organization and corresponding workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/tenants\",\"href\":\"/langsmith/smith-api/tenant/create-tenant\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get onboarding state\",\"description\":\"Get onboarding state for the current user.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/me/onboarding_state\",\"href\":\"/langsmith/smith-api/me/get-onboarding-state\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create onboarding state\",\"description\":\"Initialize onboarding state for the current user.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/me/onboarding_state\",\"href\":\"/langsmith/smith-api/me/create-onboarding-state\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update onboarding state field\",\"description\":\"Update a specific onboarding completion field for the current user.\\n\\nValid fields:\\n- tracing_completed_at\\n- lgstudio_completed_at\\n- playground_completed_at\\n- evaluation_completed_at\\n- success_viewed_at\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /api/v1/me/onboarding_state/{field}\",\"href\":\"/langsmith/smith-api/me/update-onboarding-state-field\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get ls user ID\",\"description\":\"Get the LangSmith user ID for the current user.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/me/ls_user_id\",\"href\":\"/langsmith/smith-api/me/get-ls-user-id\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get service accounts\",\"description\":\"Get the current organization's service accounts.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/service-accounts\",\"href\":\"/langsmith/smith-api/service-accounts/get-service-accounts\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create service account\",\"description\":\"Create a service account\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/service-accounts\",\"href\":\"/langsmith/smith-api/service-accounts/create-service-account\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete service account\",\"description\":\"Delete a service account\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/service-accounts/{service_account_id}\",\"href\":\"/langsmith/smith-api/service-accounts/delete-service-account\",\"autogeneratedByOpenApi\":true},{\"title\":\"List pending workspace invites\",\"description\":\"Get all workspaces visible to this auth\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/pending\",\"href\":\"/langsmith/smith-api/workspaces/list-pending-workspace-invites\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete pending workspace invite\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/workspaces/pending/{id}\",\"href\":\"/langsmith/smith-api/workspaces/delete-pending-workspace-invite\",\"autogeneratedByOpenApi\":true},{\"title\":\"Claim pending workspace invite\",\"description\":null,\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/workspaces/pending/{workspace_id}/claim\",\"href\":\"/langsmith/smith-api/workspaces/claim-pending-workspace-invite\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current workspace members\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/members\",\"href\":\"/langsmith/smith-api/workspaces/get-current-workspace-members\",\"autogeneratedByOpenApi\":true},{\"title\":\"Add member to current workspace\",\"description\":\"Add an existing organization member to the current workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/workspaces/current/members\",\"href\":\"/langsmith/smith-api/workspaces/add-member-to-current-workspace\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current active workspace members\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/members/active\",\"href\":\"/langsmith/smith-api/workspaces/get-current-active-workspace-members\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current pending workspace members\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/workspaces/current/members/pending\",\"href\":\"/langsmith/smith-api/workspaces/get-current-pending-workspace-members\",\"autogeneratedByOpenApi\":true},{\"title\":\"Add members to current workspace batch\",\"description\":\"Batch invite up to 500 users to the current workspace and organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/workspaces/current/members/batch\",\"href\":\"/langsmith/smith-api/workspaces/add-members-to-current-workspace-batch\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete current workspace member\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/workspaces/current/members/{identity_id}\",\"href\":\"/langsmith/smith-api/workspaces/delete-current-workspace-member\",\"autogeneratedByOpenApi\":true},{\"title\":\"Patch current workspace member\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/workspaces/current/members/{identity_id}\",\"href\":\"/langsmith/smith-api/workspaces/patch-current-workspace-member\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete current workspace pending member\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/workspaces/current/members/{identity_id}/pending\",\"href\":\"/langsmith/smith-api/workspaces/delete-current-workspace-pending-member\",\"autogeneratedByOpenApi\":true},{\"title\":\"Patch current workspace pending member\",\"description\":\"Update the role on a pending workspace member invite.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/workspaces/current/members/{identity_id}/pending\",\"href\":\"/langsmith/smith-api/workspaces/patch-current-workspace-pending-member\",\"autogeneratedByOpenApi\":true},{\"title\":\"List usage limits\",\"description\":\"List out the configured usage limits for a given tenant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/usage-limits\",\"href\":\"/langsmith/smith-api/usage-limits/list-usage-limits\",\"autogeneratedByOpenApi\":true},{\"title\":\"Upsert usage limit\",\"description\":\"Create a new usage limit.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /api/v1/usage-limits\",\"href\":\"/langsmith/smith-api/usage-limits/upsert-usage-limit\",\"autogeneratedByOpenApi\":true},{\"title\":\"List org usage limits\",\"description\":\"List out the configured usage limits for a given organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/usage-limits/org\",\"href\":\"/langsmith/smith-api/usage-limits/list-org-usage-limits\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete usage limit\",\"description\":\"Delete a specific usage limit.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/usage-limits/{usage_limit_id}\",\"href\":\"/langsmith/smith-api/usage-limits/delete-usage-limit\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get public auth info\",\"description\":\"Returns public authentication information for the current workspace-level session.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /auth/public\",\"href\":\"/langsmith/smith-api/auth/get-public-auth-info\",\"autogeneratedByOpenApi\":true},{\"title\":\"AWS marketplace fulfillment URL registration\",\"description\":\"Receives the x-amzn-marketplace-token posted by AWS Marketplace when a customer clicks \\\"Set Up Account\\\", resolves the customer identity, stores it in the DB, and redirects to the thank-you page.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /aws-marketplace/register\",\"href\":\"/langsmith/smith-api/aws_marketplace/aws-marketplace-fulfillment-url-registration\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get the authenticated user's provider user ID\",\"description\":\"Returns the provider user ID associated with the authenticated user for a given provider type, or null if not set. Scoped to the current tenant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /me/providers/{providerType}\",\"href\":\"/langsmith/smith-api/me/get-the-authenticated-users-provider-user-id\",\"autogeneratedByOpenApi\":true},{\"title\":\"List data planes for the current organization\",\"description\":\"Returns up to 50 data planes owned by the caller's organization. Sorted status priority (active first), then newest first. Requires BYOC to be enabled for the org.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /orgs/current/data-planes\",\"href\":\"/langsmith/smith-api/data_planes/list-data-planes-for-the-current-organization\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create a new data plane\",\"description\":\"Creates a new data plane object. Persists the rendered data plane spec, and returns 202 with the data plane in status=requested. Requires BYOC enabled org and org admin.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /orgs/current/data-planes\",\"href\":\"/langsmith/smith-api/data_planes/create-a-new-data-plane\",\"autogeneratedByOpenApi\":true},{\"title\":\"List access policies\",\"description\":\"Lists all access policies for the organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/orgs/current/access-policies\",\"href\":\"/langsmith/smith-api/access_policies/list-access-policies\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create an access policy\",\"description\":\"Creates a new access policy.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/orgs/current/access-policies\",\"href\":\"/langsmith/smith-api/access_policies/create-an-access-policy\",\"autogeneratedByOpenApi\":true},{\"title\":\"Attach access policies to a role\",\"description\":\"Attaches one or more access policies to a specific role. The request body must contain an array of access policy IDs.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/orgs/current/access-policies/roles/{role_id}/access-policies\",\"href\":\"/langsmith/smith-api/access_policies/attach-access-policies-to-a-role\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get an access policy\",\"description\":\"Gets a specific access policy by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/orgs/current/access-policies/{access_policy_id}\",\"href\":\"/langsmith/smith-api/access_policies/get-an-access-policy\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete an access policy\",\"description\":\"Deletes a specific access policy by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/orgs/current/access-policies/{access_policy_id}\",\"href\":\"/langsmith/smith-api/access_policies/delete-an-access-policy\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get current organization info\",\"description\":\"Returns organization info for the authenticated user's current organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/orgs/current/info\",\"href\":\"/langsmith/smith-api/organizations/get-current-organization-info\",\"autogeneratedByOpenApi\":true},{\"title\":\"List org members with workspace roles\",\"description\":\"Returns a paginated list of org members (active and pending) enriched with workspace memberships.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/orgs/current/members\",\"href\":\"/langsmith/smith-api/orgs/list-org-members-with-workspace-roles\",\"autogeneratedByOpenApi\":true},{\"title\":\"List SCIM tokens\",\"description\":\"List all SCIM bearer tokens for the current organization. The full token values are not returned.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/orgs/current/scim/tokens\",\"href\":\"/langsmith/smith-api/scim-tokens/list-scim-tokens\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create a SCIM token\",\"description\":\"Create a new SCIM bearer token for the current organization. The full token value is only returned once upon creation.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/orgs/current/scim/tokens\",\"href\":\"/langsmith/smith-api/scim-tokens/create-a-scim-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get a SCIM token\",\"description\":\"Retrieve a specific SCIM token by ID for the current organization. The full token value is not returned.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/orgs/current/scim/tokens/{scim_token_id}\",\"href\":\"/langsmith/smith-api/scim-tokens/get-a-scim-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete a SCIM token\",\"description\":\"Delete a SCIM bearer token from the current organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/orgs/current/scim/tokens/{scim_token_id}\",\"href\":\"/langsmith/smith-api/scim-tokens/delete-a-scim-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update a SCIM token\",\"description\":\"Update the description of an existing SCIM token for the current organization.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /v1/platform/orgs/current/scim/tokens/{scim_token_id}\",\"href\":\"/langsmith/smith-api/scim-tokens/update-a-scim-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get workspace TTL settings\",\"description\":\"Get the longlived trace TTL settings for a workspace\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /workspaces/current/ttl-settings\",\"href\":\"/langsmith/smith-api/ttl-settings/get-workspace-ttl-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update workspace TTL settings\",\"description\":\"Update the longlived trace TTL for a workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /workspaces/current/ttl-settings\",\"href\":\"/langsmith/smith-api/ttl-settings/update-workspace-ttl-settings\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Datasets\",\"pages\":[{\"title\":\"Count examples\",\"description\":\"Count all examples by query params\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/examples/count\",\"href\":\"/langsmith/smith-api/examples/count-examples\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read example\",\"description\":\"Get a specific example.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/examples/{example_id}\",\"href\":\"/langsmith/smith-api/examples/read-example\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete example\",\"description\":\"Soft delete an example. Only deletes the example in the 'latest' version of the dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/examples/{example_id}\",\"href\":\"/langsmith/smith-api/examples/delete-example\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update example\",\"description\":\"Update a specific example.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/examples/{example_id}\",\"href\":\"/langsmith/smith-api/examples/update-example\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read examples\",\"description\":\"Get all examples by query params\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/examples\",\"href\":\"/langsmith/smith-api/examples/read-examples\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create example\",\"description\":\"Create a new example.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/examples\",\"href\":\"/langsmith/smith-api/examples/create-example\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete examples\",\"description\":\"Soft delete examples. Only deletes the examples in the 'latest' version of the dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/examples\",\"href\":\"/langsmith/smith-api/examples/delete-examples\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create examples\",\"description\":\"Create bulk examples.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/examples/bulk\",\"href\":\"/langsmith/smith-api/examples/create-examples\",\"autogeneratedByOpenApi\":true},{\"title\":\"Legacy update examples\",\"description\":\"Legacy update examples in bulk. For update involving attachments, use PATCH /v1/platform/datasets/{dataset_id}/examples instead.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/examples/bulk\",\"href\":\"/langsmith/smith-api/examples/legacy-update-examples\",\"autogeneratedByOpenApi\":true},{\"title\":\"Upload examples from csv\",\"description\":\"Upload examples from a CSV file.\\n\\nNote: For non-csv upload, please use\\nthe POST /v1/platform/datasets/{dataset_id}/examples endpoint which provides more efficient upload.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/examples/upload/{dataset_id}\",\"href\":\"/langsmith/smith-api/examples/upload-examples-from-csv\",\"autogeneratedByOpenApi\":true},{\"title\":\"Validate example\",\"description\":\"Validate an example.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/examples/validate\",\"href\":\"/langsmith/smith-api/examples/validate-example\",\"autogeneratedByOpenApi\":true},{\"title\":\"Validate examples\",\"description\":\"Validate examples in bulk.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/examples/validate/bulk\",\"href\":\"/langsmith/smith-api/examples/validate-examples\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read datasets\",\"description\":\"Get all datasets by query params and owner.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets\",\"href\":\"/langsmith/smith-api/datasets/read-datasets\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create dataset\",\"description\":\"Create a new dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets\",\"href\":\"/langsmith/smith-api/datasets/create-dataset\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete datasets\",\"description\":\"Delete multiple datasets.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/datasets\",\"href\":\"/langsmith/smith-api/datasets/delete-datasets\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read datasets stream\",\"description\":\"Stream all datasets by query params and owner as JSON patches.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets/stream\",\"href\":\"/langsmith/smith-api/datasets/read-datasets-stream\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read dataset\",\"description\":\"Get a specific dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets/{dataset_id}\",\"href\":\"/langsmith/smith-api/datasets/read-dataset\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete dataset\",\"description\":\"Delete a specific dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/datasets/{dataset_id}\",\"href\":\"/langsmith/smith-api/datasets/delete-dataset\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update dataset\",\"description\":\"Update a specific dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/datasets/{dataset_id}\",\"href\":\"/langsmith/smith-api/datasets/update-dataset\",\"autogeneratedByOpenApi\":true},{\"title\":\"Upload csv dataset\",\"description\":\"Create a new dataset from a CSV or JSONL file.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets/upload\",\"href\":\"/langsmith/smith-api/datasets/upload-csv-dataset\",\"autogeneratedByOpenApi\":true},{\"title\":\"Upload experiment\",\"description\":\"Upload an experiment that has already been run.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets/upload-experiment\",\"href\":\"/langsmith/smith-api/datasets/upload-experiment\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get dataset versions\",\"description\":\"Get dataset versions.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets/{dataset_id}/versions\",\"href\":\"/langsmith/smith-api/datasets/get-dataset-versions\",\"autogeneratedByOpenApi\":true},{\"title\":\"Diff dataset versions\",\"description\":\"Get diff between two dataset versions.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets/{dataset_id}/versions/diff\",\"href\":\"/langsmith/smith-api/datasets/diff-dataset-versions\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get dataset version\",\"description\":\"Get dataset version by as_of or exact tag.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets/{dataset_id}/version\",\"href\":\"/langsmith/smith-api/datasets/get-dataset-version\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update dataset version\",\"description\":\"Set a tag on a dataset version.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /api/v1/datasets/{dataset_id}/tags\",\"href\":\"/langsmith/smith-api/datasets/update-dataset-version\",\"autogeneratedByOpenApi\":true},{\"title\":\"Download dataset openai\",\"description\":\"Download a dataset as OpenAI Evals Jsonl format.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets/{dataset_id}/openai\",\"href\":\"/langsmith/smith-api/datasets/download-dataset-openai\",\"autogeneratedByOpenApi\":true},{\"title\":\"Download dataset openai ft\",\"description\":\"Download a dataset as OpenAI Jsonl format.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets/{dataset_id}/openai_ft\",\"href\":\"/langsmith/smith-api/datasets/download-dataset-openai-ft\",\"autogeneratedByOpenApi\":true},{\"title\":\"Download dataset csv\",\"description\":\"Download a dataset as CSV format.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets/{dataset_id}/csv\",\"href\":\"/langsmith/smith-api/datasets/download-dataset-csv\",\"autogeneratedByOpenApi\":true},{\"title\":\"Download dataset jsonl\",\"description\":\"Download a dataset as CSV format.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets/{dataset_id}/jsonl\",\"href\":\"/langsmith/smith-api/datasets/download-dataset-jsonl\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read examples with runs\",\"description\":\"Fetch examples for a dataset, and fetch the runs for each example if they are associated with the given session_ids.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets/{dataset_id}/runs\",\"href\":\"/langsmith/smith-api/datasets/read-examples-with-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read dataset share state\",\"description\":\"Get the state of sharing a dataset\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets/{dataset_id}/share\",\"href\":\"/langsmith/smith-api/datasets/read-dataset-share-state\",\"autogeneratedByOpenApi\":true},{\"title\":\"Share dataset\",\"description\":\"Share a dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /api/v1/datasets/{dataset_id}/share\",\"href\":\"/langsmith/smith-api/datasets/share-dataset\",\"autogeneratedByOpenApi\":true},{\"title\":\"Unshare dataset\",\"description\":\"Unshare a dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/datasets/{dataset_id}/share\",\"href\":\"/langsmith/smith-api/datasets/unshare-dataset\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create comparative experiment\",\"description\":\"Create a comparative experiment.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets/comparative\",\"href\":\"/langsmith/smith-api/datasets/create-comparative-experiment\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete comparative experiment\",\"description\":\"Delete a specific comparative experiment.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/datasets/comparative/{comparative_experiment_id}\",\"href\":\"/langsmith/smith-api/datasets/delete-comparative-experiment\",\"autogeneratedByOpenApi\":true},{\"title\":\"Clone dataset\",\"description\":\"Clone a dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets/clone\",\"href\":\"/langsmith/smith-api/datasets/clone-dataset\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get dataset splits\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets/{dataset_id}/splits\",\"href\":\"/langsmith/smith-api/datasets/get-dataset-splits\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update dataset splits\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /api/v1/datasets/{dataset_id}/splits\",\"href\":\"/langsmith/smith-api/datasets/update-dataset-splits\",\"autogeneratedByOpenApi\":true},{\"title\":\"Generate\",\"description\":\"Generate synthetic examples for a dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets/{dataset_id}/generate\",\"href\":\"/langsmith/smith-api/datasets/generate\",\"autogeneratedByOpenApi\":true},{\"title\":\"Studio experiment\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets/studio_experiment\",\"href\":\"/langsmith/smith-api/datasets/studio-experiment\",\"autogeneratedByOpenApi\":true},{\"title\":\"Hard delete examples\",\"description\":\"This endpoint hard deletes *all* versions of a dataset example(s).\\nDeletion is performed by setting inputs, outputs, and metadata to null and deleting attachment files while keeping the example ID, dataset ID, and creation timestamp.\\nIMPORTANT: attachment files can take up to 7 days to be deleted. inputs, outputs and metadata are nullified immediately.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/datasets/examples/delete\",\"href\":\"/langsmith/smith-api/examples/hard-delete-examples\",\"autogeneratedByOpenApi\":true},{\"title\":\"Upload examples\",\"description\":\"This endpoint allows clients to upload examples to a specified dataset by sending a multipart/form-data POST request.\\nEach form part contains either JSON-encoded data or binary attachment files associated with an example.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/datasets/{dataset_id}/examples\",\"href\":\"/langsmith/smith-api/examples/upload-examples\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update examples\",\"description\":\"This endpoint allows clients to update existing examples in a specified dataset by sending a multipart/form-data PATCH request.\\nEach form part contains either JSON-encoded data or binary attachment files to update an example.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /v1/platform/datasets/{dataset_id}/examples\",\"href\":\"/langsmith/smith-api/examples/update-examples\",\"autogeneratedByOpenApi\":true},{\"title\":\"Fetch shared experiment runs for dataset examples (v2)\",\"description\":\"Public share-token variant of POST /v2/datasets/{dataset_id}/experiment-runs.\\nReturns a paginated page of dataset examples with runs from the requested experiments.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/datasets/public/{share_token}/experiment-runs\",\"href\":\"/langsmith/smith-api/datasets/fetch-shared-experiment-runs-for-dataset-examples-v2\",\"autogeneratedByOpenApi\":true},{\"title\":\"Fetch experiment runs for dataset examples (v2)\",\"description\":\"Returns a paginated page of dataset examples with runs from the requested experiments.\\nResponse uses the canonical `{items, next_cursor}` envelope.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/datasets/{dataset_id}/experiment-runs\",\"href\":\"/langsmith/smith-api/datasets/fetch-experiment-runs-for-dataset-examples-v2\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Evaluation\",\"pages\":[{\"title\":\"Evaluate experiment adhoc\",\"description\":\"Evaluate an existing experiment with a specific evaluator.\\n\\nThis triggers immediate evaluation using the run_over_dataset approach,\\nprocessing runs in batches to handle large experiments efficiently.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/runs/experiments/{experiment_id}/evaluate\",\"href\":\"/langsmith/smith-api/experiments/evaluate-experiment-adhoc\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get experiment view override configurations for a dataset\",\"description\":\"Retrieves all experiment view override configurations for a specific dataset.\\nThis endpoint returns column display overrides including color gradients,\\nprecision settings, and column visibility configurations that customize how\\nexperiment results are displayed in the UI.\\n\\nThe response includes all column overrides with their display settings:\\n- Column identifiers (must start with inputs, outputs, reference_outputs, feedback, metrics, attachments, or metadata)\\n- Color gradients for numeric data visualization\\n- Precision settings for numeric columns (1-6 decimal places)\\n- Hide flags to control column visibility\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /datasets/{dataset_id}/experiment-view-overrides\",\"href\":\"/langsmith/smith-api/experiment-view-overrides/get-experiment-view-override-configurations-for-a-dataset\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create new experiment view override configuration for a dataset\",\"description\":\"$32\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /datasets/{dataset_id}/experiment-view-overrides\",\"href\":\"/langsmith/smith-api/experiment-view-overrides/create-new-experiment-view-override-configuration-for-a-dataset\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get experiment view override configuration by specific ID\",\"description\":\"Retrieves a specific experiment view override configuration using both dataset ID and override ID.\\nThis endpoint provides more precise access to experiment view overrides when you have\\nthe specific override ID, useful for direct links or cached references.\\n\\nThe response includes the same column override information as the dataset-level endpoint:\\n- Column identifiers with validation prefixes\\n- Color gradient settings for numeric data visualization\\n- Numeric precision configurations\\n- Column visibility controls\\n\\nBoth the dataset and override must exist and be accessible by the authenticated user.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /datasets/{dataset_id}/experiment-view-overrides/{id}\",\"href\":\"/langsmith/smith-api/experiment-view-overrides/get-experiment-view-override-configuration-by-specific-id\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete experiment view override configuration\",\"description\":\"Permanently deletes an experiment view override configuration for a dataset.\\nThis operation removes all column override settings including color gradients,\\nprecision configurations, and visibility settings.\\n\\nAfter deletion, the experiment view will revert to default column display settings.\\nThis action cannot be undone - you will need to recreate the override configuration\\nif you want to restore custom column settings.\\n\\nBoth the dataset and override must exist and be accessible by the authenticated user.\\nThe operation will fail if the override doesn't exist or if the user doesn't have\\nappropriate permissions for the dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /datasets/{dataset_id}/experiment-view-overrides/{id}\",\"href\":\"/langsmith/smith-api/experiment-view-overrides/delete-experiment-view-override-configuration\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update existing experiment view override configuration\",\"description\":\"Updates an existing experiment view override configuration by completely replacing\\nthe column overrides for the specified dataset and override ID.\\n\\nThis endpoint performs a complete replacement of the column overrides configuration.\\nAll existing column overrides will be replaced with the new configuration provided\\nin the request body. To add or modify individual columns, include the complete\\ndesired configuration in the request.\\n\\nThe request format is identical to the create endpoint:\\n- column_overrides: Required array with at least one override configuration\\n- Each override can specify color gradients, precision, and visibility\\n\\nExample request body:\\n{\\n\\\"column_overrides\\\": [\\n{\\n\\\"column\\\": \\\"metrics.f1_score\\\",\\n\\\"color_gradient\\\": [[0.0, \\\"#ff4444\\\"], [0.8, \\\"#44ff44\\\"]],\\n\\\"precision\\\": 4\\n},\\n{\\n\\\"column\\\": \\\"feedback.rating\\\",\\n\\\"hide\\\": false\\n}\\n]\\n}\\n\\nBoth the dataset and override must exist and be accessible by the authenticated user.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /datasets/{dataset_id}/experiment-view-overrides/{id}\",\"href\":\"/langsmith/smith-api/experiment-view-overrides/update-existing-experiment-view-override-configuration\",\"autogeneratedByOpenApi\":true},{\"title\":\"List evaluators\",\"description\":\"List evaluators for the current workspace, with optional filtering by type, name, tag, feedback key, or resource ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/evaluators\",\"href\":\"/langsmith/smith-api/evaluators/list-evaluators\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create evaluator\",\"description\":\"Create a new LLM or code evaluator for the current workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/evaluators\",\"href\":\"/langsmith/smith-api/evaluators/create-evaluator\",\"autogeneratedByOpenApi\":true},{\"title\":\"Bulk delete evaluators\",\"description\":\"Delete multiple evaluators by their IDs. Returns per-item success/failure.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/evaluators\",\"href\":\"/langsmith/smith-api/evaluators/bulk-delete-evaluators\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get evaluator spend\",\"description\":\"Returns per-day LLM evaluator spend for the requested 7-day period, grouped by evaluator, resource, or run rule. Exactly one of group_by, evaluator_id, session_id, or dataset_id is required. resource_id, type, and feedback_key may be supplied with group_by to narrow listing aggregations.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/evaluators/spend\",\"href\":\"/langsmith/smith-api/evaluators/get-evaluator-spend\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get evaluator\",\"description\":\"Retrieve a single evaluator by its ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/evaluators/{evaluator_id}\",\"href\":\"/langsmith/smith-api/evaluators/get-evaluator\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete evaluator\",\"description\":\"Delete an evaluator. When delete_run_rules is true, all run rules referencing this evaluator are deleted first (same tenant). Associated llm_evaluators and code_evaluators rows are removed by foreign-key cascade when the evaluator row is deleted.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/evaluators/{evaluator_id}\",\"href\":\"/langsmith/smith-api/evaluators/delete-evaluator\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update evaluator\",\"description\":\"Update an existing evaluator's name, LLM configuration, or code configuration.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /v1/platform/evaluators/{evaluator_id}\",\"href\":\"/langsmith/smith-api/evaluators/update-evaluator\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Feedback \u0026 Annotation\",\"pages\":[{\"title\":\"List feedback formula ep\",\"description\":\"List feedback formulas for a given dataset or tracing project\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/feedback/formulas\",\"href\":\"/langsmith/smith-api/feedback/list-feedback-formula-ep\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create feedback formula ep\",\"description\":\"Create a new feedback formula\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/feedback/formulas\",\"href\":\"/langsmith/smith-api/feedback/create-feedback-formula-ep\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get feedback formula ep\",\"description\":\"Get a feedback formula by id\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/feedback/formulas/{feedback_formula_id}\",\"href\":\"/langsmith/smith-api/feedback/get-feedback-formula-ep\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update feedback formula ep\",\"description\":\"Update a feedback formula\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /api/v1/feedback/formulas/{feedback_formula_id}\",\"href\":\"/langsmith/smith-api/feedback/update-feedback-formula-ep\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete feedback formula endpoint\",\"description\":\"Delete a feedback formula by id\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/feedback/formulas/{feedback_formula_id}\",\"href\":\"/langsmith/smith-api/feedback/delete-feedback-formula-endpoint\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read feedback\",\"description\":\"Get a specific feedback.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/feedback/{feedback_id}\",\"href\":\"/langsmith/smith-api/feedback/read-feedback\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete feedback\",\"description\":\"Delete a feedback.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/feedback/{feedback_id}\",\"href\":\"/langsmith/smith-api/feedback/delete-feedback\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update feedback\",\"description\":\"Replace an existing feedback entry with a new, modified entry.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/feedback/{feedback_id}\",\"href\":\"/langsmith/smith-api/feedback/update-feedback\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read feedbacks\",\"description\":\"List all Feedback by query params.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/feedback\",\"href\":\"/langsmith/smith-api/feedback/read-feedbacks\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create feedback\",\"description\":\"Create a new feedback.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/feedback\",\"href\":\"/langsmith/smith-api/feedback/create-feedback\",\"autogeneratedByOpenApi\":true},{\"title\":\"Eagerly create feedback\",\"description\":\"Deprecated: use POST /feedback instead.\\n\\nThis method is invoked under the assumption that the run\\nis already visible in the app, thus already present in DB\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/feedback/eager\",\"href\":\"/langsmith/smith-api/feedback/eagerly-create-feedback\",\"autogeneratedByOpenApi\":true},{\"title\":\"List feedback ingest tokens\",\"description\":\"List all feedback ingest tokens for a run.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/feedback/tokens\",\"href\":\"/langsmith/smith-api/feedback/list-feedback-ingest-tokens\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create feedback ingest token\",\"description\":\"Create a new feedback ingest token.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/feedback/tokens\",\"href\":\"/langsmith/smith-api/feedback/create-feedback-ingest-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create feedback with token get\",\"description\":\"Create a new feedback with a token.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/feedback/tokens/{token}\",\"href\":\"/langsmith/smith-api/feedback/create-feedback-with-token-get\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create feedback with token post\",\"description\":\"Create a new feedback with a token.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/feedback/tokens/{token}\",\"href\":\"/langsmith/smith-api/feedback/create-feedback-with-token-post\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get annotation queues\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/annotation-queues\",\"href\":\"/langsmith/smith-api/annotation-queues/get-annotation-queues\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create annotation queue\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/annotation-queues\",\"href\":\"/langsmith/smith-api/annotation-queues/create-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete annotation queues\",\"description\":\"Delete multiple annotation queues with partial success support.\\n\\nReturns:\\n    - 200: All queues deleted successfully\\n    - 207: Some queues deleted successfully, some failed\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/annotation-queues\",\"href\":\"/langsmith/smith-api/annotation-queues/delete-annotation-queues\",\"autogeneratedByOpenApi\":true},{\"title\":\"Populate annotation queue\",\"description\":\"Populate annotation queue with runs from an experiment.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/annotation-queues/populate\",\"href\":\"/langsmith/smith-api/annotation-queues/populate-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get annotation queue\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/annotation-queues/{queue_id}\",\"href\":\"/langsmith/smith-api/annotation-queues/get-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete annotation queue\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/annotation-queues/{queue_id}\",\"href\":\"/langsmith/smith-api/annotation-queues/delete-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update annotation queue\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/annotation-queues/{queue_id}\",\"href\":\"/langsmith/smith-api/annotation-queues/update-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get runs from annotation queue\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/annotation-queues/{queue_id}/runs\",\"href\":\"/langsmith/smith-api/annotation-queues/get-runs-from-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Add runs to annotation queue\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/annotation-queues/{queue_id}/runs\",\"href\":\"/langsmith/smith-api/annotation-queues/add-runs-to-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Add runs to annotation queue by key\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/annotation-queues/{queue_id}/runs/by-key\",\"href\":\"/langsmith/smith-api/annotation-queues/add-runs-to-annotation-queue-by-key\",\"autogeneratedByOpenApi\":true},{\"title\":\"Export annotation queue archived runs\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/annotation-queues/{queue_id}/export\",\"href\":\"/langsmith/smith-api/annotation-queues/export-annotation-queue-archived-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get run from annotation queue\",\"description\":\"Get a run from an annotation queue\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/annotation-queues/{queue_id}/run/{index}\",\"href\":\"/langsmith/smith-api/annotation-queues/get-run-from-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get annotation queues for run\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/annotation-queues/{run_id}/queues\",\"href\":\"/langsmith/smith-api/annotation-queues/get-annotation-queues-for-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete run from annotation queue\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/annotation-queues/{queue_id}/runs/{queue_run_id}\",\"href\":\"/langsmith/smith-api/annotation-queues/delete-run-from-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update run in annotation queue\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/annotation-queues/{queue_id}/runs/{queue_run_id}\",\"href\":\"/langsmith/smith-api/annotation-queues/update-run-in-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete runs from annotation queue\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/annotation-queues/{queue_id}/runs/delete\",\"href\":\"/langsmith/smith-api/annotation-queues/delete-runs-from-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get total size from annotation queue\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/annotation-queues/{queue_id}/total_size\",\"href\":\"/langsmith/smith-api/annotation-queues/get-total-size-from-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get total archived from annotation queue\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/annotation-queues/{queue_id}/total_archived\",\"href\":\"/langsmith/smith-api/annotation-queues/get-total-archived-from-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get size from annotation queue\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/annotation-queues/{queue_id}/size\",\"href\":\"/langsmith/smith-api/annotation-queues/get-size-from-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create identity annotation queue run status\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/annotation-queues/status/{annotation_queue_run_id}\",\"href\":\"/langsmith/smith-api/annotation-queues/create-identity-annotation-queue-run-status\",\"autogeneratedByOpenApi\":true},{\"title\":\"Resolve annotation queue run\",\"description\":\"Resolve a queue run ID to its section and run data for deep linking.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/annotation-queues/{queue_id}/runs/resolve/{queue_run_id}\",\"href\":\"/langsmith/smith-api/annotation-queues/resolve-annotation-queue-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"List feedback configs endpoint\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/feedback-configs\",\"href\":\"/langsmith/smith-api/feedback-configs/list-feedback-configs-endpoint\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create feedback config endpoint\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/feedback-configs\",\"href\":\"/langsmith/smith-api/feedback-configs/create-feedback-config-endpoint\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete feedback config endpoint\",\"description\":\"Soft delete a feedback config by marking it as deleted.\\n\\nThe config can be recreated later with the same key (simple reuse pattern).\\nExisting feedback records with this key will remain unchanged.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/feedback-configs\",\"href\":\"/langsmith/smith-api/feedback-configs/delete-feedback-config-endpoint\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update feedback config endpoint\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/feedback-configs\",\"href\":\"/langsmith/smith-api/feedback-configs/update-feedback-config-endpoint\",\"autogeneratedByOpenApi\":true},{\"title\":\"Add a reviewer to an annotation queue\",\"description\":\"Assigns a single identity as a reviewer for the queue. Idempotent.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/annotation-queues/{queue_id}/reviewers\",\"href\":\"/langsmith/smith-api/annotation_queues/add-a-reviewer-to-an-annotation-queue\",\"autogeneratedByOpenApi\":true},{\"title\":\"Remove a reviewer from an annotation queue\",\"description\":\"Unassigns an identity as a reviewer for the queue. Idempotent.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/annotation-queues/{queue_id}/reviewers/{identity_id}\",\"href\":\"/langsmith/smith-api/annotation_queues/remove-a-reviewer-from-an-annotation-queue\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Monitoring\",\"pages\":[{\"title\":\"Get bulk exports\",\"description\":\"Get the current workspace's bulk exports\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/bulk-exports\",\"href\":\"/langsmith/smith-api/bulk-exports/get-bulk-exports\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create bulk export\",\"description\":\"Create a new bulk export\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/bulk-exports\",\"href\":\"/langsmith/smith-api/bulk-exports/create-bulk-export\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get bulk export destinations\",\"description\":\"Get the current workspace's bulk export destinations\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/bulk-exports/destinations\",\"href\":\"/langsmith/smith-api/bulk-exports/get-bulk-export-destinations\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create bulk export destination\",\"description\":\"Create a new bulk export destination\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/bulk-exports/destinations\",\"href\":\"/langsmith/smith-api/bulk-exports/create-bulk-export-destination\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get bulk export runs filtered\",\"description\":\"Get bulk export runs for exports that were created from a scheduled bulk export\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/bulk-exports/runs\",\"href\":\"/langsmith/smith-api/bulk-exports/get-bulk-export-runs-filtered\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get bulk export\",\"description\":\"Get a single bulk export by ID\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/bulk-exports/{bulk_export_id}\",\"href\":\"/langsmith/smith-api/bulk-exports/get-bulk-export\",\"autogeneratedByOpenApi\":true},{\"title\":\"Cancel bulk export\",\"description\":\"Cancel a bulk export by ID\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/bulk-exports/{bulk_export_id}\",\"href\":\"/langsmith/smith-api/bulk-exports/cancel-bulk-export\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get bulk export destination\",\"description\":\"Get a single bulk export destination by ID\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/bulk-exports/destinations/{destination_id}\",\"href\":\"/langsmith/smith-api/bulk-exports/get-bulk-export-destination\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update bulk export destination\",\"description\":\"Update a bulk export destination\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/bulk-exports/destinations/{destination_id}\",\"href\":\"/langsmith/smith-api/bulk-exports/update-bulk-export-destination\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get bulk export runs\",\"description\":\"Get a bulk export's runs\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/bulk-exports/{bulk_export_id}/runs\",\"href\":\"/langsmith/smith-api/bulk-exports/get-bulk-export-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get bulk export run\",\"description\":\"Get a single bulk export's run by ID\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/bulk-exports/{bulk_export_id}/runs/{run_id}\",\"href\":\"/langsmith/smith-api/bulk-exports/get-bulk-export-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Clone section\",\"description\":\"Clone a dashboard.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/charts/section/clone\",\"href\":\"/langsmith/smith-api/charts/clone-section\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read sections\",\"description\":\"Get all sections for the tenant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/charts/section\",\"href\":\"/langsmith/smith-api/charts/read-sections\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create section\",\"description\":\"Create a new section.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/charts/section\",\"href\":\"/langsmith/smith-api/charts/create-section\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read charts\",\"description\":\"Get all charts for the tenant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/charts\",\"href\":\"/langsmith/smith-api/charts/read-charts\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read chart preview\",\"description\":\"Get a preview for a chart without actually creating it.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/charts/preview\",\"href\":\"/langsmith/smith-api/charts/read-chart-preview\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create chart\",\"description\":\"Create a new chart.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/charts/create\",\"href\":\"/langsmith/smith-api/charts/create-chart\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read single chart\",\"description\":\"Get a single chart by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/charts/{chart_id}\",\"href\":\"/langsmith/smith-api/charts/read-single-chart\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete chart\",\"description\":\"Delete a chart.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/charts/{chart_id}\",\"href\":\"/langsmith/smith-api/charts/delete-chart\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update chart\",\"description\":\"Update a chart.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/charts/{chart_id}\",\"href\":\"/langsmith/smith-api/charts/update-chart\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read single section\",\"description\":\"Get a single section by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/charts/section/{section_id}\",\"href\":\"/langsmith/smith-api/charts/read-single-section\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete section\",\"description\":\"Delete a section.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/charts/section/{section_id}\",\"href\":\"/langsmith/smith-api/charts/delete-section\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update section\",\"description\":\"Update a section.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/charts/section/{section_id}\",\"href\":\"/langsmith/smith-api/charts/update-section\",\"autogeneratedByOpenApi\":true},{\"title\":\"Org read sections\",\"description\":\"Deprecated: organization usage charts have been retired (HTTP 410).\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/org-charts/section\",\"href\":\"/langsmith/smith-api/charts/org-read-sections\",\"autogeneratedByOpenApi\":true},{\"title\":\"Org create section\",\"description\":\"Deprecated: organization usage charts have been retired (HTTP 410).\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/org-charts/section\",\"href\":\"/langsmith/smith-api/charts/org-create-section\",\"autogeneratedByOpenApi\":true},{\"title\":\"Org read charts\",\"description\":\"Deprecated: organization usage charts have been retired (HTTP 410).\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/org-charts\",\"href\":\"/langsmith/smith-api/charts/org-read-charts\",\"autogeneratedByOpenApi\":true},{\"title\":\"Org read chart preview\",\"description\":\"Deprecated: organization usage charts have been retired (HTTP 410).\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/org-charts/preview\",\"href\":\"/langsmith/smith-api/charts/org-read-chart-preview\",\"autogeneratedByOpenApi\":true},{\"title\":\"Org create chart\",\"description\":\"Deprecated: organization usage charts have been retired (HTTP 410).\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/org-charts/create\",\"href\":\"/langsmith/smith-api/charts/org-create-chart\",\"autogeneratedByOpenApi\":true},{\"title\":\"Org read single chart\",\"description\":\"Deprecated: organization usage charts have been retired (HTTP 410).\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/org-charts/{chart_id}\",\"href\":\"/langsmith/smith-api/charts/org-read-single-chart\",\"autogeneratedByOpenApi\":true},{\"title\":\"Org delete chart\",\"description\":\"Deprecated: organization usage charts have been retired (HTTP 410).\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/org-charts/{chart_id}\",\"href\":\"/langsmith/smith-api/charts/org-delete-chart\",\"autogeneratedByOpenApi\":true},{\"title\":\"Org update chart\",\"description\":\"Deprecated: organization usage charts have been retired (HTTP 410).\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/org-charts/{chart_id}\",\"href\":\"/langsmith/smith-api/charts/org-update-chart\",\"autogeneratedByOpenApi\":true},{\"title\":\"Org read single section\",\"description\":\"Deprecated: organization usage charts have been retired (HTTP 410).\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/org-charts/section/{section_id}\",\"href\":\"/langsmith/smith-api/charts/org-read-single-section\",\"autogeneratedByOpenApi\":true},{\"title\":\"Org delete section\",\"description\":\"Deprecated: organization usage charts have been retired (HTTP 410).\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/org-charts/section/{section_id}\",\"href\":\"/langsmith/smith-api/charts/org-delete-section\",\"autogeneratedByOpenApi\":true},{\"title\":\"Org update section\",\"description\":\"Deprecated: organization usage charts have been retired (HTTP 410).\",\"deprecated\":true,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/org-charts/section/{section_id}\",\"href\":\"/langsmith/smith-api/charts/org-update-section\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create an alert rule\",\"description\":\"Creates a new alert rule. The request body must be a JSON-encoded alert rule object that follows the CreateAlertRuleRequest schema.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/alerts/{session_id}\",\"href\":\"/langsmith/smith-api/alert_rules/create-an-alert-rule\",\"autogeneratedByOpenApi\":true},{\"title\":\"Test an alert action to determine if configuration is valid\",\"description\":\"Tests an alert action which will fire a notification to all configured recipients if the configuration is valid.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/alerts/{session_id}/test\",\"href\":\"/langsmith/smith-api/alert_rules/test-an-alert-action-to-determine-if-configuration-is-valid\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get an alert rule\",\"description\":\"Gets an alert rule.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/alerts/{session_id}/{alert_rule_id}\",\"href\":\"/langsmith/smith-api/alert_rules/get-an-alert-rule\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete an alert rule\",\"description\":\"Deletes an alert rule\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/alerts/{session_id}/{alert_rule_id}\",\"href\":\"/langsmith/smith-api/alert_rules/delete-an-alert-rule\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update an alert rule\",\"description\":\"Updates an alert rule.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /v1/platform/alerts/{session_id}/{alert_rule_id}\",\"href\":\"/langsmith/smith-api/alert_rules/update-an-alert-rule\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Prompts \u0026 Playground\",\"pages\":[{\"title\":\"Invoke prompt\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/prompts/invoke_prompt\",\"href\":\"/langsmith/smith-api/prompts/invoke-prompt\",\"autogeneratedByOpenApi\":true},{\"title\":\"Prompt canvas\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/prompts/canvas\",\"href\":\"/langsmith/smith-api/prompts/prompt-canvas\",\"autogeneratedByOpenApi\":true},{\"title\":\"List prompt webhooks\",\"description\":\"List all prompt webhooks for the current tenant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/prompt-webhooks\",\"href\":\"/langsmith/smith-api/prompt-webhooks/list-prompt-webhooks\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create prompt webhook\",\"description\":\"Create a new prompt webhook.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/prompt-webhooks\",\"href\":\"/langsmith/smith-api/prompt-webhooks/create-prompt-webhook\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get prompt webhook\",\"description\":\"Get a specific prompt webhook.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/prompt-webhooks/{webhook_id}\",\"href\":\"/langsmith/smith-api/prompt-webhooks/get-prompt-webhook\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete prompt webhook\",\"description\":\"Delete a specific prompt webhook.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/prompt-webhooks/{webhook_id}\",\"href\":\"/langsmith/smith-api/prompt-webhooks/delete-prompt-webhook\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update prompt webhook\",\"description\":\"Update a specific prompt webhook.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/prompt-webhooks/{webhook_id}\",\"href\":\"/langsmith/smith-api/prompt-webhooks/update-prompt-webhook\",\"autogeneratedByOpenApi\":true},{\"title\":\"Test prompt webhook\",\"description\":\"Test a specific prompt webhook.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/prompt-webhooks/test\",\"href\":\"/langsmith/smith-api/prompt-webhooks/test-prompt-webhook\",\"autogeneratedByOpenApi\":true},{\"title\":\"List playground settings\",\"description\":\"Get all playground settings for this tenant id.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/playground-settings\",\"href\":\"/langsmith/smith-api/playground-settings/list-playground-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create playground settings\",\"description\":\"Create playground settings.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/playground-settings\",\"href\":\"/langsmith/smith-api/playground-settings/create-playground-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get playground settings\",\"description\":\"Get a single playground settings by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/playground-settings/{playground_settings_id}\",\"href\":\"/langsmith/smith-api/playground-settings/get-playground-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete playground settings\",\"description\":\"Delete playground settings.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/playground-settings/{playground_settings_id}\",\"href\":\"/langsmith/smith-api/playground-settings/delete-playground-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update playground settings\",\"description\":\"Update playground settings.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/playground-settings/{playground_settings_id}\",\"href\":\"/langsmith/smith-api/playground-settings/update-playground-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"List hub environments\",\"description\":\"Returns the hub environments model for the current tenant.\\nReturns 404 if no custom configuration exists.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/hub/environments\",\"href\":\"/langsmith/smith-api/hub_environments/list-hub-environments\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create hub environments model\",\"description\":\"Creates the hub environments configuration for the current tenant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/hub/environments\",\"href\":\"/langsmith/smith-api/hub_environments/create-hub-environments-model\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete hub environments model\",\"description\":\"Deletes the hub environments configuration. Tenant reverts to defaults.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/hub/environments/{id}\",\"href\":\"/langsmith/smith-api/hub_environments/delete-hub-environments-model\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update hub environments model\",\"description\":\"Replaces the environments array on an existing model.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/hub/environments/{id}\",\"href\":\"/langsmith/smith-api/hub_environments/update-hub-environments-model\",\"autogeneratedByOpenApi\":true},{\"title\":\"List commits\",\"description\":\"Lists all commits for a repository with pagination support.\\nThis endpoint supports both authenticated and unauthenticated access.\\nAuthenticated users can access private repos, while unauthenticated users can only access public repos.\\nThe include_stats parameter controls whether download and view statistics are computed (defaults to true).\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /commits/{owner}/{repo}\",\"href\":\"/langsmith/smith-api/commits/list-commits\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create a commit\",\"description\":\"Creates a new commit in a repository.\\nRequires authentication and write access to the repository.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /commits/{owner}/{repo}\",\"href\":\"/langsmith/smith-api/commits/create-a-commit\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get a commit\",\"description\":\"Retrieves a specific commit by hash, tag, or \\\"latest\\\" for a repository.\\nThis endpoint supports both authenticated and unauthenticated access.\\nAuthenticated users can access private repos, while unauthenticated users can only access public repos.\\nCommit resolution logic:\\n- \\\"latest\\\" or empty: Get the most recent commit\\n- Less than 8 characters: Only check for tags\\n- 8 or more characters: Prioritize commit hash over tag, check both\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /commits/{owner}/{repo}/{commit}\",\"href\":\"/langsmith/smith-api/commits/get-a-commit\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get tag transition history\",\"description\":\"Returns the paginated audit log of transitions for a specific\\ntag in a repository. Each entry records a commit change\\n(from_commit → to_commit) along with who performed it.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /repos/{owner}/{repo}/tags/{tag_name}/history\",\"href\":\"/langsmith/smith-api/tag-transitions/get-tag-transition-history\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get directory contents\",\"description\":\"Resolves the flattened file tree for an agent or skill repository at a specific commit, tag, or latest.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/hub/repos/{owner}/{repo}/directories\",\"href\":\"/langsmith/smith-api/directories/get-directory-contents\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete directory repository\",\"description\":\"Deletes an agent or skill repository and its owned child file repositories.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/hub/repos/{owner}/{repo}/directories\",\"href\":\"/langsmith/smith-api/directories/delete-directory-repository\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create directory commit\",\"description\":\"Creates a new directory commit for an agent or skill repository by applying file/link create, update, and delete operations.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/hub/repos/{owner}/{repo}/directories/commits\",\"href\":\"/langsmith/smith-api/directories/create-directory-commit\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Integrations \u0026 Tools\",\"pages\":[{\"title\":\"Get tools\",\"description\":\"Return MCP tools — from cache if fresh, otherwise by fetching from remote.\\n\\nOn cache miss, tries manifest fetch first (fast), then falls back to full\\nMCP handshake. Caches the result before returning.\\n\\nPass force_refresh=true to bypass the cache and always fetch from the\\nremote server (the result is still cached via upsert for future requests).\\n\\nThe ls_user_id query parameter allows service-key callers (which don't carry\\nls_user_id in auth) to specify the user for per-user OAuth cache lookups.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/mcp/tools\",\"href\":\"/langsmith/smith-api/mcp/get-tools\",\"autogeneratedByOpenApi\":true},{\"title\":\"Invalidate tools cache\",\"description\":\"Invalidate cached MCP tools for a given server URL.\\n\\nCalled when a tool call fails with a stale-tools error, so subsequent\\nrequests to GET /mcp/tools will re-fetch from the remote server.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/mcp/tools\",\"href\":\"/langsmith/smith-api/mcp/invalidate-tools-cache\",\"autogeneratedByOpenApi\":true},{\"title\":\"Proxy get\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/mcp/proxy\",\"href\":\"/langsmith/smith-api/mcp/proxy-get\",\"autogeneratedByOpenApi\":true},{\"title\":\"Proxy\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/mcp/proxy\",\"href\":\"/langsmith/smith-api/mcp/proxy\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get OAuth2 authorization server metadata\",\"description\":\"Returns OAuth2 authorization server metadata per RFC 8414, including supported endpoints, grant types, and response types.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /.well-known/oauth-authorization-server\",\"href\":\"/langsmith/smith-api/oauth/get-oauth2-authorization-server-metadata\",\"autogeneratedByOpenApi\":true},{\"title\":\"Initiate OAuth2 authorization\",\"description\":\"Validates authorization request parameters and redirects to the frontend consent page per RFC 6749.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /oauth/authorize\",\"href\":\"/langsmith/smith-api/oauth/initiate-oauth2-authorization\",\"autogeneratedByOpenApi\":true},{\"title\":\"Approve OAuth2 authorization request\",\"description\":\"Issues an authorization code after the authenticated user approves the request. Called by the frontend consent page. Requires authentication.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /oauth/authorize/approve\",\"href\":\"/langsmith/smith-api/oauth/approve-oauth2-authorization-request\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get public OAuth2 client metadata\",\"description\":\"Returns the display metadata (name, logo, homepage/terms/privacy links) for a registered OAuth2 client. Used by the consent screen to show a human-readable client identity instead of the raw client_id. Public endpoint; exposes only non-sensitive display fields.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /oauth/client/{clientID}\",\"href\":\"/langsmith/smith-api/oauth/get-public-oauth2-client-metadata\",\"autogeneratedByOpenApi\":true},{\"title\":\"Authorize a device code\",\"description\":\"Marks a device code as authorized for the authenticated user. Called by the /activate page when the user enters their user code. Requires authentication.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /oauth/device/authorize\",\"href\":\"/langsmith/smith-api/oauth/authorize-a-device-code\",\"autogeneratedByOpenApi\":true},{\"title\":\"Request OAuth2 device authorization\",\"description\":\"Issues a device code and user code for the device authorization flow per RFC 8628.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /oauth/device/code\",\"href\":\"/langsmith/smith-api/oauth/request-oauth2-device-authorization\",\"autogeneratedByOpenApi\":true},{\"title\":\"Register an OAuth2 dynamic client\",\"description\":\"Public RFC 7591 Dynamic Client Registration endpoint. Only mints public clients with allowed loopback, HTTPS, or native client redirect URIs. Body limit 8 KB.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /oauth/register\",\"href\":\"/langsmith/smith-api/oauth/register-an-oauth2-dynamic-client\",\"autogeneratedByOpenApi\":true},{\"title\":\"Revoke an OAuth2 token\",\"description\":\"Revokes an access token or refresh token per RFC 7009. Always returns 200 regardless of whether the token was found.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /oauth/revoke\",\"href\":\"/langsmith/smith-api/oauth/revoke-an-oauth2-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"Exchange grant for OAuth2 tokens\",\"description\":\"Token endpoint that dispatches by grant_type: authorization_code, urn:ietf:params:oauth:grant-type:device_code, or refresh_token.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /oauth/token\",\"href\":\"/langsmith/smith-api/oauth/exchange-grant-for-oauth2-tokens\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get agent builder integrations settings\",\"description\":\"Returns default policy, integration overrides, and known integrations for the current workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/agent-builder/integrations\",\"href\":\"/langsmith/smith-api/integrations/get-agent-builder-integrations-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update agent builder integrations settings\",\"description\":\"Replaces default policy and integration overrides for the current workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /v1/agent-builder/integrations\",\"href\":\"/langsmith/smith-api/integrations/update-agent-builder-integrations-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"List MCP vendors\",\"description\":\"Returns the catalog of available MCP vendors.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/mcp-vendors\",\"href\":\"/langsmith/smith-api/mcp_vendors/list-mcp-vendors\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get MCP vendor\",\"description\":\"Returns vendor metadata and current settings.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/mcp-vendors/{vendor_slug}\",\"href\":\"/langsmith/smith-api/mcp_vendors/get-mcp-vendor\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get vendor account\",\"description\":\"Resolves OAuth token and returns the vendor's account info.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/mcp-vendors/{vendor_slug}/account\",\"href\":\"/langsmith/smith-api/mcp_vendors/get-vendor-account\",\"autogeneratedByOpenApi\":true},{\"title\":\"List MCP servers for a vendor\",\"description\":\"Returns the MCP gateways from the vendor for the workspace's configured org/project.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/mcp-vendors/{vendor_slug}/mcp-servers\",\"href\":\"/langsmith/smith-api/mcp_vendors/list-mcp-servers-for-a-vendor\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get vendor settings\",\"description\":\"Returns the current vendor-specific settings.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/mcp-vendors/{vendor_slug}/settings\",\"href\":\"/langsmith/smith-api/mcp_vendors/get-vendor-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Replace vendor settings\",\"description\":\"Replaces vendor settings.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json put /v1/platform/mcp-vendors/{vendor_slug}/settings\",\"href\":\"/langsmith/smith-api/mcp_vendors/replace-vendor-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create vendor settings\",\"description\":\"Initializes vendor settings.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/mcp-vendors/{vendor_slug}/settings\",\"href\":\"/langsmith/smith-api/mcp_vendors/create-vendor-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete vendor settings\",\"description\":\"Removes vendor settings.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/mcp-vendors/{vendor_slug}/settings\",\"href\":\"/langsmith/smith-api/mcp_vendors/delete-vendor-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"List tools for a vendor\",\"description\":\"Returns the tool catalog for this vendor.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/mcp-vendors/{vendor_slug}/tools\",\"href\":\"/langsmith/smith-api/mcp_vendors/list-tools-for-a-vendor\",\"autogeneratedByOpenApi\":true},{\"title\":\"List tools\",\"description\":\"Returns a paginated list of tools in the workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/tools\",\"href\":\"/langsmith/smith-api/tools/list-tools\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create a tool\",\"description\":\"Creates a new tool in the workspace.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/tools\",\"href\":\"/langsmith/smith-api/tools/create-a-tool\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get a tool by ID\",\"description\":\"Returns a tool identified by its UUID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/tools/id/{id}\",\"href\":\"/langsmith/smith-api/tools/get-a-tool-by-id\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete a tool by ID\",\"description\":\"Deletes a tool identified by its UUID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/tools/id/{id}\",\"href\":\"/langsmith/smith-api/tools/delete-a-tool-by-id\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update a tool by ID\",\"description\":\"Updates an existing tool identified by its UUID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /v1/platform/tools/id/{id}\",\"href\":\"/langsmith/smith-api/tools/update-a-tool-by-id\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get a tool by handle\",\"description\":\"Returns a tool identified by its handle.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/tools/{handle}\",\"href\":\"/langsmith/smith-api/tools/get-a-tool-by-handle\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete a tool by handle\",\"description\":\"Deletes a tool identified by its handle.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/tools/{handle}\",\"href\":\"/langsmith/smith-api/tools/delete-a-tool-by-handle\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update a tool by handle\",\"description\":\"Updates an existing tool identified by its handle.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /v1/platform/tools/{handle}\",\"href\":\"/langsmith/smith-api/tools/update-a-tool-by-handle\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Prompt Hub\",\"pages\":[{\"title\":\"Get settings\",\"description\":\"Get settings.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/settings\",\"href\":\"/langsmith/smith-api/settings/get-settings\",\"autogeneratedByOpenApi\":true},{\"title\":\"Set tenant handle\",\"description\":\"Set tenant handle.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/settings/handle\",\"href\":\"/langsmith/smith-api/settings/set-tenant-handle\",\"autogeneratedByOpenApi\":true},{\"title\":\"List repos\",\"description\":\"Get all repos.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/repos\",\"href\":\"/langsmith/smith-api/repos/list-repos\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create repo\",\"description\":\"Create a repo.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/repos\",\"href\":\"/langsmith/smith-api/repos/create-repo\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete repos\",\"description\":\"Delete multiple repos with partial success support.\\n\\nReturns:\\n    - 200: All repos deleted successfully\\n    - 207: Some repos deleted successfully, some failed\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/repos\",\"href\":\"/langsmith/smith-api/repos/delete-repos\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get repo\",\"description\":\"Get a repo.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/repos/{owner}/{repo}\",\"href\":\"/langsmith/smith-api/repos/get-repo\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete repo\",\"description\":\"Delete a repo.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/repos/{owner}/{repo}\",\"href\":\"/langsmith/smith-api/repos/delete-repo\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update repo\",\"description\":\"Update a repo.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/repos/{owner}/{repo}\",\"href\":\"/langsmith/smith-api/repos/update-repo\",\"autogeneratedByOpenApi\":true},{\"title\":\"Fork repo\",\"description\":\"Fork a repo.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/repos/{owner}/{repo}/fork\",\"href\":\"/langsmith/smith-api/repos/fork-repo\",\"autogeneratedByOpenApi\":true},{\"title\":\"List repo tags\",\"description\":\"Get all repo tags.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/repos/tags\",\"href\":\"/langsmith/smith-api/repos/list-repo-tags\",\"autogeneratedByOpenApi\":true},{\"title\":\"Optimize prompt job\",\"description\":\"Optimize prompt\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/repos/optimize-job\",\"href\":\"/langsmith/smith-api/repos/optimize-prompt-job\",\"autogeneratedByOpenApi\":true},{\"title\":\"Like repo\",\"description\":\"Like a repo.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/likes/{owner}/{repo}\",\"href\":\"/langsmith/smith-api/likes/like-repo\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get comments\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/comments/{owner}/{repo}\",\"href\":\"/langsmith/smith-api/comments/get-comments\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create comment\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/comments/{owner}/{repo}\",\"href\":\"/langsmith/smith-api/comments/create-comment\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get sub comments\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/comments/{owner}/{repo}/{parent_comment_id}\",\"href\":\"/langsmith/smith-api/comments/get-sub-comments\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create sub comment\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/comments/{owner}/{repo}/{parent_comment_id}\",\"href\":\"/langsmith/smith-api/comments/create-sub-comment\",\"autogeneratedByOpenApi\":true},{\"title\":\"Like comment\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/comments/{owner}/{repo}/{parent_comment_id}/like\",\"href\":\"/langsmith/smith-api/comments/like-comment\",\"autogeneratedByOpenApi\":true},{\"title\":\"Unlike comment\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/comments/{owner}/{repo}/{parent_comment_id}/like\",\"href\":\"/langsmith/smith-api/comments/unlike-comment\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get tags\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/repos/{owner}/{repo}/tags\",\"href\":\"/langsmith/smith-api/tags/get-tags\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create tag\",\"description\":\"Create a tag. Requires repo ownership, prompts:tag permission, or ABAC grant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/repos/{owner}/{repo}/tags\",\"href\":\"/langsmith/smith-api/tags/create-tag\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get tag\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/repos/{owner}/{repo}/tags/{tag_name}\",\"href\":\"/langsmith/smith-api/tags/get-tag\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete tag\",\"description\":\"Delete a tag. Requires repo ownership, prompts:tag permission, or ABAC grant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/repos/{owner}/{repo}/tags/{tag_name}\",\"href\":\"/langsmith/smith-api/tags/delete-tag\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update tag\",\"description\":\"Update a tag. Requires repo ownership, prompts:tag permission, or ABAC grant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/repos/{owner}/{repo}/tags/{tag_name}\",\"href\":\"/langsmith/smith-api/tags/update-tag\",\"autogeneratedByOpenApi\":true},{\"title\":\"List repo owners\",\"description\":\"List all owners of a repo.\\n\\nRequires read permission on the repo.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/repos/{owner}/{repo}/owners\",\"href\":\"/langsmith/smith-api/ownerships/list-repo-owners\",\"autogeneratedByOpenApi\":true},{\"title\":\"Add repo owner\",\"description\":\"Add an owner to a repo.\\n\\nRequires being an existing owner of the repo.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/repos/{owner}/{repo}/owners\",\"href\":\"/langsmith/smith-api/ownerships/add-repo-owner\",\"autogeneratedByOpenApi\":true},{\"title\":\"Remove repo owner\",\"description\":\"Remove an owner from a repo.\\n\\nRequires being an existing owner of the repo.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/repos/{owner}/{repo}/owners\",\"href\":\"/langsmith/smith-api/ownerships/remove-repo-owner\",\"autogeneratedByOpenApi\":true},{\"title\":\"List jobs\",\"description\":\"List all prompt optimization jobs.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/repos/{owner}/{repo}/optimization-jobs\",\"href\":\"/langsmith/smith-api/optimization-jobs/list-jobs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create job\",\"description\":\"Create a new prompt optimization job.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/repos/{owner}/{repo}/optimization-jobs\",\"href\":\"/langsmith/smith-api/optimization-jobs/create-job\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get job\",\"description\":\"Get a specific optimization job.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/repos/{owner}/{repo}/optimization-jobs/{job_id}\",\"href\":\"/langsmith/smith-api/optimization-jobs/get-job\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete job\",\"description\":\"Delete a prompt optimization job.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/repos/{owner}/{repo}/optimization-jobs/{job_id}\",\"href\":\"/langsmith/smith-api/optimization-jobs/delete-job\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update job\",\"description\":\"Replace an existing prompt optimization job with a new, modified job.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /api/v1/repos/{owner}/{repo}/optimization-jobs/{job_id}\",\"href\":\"/langsmith/smith-api/optimization-jobs/update-job\",\"autogeneratedByOpenApi\":true},{\"title\":\"List job logs\",\"description\":\"List all logs for a specific prompt optimization job.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/repos/{owner}/{repo}/optimization-jobs/{job_id}/logs\",\"href\":\"/langsmith/smith-api/optimization-jobs/list-job-logs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create log\",\"description\":\"Create a new log entry for a prompt optimization job.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/repos/{owner}/{repo}/optimization-jobs/{job_id}/logs\",\"href\":\"/langsmith/smith-api/optimization-jobs/create-log\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get log\",\"description\":\"Get a specific prompt optimization job log.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/repos/{owner}/{repo}/optimization-jobs/{job_id}/logs/{log_id}\",\"href\":\"/langsmith/smith-api/optimization-jobs/get-log\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete log\",\"description\":\"Delete a prompt optimization job log.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /api/v1/repos/{owner}/{repo}/optimization-jobs/{job_id}/logs/{log_id}\",\"href\":\"/langsmith/smith-api/optimization-jobs/delete-log\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Sandboxes\",\"pages\":[{\"title\":\"Get sandbox access decision\",\"description\":\"Combines authn + per-sandbox authz for runtime access. Returns the caller's PublicAuthInfo on allow (HTTP 200) or a 403 with the deny reason on deny.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /auth/sandbox-access\",\"href\":\"/langsmith/smith-api/sandboxes/get-sandbox-access-decision\",\"autogeneratedByOpenApi\":true},{\"title\":\"List sandboxes\",\"description\":\"List sandboxes for the authenticated tenant, with optional filtering, sorting, and pagination.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/sandboxes/boxes\",\"href\":\"/langsmith/smith-api/sandboxes/list-sandboxes\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create a sandbox\",\"description\":\"Create a new sandbox from a snapshot. Provide at most one of `snapshot_id` or `snapshot_name`; if neither is provided, the server uses the default snapshot.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/sandboxes/boxes\",\"href\":\"/langsmith/smith-api/sandboxes/create-a-sandbox\",\"autogeneratedByOpenApi\":true},{\"title\":\"Batch delete sandboxes\",\"description\":\"Delete multiple sandboxes by name or UUID in a single request.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/sandboxes/boxes/batch-delete\",\"href\":\"/langsmith/smith-api/sandboxes/batch-delete-sandboxes\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get a sandbox\",\"description\":\"Retrieve a sandbox by name. Stale provisioning sandboxes are auto-failed.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/sandboxes/boxes/{name}\",\"href\":\"/langsmith/smith-api/sandboxes/get-a-sandbox\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete a sandbox\",\"description\":\"Delete a sandbox by name or UUID. Tears down the sandbox runtime and removes the DB record.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v2/sandboxes/boxes/{name}\",\"href\":\"/langsmith/smith-api/sandboxes/delete-a-sandbox\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update a sandbox\",\"description\":\"Update a sandbox's display name. The name must be unique within the tenant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /v2/sandboxes/boxes/{name}\",\"href\":\"/langsmith/smith-api/sandboxes/update-a-sandbox\",\"autogeneratedByOpenApi\":true},{\"title\":\"Generate a service access token\",\"description\":\"Create a short-lived JWT for accessing an HTTP service running on a specific port inside a sandbox. Returns a browser_url (sets auth cookie via redirect), a service_url (for use with the X-Langsmith-Sandbox-Service-Token header), the raw token, and its expiry.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/sandboxes/boxes/{name}/service-url\",\"href\":\"/langsmith/smith-api/sandboxes/generate-a-service-access-token\",\"autogeneratedByOpenApi\":true},{\"title\":\"Capture a snapshot from a sandbox\",\"description\":\"Create a snapshot by capturing the current state of a sandbox or promoting an existing checkpoint.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/sandboxes/boxes/{name}/snapshot\",\"href\":\"/langsmith/smith-api/sandboxes/capture-a-snapshot-from-a-sandbox\",\"autogeneratedByOpenApi\":true},{\"title\":\"Start a sandbox\",\"description\":\"Start a stopped or failed sandbox. This endpoint is not idempotent.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/sandboxes/boxes/{name}/start\",\"href\":\"/langsmith/smith-api/sandboxes/start-a-sandbox\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get sandbox status\",\"description\":\"Retrieve the lightweight status of a sandbox for polling.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/sandboxes/boxes/{name}/status\",\"href\":\"/langsmith/smith-api/sandboxes/get-sandbox-status\",\"autogeneratedByOpenApi\":true},{\"title\":\"Stop a sandbox\",\"description\":\"Stop a ready sandbox. This endpoint is not idempotent; the filesystem is preserved for later restart.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/sandboxes/boxes/{name}/stop\",\"href\":\"/langsmith/smith-api/sandboxes/stop-a-sandbox\",\"autogeneratedByOpenApi\":true},{\"title\":\"List registries\",\"description\":\"List sandbox registries for pulling private images.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/sandboxes/registries\",\"href\":\"/langsmith/smith-api/sandboxes/list-registries\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create a registry\",\"description\":\"Create a sandbox registry for pulling private images.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/sandboxes/registries\",\"href\":\"/langsmith/smith-api/sandboxes/create-a-registry\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get a registry\",\"description\":\"Get a sandbox registry by name.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/sandboxes/registries/{name}\",\"href\":\"/langsmith/smith-api/sandboxes/get-a-registry\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete a registry\",\"description\":\"Delete a sandbox registry by name.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v2/sandboxes/registries/{name}\",\"href\":\"/langsmith/smith-api/sandboxes/delete-a-registry\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update a registry\",\"description\":\"Update a sandbox registry's name and/or credentials.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /v2/sandboxes/registries/{name}\",\"href\":\"/langsmith/smith-api/sandboxes/update-a-registry\",\"autogeneratedByOpenApi\":true},{\"title\":\"List snapshots\",\"description\":\"List sandbox snapshots for the authenticated tenant, with optional filtering, sorting, and pagination.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/sandboxes/snapshots\",\"href\":\"/langsmith/smith-api/sandboxes/list-snapshots\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create a snapshot\",\"description\":\"Create a snapshot from a Docker image (async build).\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/sandboxes/snapshots\",\"href\":\"/langsmith/smith-api/sandboxes/create-a-snapshot\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get a snapshot\",\"description\":\"Get a sandbox snapshot by ID.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/sandboxes/snapshots/{snapshot_id}\",\"href\":\"/langsmith/smith-api/sandboxes/get-a-snapshot\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete a snapshot\",\"description\":\"Delete a snapshot by ID. The underlying storage is reclaimed asynchronously.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v2/sandboxes/snapshots/{snapshot_id}\",\"href\":\"/langsmith/smith-api/sandboxes/delete-a-snapshot\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get sandbox resource usage\",\"description\":\"Get current sandbox resource usage and quota limits for the workspace\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/sandboxes/usage\",\"href\":\"/langsmith/smith-api/sandboxes/get-sandbox-resource-usage\",\"autogeneratedByOpenApi\":true},{\"title\":\"Download a sandbox file\",\"description\":\"Download file contents from a sandbox filesystem path.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/sandboxes/{sandbox_id}/download\",\"href\":\"/langsmith/smith-api/sandboxes/download-a-sandbox-file\",\"autogeneratedByOpenApi\":true},{\"title\":\"Execute a sandbox command\",\"description\":\"Execute a command inside a sandbox and return stdout, stderr, and exit code.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/sandboxes/{sandbox_id}/execute\",\"href\":\"/langsmith/smith-api/sandboxes/execute-a-sandbox-command\",\"autogeneratedByOpenApi\":true},{\"title\":\"Execute a sandbox command over WebSocket\",\"description\":\"Open a WebSocket connection for streaming command execution inside a sandbox.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/sandboxes/{sandbox_id}/execute/ws\",\"href\":\"/langsmith/smith-api/sandboxes/execute-a-sandbox-command-over-websocket\",\"autogeneratedByOpenApi\":true},{\"title\":\"Glob a sandbox filesystem\",\"description\":\"Find files under a root path matching a glob pattern (supports **). Entries are returned in lexical order by path.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/sandboxes/{sandbox_id}/glob\",\"href\":\"/langsmith/smith-api/sandboxes/glob-a-sandbox-filesystem\",\"autogeneratedByOpenApi\":true},{\"title\":\"Open a sandbox TCP tunnel\",\"description\":\"Open a WebSocket tunnel to a specific port inside a sandbox.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/sandboxes/{sandbox_id}/tunnel\",\"href\":\"/langsmith/smith-api/sandboxes/open-a-sandbox-tcp-tunnel\",\"autogeneratedByOpenApi\":true},{\"title\":\"Upload a sandbox file\",\"description\":\"Upload a file to a sandbox filesystem path.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/sandboxes/{sandbox_id}/upload\",\"href\":\"/langsmith/smith-api/sandboxes/upload-a-sandbox-file\",\"autogeneratedByOpenApi\":true},{\"title\":\"Grep a sandbox filesystem\",\"description\":\"Search files under a root path for a literal text pattern (not a regex).\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/sandboxes/{sandbox_id}/grep\",\"href\":\"/langsmith/smith-api/sandboxes/grep-a-sandbox-filesystem\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Issues\",\"pages\":[{\"title\":\"Get issues-agent (engine) LCU spend per project for the calling org\",\"description\":\"Returns one flat row per (tenant, session) pair in the\\ncaller's organization that has Engine spend in the\\nwindow, each carrying its workspace name, project\\n(session) name, and Engine LCU spend. The caller groups\\nrows by tenant for display and sums the `lcu_total`\\nfield across items for the org-wide total (the UI tile\\ndoes both). The window defaults to the current calendar\\nmonth (UTC) and can be overridden with `start` and `end`\\n(RFC 3339, capped at 31 days). Hours where the rate card\\ndid not price a (provider, model) pair are excluded from\\neach row's `lcu_total` and surfaced as\\n`lcu_unpriced_row_count` so callers can detect billing\\ncoverage gaps without inflating the spend number.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /issues-agent/lcu-spend\",\"href\":\"/langsmith/smith-api/issues-agent/get-issues-agent-engine-lcu-spend-per-project-for-the-calling-org\",\"autogeneratedByOpenApi\":true},{\"title\":\"List issues (Beta)\",\"description\":\"**Beta:** This endpoint is in active development and may change without notice.\\n\\nReturns issues for the authenticated tenant, optionally filtered\\nby session, status, severity, tag, or last modified time.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/issues\",\"href\":\"/langsmith/smith-api/issues/list-issues-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"List issues agent configs (Beta)\",\"description\":\"**Beta:** This endpoint is in active development and may change without notice.\\n\\nReturns every issues agent config configured for the authenticated tenant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/issues-agent\",\"href\":\"/langsmith/smith-api/issues-agent/list-issues-agent-configs-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get issue (Beta)\",\"description\":\"**Beta:** This endpoint is in active development and may change without notice.\\n\\nReturns one issue for the authenticated tenant.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/issues/{id}\",\"href\":\"/langsmith/smith-api/issues/get-issue-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Record a fix-verification verdict\",\"description\":\"Records whether a fix resolved the issue when replayed against its preview deployment.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/issues/{id}/fix-verdict\",\"href\":\"/langsmith/smith-api/issues/record-a-fix-verification-verdict\",\"autogeneratedByOpenApi\":true},{\"title\":\"Start preview-deploy verification for a fix\",\"description\":\"Opens/reuses the fix PR, applies the preview label, and schedules the poll that resumes the fix run when the preview is up.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/issues/{id}/start-preview\",\"href\":\"/langsmith/smith-api/issues/start-preview-deploy-verification-for-a-fix\",\"autogeneratedByOpenApi\":true},{\"title\":\"Mark issue viewed (Beta)\",\"description\":\"**Beta:** Records that the current user opened this issue.\\nIdempotent. Drives the Engine tab unread-issues badge.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/issues/{id}/views\",\"href\":\"/langsmith/smith-api/issues/mark-issue-viewed-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get the issues agent config for a session (Beta)\",\"description\":\"**Beta:** This endpoint is in active development and may change without notice.\\n\\nReturns the issues agent config attached to the given tracer session.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/sessions/{session_id}/issues-agent\",\"href\":\"/langsmith/smith-api/issues-agent/get-the-issues-agent-config-for-a-session-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create the issues agent for a session (Beta)\",\"description\":\"**Beta:** This endpoint is in active development and may change without notice.\\n\\nConfigures the issues agent for the given tracer session and enqueues\\nthe initial scan. Fails if an agent already exists for the session.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/sessions/{session_id}/issues-agent\",\"href\":\"/langsmith/smith-api/issues-agent/create-the-issues-agent-for-a-session-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete the issues agent for a session (Beta)\",\"description\":\"**Beta:** This endpoint is in active development and may change without notice.\\n\\nRemoves the agent config, its issues, and the agent-overview hub repo.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/sessions/{session_id}/issues-agent\",\"href\":\"/langsmith/smith-api/issues-agent/delete-the-issues-agent-for-a-session-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update the issues agent config for a session (Beta)\",\"description\":\"**Beta:** This endpoint is in active development and may change without notice.\\n\\nPatches the agent config. All side effects (clearing fix fields when\\nthe GitHub repo changes, setting agent_overview_repo_id) happen in a\\nsingle CRUD transaction. Omitted fields are left unchanged.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /v1/platform/sessions/{session_id}/issues-agent\",\"href\":\"/langsmith/smith-api/issues-agent/update-the-issues-agent-config-for-a-session-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Save the agent overview for a session (Beta)\",\"description\":\"**Beta:** This endpoint is in active development and may change without notice.\\n\\nSaves the issues agent overview content server-side, creating or updating\\nthe backing private Prompt Hub repo and linking it to the issues agent config.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /v1/platform/sessions/{session_id}/issues-agent/overview\",\"href\":\"/langsmith/smith-api/issues-agent/save-the-agent-overview-for-a-session-beta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Roll an issues agent webhook signing secret\",\"description\":\"Replaces the signing secret for the given issues agent webhook and returns the\\nupdated webhook. Future deliveries are signed with the new secret immediately.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/sessions/{session_id}/issues-agent/webhooks/{id}/roll-secret\",\"href\":\"/langsmith/smith-api/issues-agent/roll-an-issues-agent-webhook-signing-secret\",\"autogeneratedByOpenApi\":true},{\"title\":\"List viewed issues for a session (Beta)\",\"description\":\"**Beta:** Returns the issues in this session that the current\\nuser has opened, with timestamps. Used by the UI to derive\\nthe per-row \\\"unread\\\" indicator and the Engine tab badge.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/sessions/{session_id}/issues/views\",\"href\":\"/langsmith/smith-api/issues/list-viewed-issues-for-a-session-beta\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"fleet orgs\",\"pages\":[]},{\"group\":\"fleet tenants\",\"pages\":[]},{\"group\":\"fleet secrets\",\"pages\":[]},{\"group\":\"fleet users\",\"pages\":[]},{\"group\":\"LLM Gateway\",\"pages\":[{\"title\":\"List gateway policies\",\"description\":\"Returns every gateway policy in the current organization.\\nThe response includes both admin-created policies and\\nruntime-materialized children of `default_spend_cap`\\npolicies (children carry `parent_policy_id`).\\n\\n**Spend tracking:** each spend-cap policy carries\\n`current_spend_usd` — the spend accumulated in the policy's\\nactive window.\\n\\n**Filters** (all optional):\\n- `policy_type` — `spend_cap`, `default_spend_cap`, `guard`, or `route_config`\\n- `subject_matcher_key` + `subject_matcher_value` — narrow to\\npolicies whose subject_matchers contain `{key, value}`\\n\\nFor batch lookups by a set of subject values (e.g. many\\nrun_rule_ids at once), use POST\\n`/v1/platform/gateway-policies/search`; it accepts the\\nvalues in a JSON body and avoids the URL-length ceiling\\nthat a repeated query param would hit at scale.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/gateway-policies\",\"href\":\"/langsmith/smith-api/gateway-policies/list-gateway-policies\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create a gateway policy\",\"description\":\"$33\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/gateway-policies\",\"href\":\"/langsmith/smith-api/gateway-policies/create-a-gateway-policy\",\"autogeneratedByOpenApi\":true},{\"title\":\"Search gateway policies by subject value set\",\"description\":\"Batch variant of GET /v1/platform/gateway-policies for\\nfetching policies that match a set of subject_matcher_values\\nunder one subject_matcher_key. Accepts the values in a JSON\\nbody so callers can include hundreds of subject ids without\\nbumping into per-server URL-length limits.\\n\\nVisibility, response shape, and matcher semantics are\\nidentical to the GET list. With `subject_matcher_values`\\nempty (or omitted) this returns the same result as GET\\nwith only `policy_type` set.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/gateway-policies/search\",\"href\":\"/langsmith/smith-api/gateway-policies/search-gateway-policies-by-subject-value-set\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get a gateway policy\",\"description\":\"Returns a single gateway policy by id. Cross-org access is\\nrejected with 404\\n\\n**Spend tracking:** spend-cap policies include\\n`current_spend_usd` for the active window so callers can\\nread per-policy cost without hitting a separate endpoint.\\nGuard policies leave it null.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v1/platform/gateway-policies/{id}\",\"href\":\"/langsmith/smith-api/gateway-policies/get-a-gateway-policy\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete a gateway policy\",\"description\":\"Deletes a gateway policy. Subsequent reads return 404.\\n\\n**default_spend_cap cascade:** deleting a `default_spend_cap`\\nalso deletes every child policy materialized from it.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json delete /v1/platform/gateway-policies/{id}\",\"href\":\"/langsmith/smith-api/gateway-policies/delete-a-gateway-policy\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update a gateway policy\",\"description\":\"Partially updates a gateway policy. Only fields present in\\nthe request body are applied; absent fields are left\\nunchanged. `policy_type` is immutable — to change a\\npolicy's type, delete it and create a new one.\\n\\n**config** if supplied must match the policy's type:\\n- spend-cap: `{\\\"window\\\": ..., \\\"limit_usd\\\": ...}`\\n- guard:     `{\\\"version\\\": 1, \\\"detect\\\": {...}, \\\"timeout_seconds\\\": \u003cnumber\u003e, \\\"timeout_action\\\": \\\"allow\\\"|\\\"block\\\"}`\\nMismatched shapes are rejected with 400.\\n\\n**default_spend_cap cascade:** editing a `default_spend_cap`\\nupdates the config/action/enabled/priority on every\\nattached child policy so the template stays the source of\\ntruth across rollouts.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json patch /v1/platform/gateway-policies/{id}\",\"href\":\"/langsmith/smith-api/gateway-policies/update-a-gateway-policy\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Threads\",\"pages\":[{\"title\":\"Query threads (v2)\",\"description\":\"**Alpha:** The request and response contract may change;\\nQuery threads within a project (session), with cursor-based pagination.\\nReturns threads matching the given time range and optional filter.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v2/threads/query\",\"href\":\"/langsmith/smith-api/threads/query-threads-v2\",\"autogeneratedByOpenApi\":true},{\"title\":\"Query single thread stats (v2)\",\"description\":\"**Alpha:** The request and response contract may change;\\nCompute aggregate stats for a single thread (turn count, latency percentiles, token/cost sums, and detail breakdowns) within a project.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/threads/{thread_id}/stats\",\"href\":\"/langsmith/smith-api/threads/query-single-thread-stats-v2\",\"autogeneratedByOpenApi\":true},{\"title\":\"Query thread traces (v2)\",\"description\":\"**Alpha:** The request and response contract may change;\\nRetrieve all traces belonging to a specific thread within a project.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /v2/threads/{thread_id}/traces\",\"href\":\"/langsmith/smith-api/threads/query-thread-traces-v2\",\"autogeneratedByOpenApi\":true}]}]}]}]}]},{\"product\":\"PLATFORM\",\"menu\":[{\"item\":\"Platform setup\",\"icon\":\"server\",\"description\":\"Set up Cloud or Self-hosted\",\"tabs\":[{\"tab\":\"Overview\",\"pages\":[{\"title\":\"Set up LangSmith\",\"sidebarTitle\":\"Overview\",\"mode\":\"custom\",\"description\":\"Host and manage LangSmith infrastructure for observability, evaluation, and prompt engineering.\",\"icon\":\"server\",\"href\":\"/langsmith/platform-setup\"}]},{\"tab\":\"Account\",\"pages\":[{\"title\":\"Account\",\"sidebarTitle\":\"Overview\",\"description\":\"Set up your LangSmith account, including API keys, profile configuration, integrations, and pricing tiers.\",\"mode\":\"wide\",\"href\":\"/langsmith/admin\"},{\"title\":\"Create an account and API key\",\"sidebarTitle\":\"Create an account and API key\",\"icon\":\"key\",\"description\":null,\"href\":\"/langsmith/create-account-api-key\"},{\"title\":\"Profile configuration\",\"description\":\"Configure LangSmith SDK credentials and endpoints with a local profile file.\",\"icon\":\"id\",\"href\":\"/langsmith/profile-configuration\"},{\"title\":\"Pricing plans\",\"sidebarTitle\":\"Plans\",\"icon\":\"packages\",\"url\":\"https://langchain.com/pricing\",\"description\":null,\"href\":\"/langsmith/pricing-plans\"},{\"title\":\"LangSmith for Enterprise\",\"sidebarTitle\":\"Enterprise features\",\"description\":\"Hosting options, access control, data privacy, cost controls, and security compliance for Enterprise users.\",\"mode\":\"wide\",\"icon\":\"building-skyscraper\",\"href\":\"/langsmith/enterprise\"},{\"group\":\"Billing \u0026 usage\",\"pages\":[{\"title\":\"Manage billing in your account\",\"sidebarTitle\":\"Manage billing\",\"description\":null,\"href\":\"/langsmith/billing\"},{\"title\":\"View usage\",\"description\":\"What usage data is available in LangSmith, what each metric means, and what differs for Self-hosted.\",\"href\":\"/langsmith/view-usage\"},{\"title\":\"Granular billable usage\",\"sidebarTitle\":\"Granular usage\",\"description\":\"Retrieve detailed trace and LangSmith Deployment usage data broken down by workspace, project, user, or API key.\",\"href\":\"/langsmith/granular-usage\"}]}]},{\"tab\":\"Cloud\",\"pages\":[{\"title\":\"Cloud (SaaS)\",\"sidebarTitle\":\"Cloud\",\"icon\":\"cloud\",\"iconType\":\"solid\",\"description\":null,\"href\":\"/langsmith/cloud\"},{\"group\":\"Reference\",\"pages\":[{\"title\":\"LangSmith Cloud changelog\",\"sidebarTitle\":\"Cloud changelog\",\"description\":\"Weekly updates to LangSmith Cloud\",\"rss\":true,\"href\":\"/langsmith/changelog\"},{\"title\":\"Release stages\",\"sidebarTitle\":\"Release stages\",\"description\":\"How LangSmith labels features as alpha, beta, or generally available, and what each stage means for stability, support, and availability\",\"mode\":\"wide\",\"href\":\"/langsmith/release-stages\"}]}]},{\"tab\":\"Self-hosted\",\"pages\":[{\"title\":\"Self-hosted LangSmith\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/langsmith/self-hosted\"},{\"group\":\"Get started by cloud provider\",\"pages\":[{\"title\":\"Self-hosted LangSmith on AWS\",\"sidebarTitle\":\"AWS\",\"icon\":\"brand-aws\",\"description\":null,\"href\":\"/langsmith/aws-self-hosted\"},{\"title\":\"Self-hosted LangSmith on Azure\",\"sidebarTitle\":\"Azure\",\"icon\":\"brand-windows\",\"description\":null,\"href\":\"/langsmith/azure-self-hosted\"},{\"title\":\"Self-hosted LangSmith on GCP\",\"sidebarTitle\":\"GCP\",\"icon\":\"brand-google\",\"description\":null,\"href\":\"/langsmith/gcp-self-hosted\"}]},{\"group\":\"Deploy with Terraform\",\"pages\":[{\"title\":\"Deploy LangSmith with Terraform\",\"sidebarTitle\":\"Overview\",\"description\":\"Provision LangSmith self-hosted on AWS, Azure, or GCP using LangChain's production-ready Terraform modules.\",\"href\":\"/langsmith/self-host-terraform\"},{\"group\":\"AWS\",\"pages\":[{\"title\":\"Deploy LangSmith on AWS with Terraform\",\"sidebarTitle\":\"Deploy\",\"description\":\"End-to-end walkthrough for provisioning LangSmith self-hosted on AWS EKS using the LangChain Terraform modules.\",\"href\":\"/langsmith/self-host-terraform-aws-deploy\"},{\"title\":\"AWS Terraform architecture\",\"sidebarTitle\":\"Architecture\",\"description\":\"Platform layers, services, IRSA roles, networking, and module dependencies for LangSmith self-hosted on AWS EKS.\",\"href\":\"/langsmith/self-host-terraform-aws-architecture\"},{\"title\":\"AWS Terraform variables reference\",\"sidebarTitle\":\"Variables\",\"description\":\"Complete reference of Terraform variables for LangSmith self-hosted on AWS EKS.\",\"href\":\"/langsmith/self-host-terraform-aws-variables\"},{\"title\":\"AWS Terraform quick reference\",\"sidebarTitle\":\"Quick reference\",\"description\":\"Make targets, Terraform commands, kubectl, AWS CLI, and Helm operations for LangSmith self-hosted on AWS EKS.\",\"href\":\"/langsmith/self-host-terraform-aws-quick-reference\"},{\"title\":\"AWS Terraform troubleshooting\",\"sidebarTitle\":\"Troubleshooting\",\"description\":\"Common issues, fixes, and diagnostic commands for LangSmith self-hosted on AWS EKS deployed with the LangChain Terraform modules.\",\"href\":\"/langsmith/self-host-terraform-aws-troubleshooting\"}]},{\"group\":\"GCP\",\"pages\":[{\"title\":\"Deploy LangSmith on GCP with Terraform\",\"sidebarTitle\":\"Deploy\",\"description\":\"End-to-end walkthrough for provisioning LangSmith self-hosted on GCP GKE using the LangChain Terraform modules.\",\"href\":\"/langsmith/self-host-terraform-gcp-deploy\"},{\"title\":\"GCP Terraform architecture\",\"sidebarTitle\":\"Architecture\",\"description\":\"Platform layers, services, Workload Identity, networking, and module dependencies for LangSmith self-hosted on GKE.\",\"href\":\"/langsmith/self-host-terraform-gcp-architecture\"},{\"title\":\"GCP Terraform variables reference\",\"sidebarTitle\":\"Variables\",\"description\":\"Complete reference of Terraform variables for LangSmith self-hosted on GCP GKE.\",\"href\":\"/langsmith/self-host-terraform-gcp-variables\"},{\"title\":\"GCP Terraform quick reference\",\"sidebarTitle\":\"Quick reference\",\"description\":\"Make targets, Terraform, kubectl, gcloud, and Helm commands for LangSmith self-hosted on GKE.\",\"href\":\"/langsmith/self-host-terraform-gcp-quick-reference\"},{\"title\":\"GCP Terraform troubleshooting\",\"sidebarTitle\":\"Troubleshooting\",\"description\":\"Common issues, fixes, and diagnostic commands for LangSmith self-hosted on GKE deployed with the LangChain Terraform modules.\",\"href\":\"/langsmith/self-host-terraform-gcp-troubleshooting\"}]},{\"group\":\"Azure\",\"pages\":[{\"title\":\"Deploy LangSmith on Azure with Terraform\",\"sidebarTitle\":\"Deploy\",\"description\":\"End-to-end walkthrough for provisioning LangSmith self-hosted on Azure AKS using the LangChain Terraform modules.\",\"href\":\"/langsmith/self-host-terraform-azure-deploy\"},{\"title\":\"Azure Terraform architecture\",\"sidebarTitle\":\"Architecture\",\"description\":\"Platform layers, services, Workload Identity, networking, ingress options, and module dependencies for LangSmith self-hosted on AKS.\",\"href\":\"/langsmith/self-host-terraform-azure-architecture\"},{\"title\":\"Azure Terraform variables reference\",\"sidebarTitle\":\"Variables\",\"description\":\"Complete reference of Terraform variables for LangSmith self-hosted on Azure AKS.\",\"href\":\"/langsmith/self-host-terraform-azure-variables\"},{\"title\":\"Azure Terraform quick reference\",\"sidebarTitle\":\"Quick reference\",\"description\":\"Make targets, Terraform, kubectl, Azure CLI, and Helm commands for LangSmith self-hosted on AKS.\",\"href\":\"/langsmith/self-host-terraform-azure-quick-reference\"},{\"title\":\"Azure Terraform troubleshooting\",\"sidebarTitle\":\"Troubleshooting\",\"description\":\"Common issues, fixes, and diagnostic commands for LangSmith self-hosted on Azure AKS deployed with the LangChain Terraform modules.\",\"href\":\"/langsmith/self-host-terraform-azure-troubleshooting\"}]}]},{\"group\":\"Setup guides\",\"pages\":[{\"title\":\"Minimum versions for self-hosting dependencies\",\"sidebarTitle\":\"Dependency versions\",\"description\":\"Minimum supported versions for the databases, tools, and infrastructure required to self-host LangSmith.\",\"href\":\"/langsmith/self-host-dependency-versions\"},{\"title\":\"Self-host LangSmith on Kubernetes\",\"sidebarTitle\":\"Install on Kubernetes\",\"description\":null,\"href\":\"/langsmith/kubernetes\"},{\"title\":\"Enable LangSmith Deployment, Fleet, Insights, and Chat\",\"sidebarTitle\":\"Enable additional features\",\"description\":\"Enable LangSmith Deployment, Fleet, Insights, and Chat on a self-hosted LangSmith instance.\",\"href\":\"/langsmith/deploy-self-hosted-full-platform\"},{\"group\":\"Manage an installation\",\"pages\":[{\"title\":\"Interact with your self-hosted instance of LangSmith\",\"sidebarTitle\":\"Interact with an installation\",\"description\":null,\"href\":\"/langsmith/self-host-usage\"},{\"title\":\"Upgrade an installation\",\"sidebarTitle\":\"Upgrade an installation\",\"description\":null,\"href\":\"/langsmith/self-host-upgrades\"},{\"title\":\"Disaster recovery for self-hosted LangSmith\",\"sidebarTitle\":\"Disaster recovery\",\"description\":null,\"href\":\"/langsmith/self-host-disaster-recovery\"},{\"title\":\"Egress for billing and operational telemetry\",\"sidebarTitle\":\"Configure egress\",\"description\":null,\"href\":\"/langsmith/self-host-egress\"},{\"title\":\"View trace counts across your organization\",\"sidebarTitle\":\"View trace counts across an organization\",\"description\":null,\"href\":\"/langsmith/self-host-organization-charts\"},{\"title\":\"LangSmith-managed ClickHouse\",\"sidebarTitle\":\"LangSmith-managed ClickHouse\",\"description\":null,\"href\":\"/langsmith/langsmith-managed-clickhouse\"},{\"title\":\"Create an Ingress for installations (Kubernetes)\",\"sidebarTitle\":\"Create an Ingress for installations (Kubernetes)\",\"description\":null,\"href\":\"/langsmith/self-host-ingress\"},{\"title\":\"Mirror images for your LangSmith installation\",\"sidebarTitle\":\"Mirror images for your installation\",\"description\":null,\"href\":\"/langsmith/self-host-mirroring-images\"},{\"title\":\"FIPS-compliant images\",\"sidebarTitle\":\"FIPS-compliant images\",\"description\":\"Run self-hosted LangSmith installation on FIPS 140 compliant container images\",\"href\":\"/langsmith/self-host-fips\"}]}]},{\"group\":\"Configuration\",\"pages\":[{\"title\":\"Set up the LLM auth proxy\",\"sidebarTitle\":\"LLM auth proxy\",\"description\":\"Deploy an Envoy-based auth proxy that validates LangSmith-signed JWTs and routes LLM requests to your upstream provider or gateway.\",\"href\":\"/langsmith/llm-auth-proxy-self-hosted\"},{\"title\":\"Configure environment variables in the Helm chart\",\"sidebarTitle\":\"Environment variables\",\"description\":\"How to use commonEnv and extraEnv to configure environment variables across LangSmith services in the Helm chart.\",\"href\":\"/langsmith/self-host-environment-variables\"},{\"title\":\"Configure LangSmith for scale\",\"sidebarTitle\":\"Configure for scale\",\"description\":null,\"href\":\"/langsmith/self-host-scale\"},{\"title\":\"Enable TTL and data retention\",\"sidebarTitle\":\"Enable TTL \u0026 data retention\",\"description\":null,\"href\":\"/langsmith/self-host-ttl\"},{\"title\":\"Use environment variables for model providers\",\"sidebarTitle\":\"Use environment variables for model providers\",\"description\":null,\"href\":\"/langsmith/self-host-playground-environment-settings\"},{\"title\":\"Customize the error support message\",\"sidebarTitle\":\"Customize the UI\",\"description\":\"Customize support contact information in the LangSmith frontend for self-hosted deployments.\",\"href\":\"/langsmith/self-host-ui-customization\"},{\"title\":\"Troubleshooting\",\"sidebarTitle\":\"Troubleshooting\",\"description\":null,\"href\":\"/langsmith/troubleshooting\"}]},{\"group\":\"Connect external services\",\"pages\":[{\"title\":\"Enable blob storage\",\"sidebarTitle\":\"Enable blob storage\",\"description\":null,\"href\":\"/langsmith/self-host-blob-storage\"},{\"title\":\"Connect to an external ClickHouse database\",\"sidebarTitle\":\"Connect to an external ClickHouse database\",\"description\":null,\"href\":\"/langsmith/self-host-external-clickhouse\"},{\"title\":\"Connect to an external PostgreSQL database\",\"sidebarTitle\":\"Connect to an external PostgreSQL database\",\"description\":null,\"href\":\"/langsmith/self-host-external-postgres\"},{\"title\":\"Connect to an external Redis or Valkey database\",\"sidebarTitle\":\"Connect to an external Redis or Valkey database\",\"description\":null,\"href\":\"/langsmith/self-host-external-redis\"}]},{\"group\":\"Platform auth \u0026 access control\",\"pages\":[{\"title\":\"Basic authentication with email and password\",\"sidebarTitle\":\"Set up basic authentication\",\"description\":null,\"href\":\"/langsmith/self-host-basic-auth\"},{\"title\":\"Set up SSO with OAuth2.0 and OIDC\",\"sidebarTitle\":\"Set up SSO with OAuth2.0 \u0026 OIDC\",\"description\":null,\"href\":\"/langsmith/self-host-sso\"},{\"title\":\"Customize user management\",\"sidebarTitle\":\"Customize user management\",\"description\":null,\"href\":\"/langsmith/self-host-user-management\"},{\"title\":\"Configure custom TLS certificates\",\"sidebarTitle\":\"Configure custom TLS certificates\",\"description\":null,\"href\":\"/langsmith/self-host-custom-tls-certificates\"},{\"title\":\"Use an existing secret for your installation (Kubernetes)\",\"sidebarTitle\":\"Use an existing secret for your installation (Kubernetes)\",\"description\":null,\"href\":\"/langsmith/self-host-using-an-existing-secret\"}]},{\"group\":\"Self-hosted observability\",\"pages\":[{\"title\":\"Export LangSmith telemetry to your observability backend\",\"sidebarTitle\":\"Export LangSmith telemetry to your observability backend\",\"description\":null,\"href\":\"/langsmith/export-backend\"},{\"title\":\"Configure your collector for LangSmith telemetry\",\"sidebarTitle\":\"Configure your collector for telemetry\",\"description\":null,\"href\":\"/langsmith/langsmith-collector\"},{\"title\":\"Deploy an observability stack for your LangSmith deployment\",\"sidebarTitle\":\"Deploy an observability stack\",\"description\":null,\"href\":\"/langsmith/observability-stack\"},{\"title\":\"Install Mission Control\",\"sidebarTitle\":\"Mission Control\",\"description\":\"Install Mission Control, an in-cluster console for monitoring, configuring, and operating self-hosted LangSmith on Kubernetes.\",\"href\":\"/langsmith/self-hosted-mission-control\"}]},{\"group\":\"Hybrid\",\"pages\":[{\"title\":\"Hybrid\",\"sidebarTitle\":\"Hybrid\",\"icon\":\"cloud\",\"description\":\"A LangSmith Deployment setup where you self-host Agent Servers in your infrastructure and send traces to LangSmith Cloud or a self-hosted LangSmith instance.\",\"href\":\"/langsmith/hybrid\"},{\"title\":\"Setup guide (legacy)\",\"sidebarTitle\":\"Setup guide (legacy)\",\"description\":\"Legacy hybrid deployment model with a LangChain-managed control plane and a self-managed data plane.\",\"href\":\"/langsmith/hybrid-legacy\"}]},{\"group\":\"Scripts\",\"pages\":[{\"title\":\"Delete workspaces\",\"sidebarTitle\":\"Delete workspaces\",\"description\":null,\"href\":\"/langsmith/script-delete-a-workspace\"},{\"title\":\"Delete organizations\",\"sidebarTitle\":\"Delete organizations\",\"description\":null,\"href\":\"/langsmith/script-delete-an-organization\"},{\"title\":\"Delete traces\",\"sidebarTitle\":\"Delete traces\",\"description\":null,\"href\":\"/langsmith/script-delete-traces\"},{\"title\":\"Generate ClickHouse stats\",\"sidebarTitle\":\"Generate ClickHouse Stats\",\"description\":null,\"href\":\"/langsmith/script-generate-clickhouse-stats\"},{\"title\":\"Generate query stats\",\"sidebarTitle\":\"Generate query stats\",\"description\":null,\"href\":\"/langsmith/script-generate-query-stats\"},{\"title\":\"Run support queries against PostgreSQL\",\"sidebarTitle\":\"Run support queries against PostgreSQL\",\"description\":null,\"href\":\"/langsmith/script-running-pg-support-queries\"},{\"title\":\"Run support queries against ClickHouse\",\"sidebarTitle\":\"Run support queries against ClickHouse\",\"description\":null,\"href\":\"/langsmith/script-running-ch-support-queries\"}]},{\"group\":\"Reference\",\"pages\":[{\"title\":\"Self-hosted LangSmith changelog\",\"sidebarTitle\":\"Self-hosted changelog\",\"mode\":\"wide\",\"rss\":true,\"description\":null,\"href\":\"/langsmith/self-hosted-changelog\"},{\"title\":\"Release policy\",\"sidebarTitle\":\"Release policy\",\"description\":\"Release channels, cadence, and version support for self-hosted LangSmith.\",\"href\":\"/langsmith/release-versions\"}]}]}]},{\"item\":\"Govern\",\"icon\":\"shield-check\",\"description\":\"Manage users and compliance\",\"tabs\":[{\"tab\":\"Overview\",\"pages\":[{\"title\":\"Govern\",\"sidebarTitle\":\"Overview\",\"mode\":\"custom\",\"description\":\"Administer users, access control, organizational structure, and compliance policies for your LangSmith organization.\",\"icon\":\"shield-check\",\"href\":\"/langsmith/govern-overview\"}]},{\"tab\":\"Organization \u0026 users\",\"pages\":[{\"group\":\"Organization\",\"pages\":[{\"title\":\"Overview\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/langsmith/administration-overview\"},{\"group\":\"Workspace setup\",\"pages\":[{\"title\":\"Set up hierarchy\",\"sidebarTitle\":\"Set up hierarchy\",\"description\":null,\"href\":\"/langsmith/set-up-hierarchy\"},{\"title\":\"Workload isolation\",\"sidebarTitle\":\"Workload isolation\",\"description\":null,\"href\":\"/langsmith/workload-isolation\"},{\"title\":\"Set up resource tags\",\"sidebarTitle\":\"Set up resource tags\",\"description\":\"Create and manage resource tags to organize projects, datasets, prompts, and other resources within a LangSmith workspace.\",\"href\":\"/langsmith/set-up-resource-tags\"},{\"title\":\"Manage model configurations\",\"description\":\"Manage model configurations and control their availability across LangSmith features.\",\"href\":\"/langsmith/model-configurations\"}]},{\"title\":\"Manage your organization using the API\",\"sidebarTitle\":\"Manage organizations using the API\",\"description\":null,\"href\":\"/langsmith/manage-organization-by-api\"},{\"title\":\"Manage LangSmith with Terraform\",\"sidebarTitle\":\"Terraform provider\",\"icon\":\"brand-terraform\",\"description\":\"Use the official LangSmith Terraform provider to manage workspaces, roles, members, evaluators, run rules, and alert rules as code.\",\"href\":\"/langsmith/manage-with-terraform\"}]},{\"group\":\"Users \u0026 access control\",\"pages\":[{\"title\":\"User management\",\"sidebarTitle\":\"User management\",\"description\":null,\"href\":\"/langsmith/user-management\"},{\"title\":\"Role-based access control\",\"sidebarTitle\":\"Role-based access control\",\"description\":null,\"href\":\"/langsmith/rbac\"},{\"title\":\"Attribute-based access control\",\"sidebarTitle\":\"Attribute-based access control\",\"description\":null,\"href\":\"/langsmith/abac\"},{\"title\":\"Organization and workspace operations reference\",\"sidebarTitle\":\"Organization and workspace operations\",\"mode\":\"wide\",\"description\":null,\"href\":\"/langsmith/organization-workspace-operations\"},{\"title\":\"Authentication methods\",\"sidebarTitle\":\"Authentication methods\",\"description\":null,\"href\":\"/langsmith/authentication-methods\"},{\"title\":\"Manage user access in SSO organizations\",\"sidebarTitle\":\"User access in SSO organizations\",\"description\":null,\"href\":\"/langsmith/jit-invite-sso\"}]},{\"group\":\"Tools\",\"pages\":[{\"title\":\"LangSmith Chat\",\"sidebarTitle\":\"Chat\",\"icon\":\"feather\",\"description\":\"Use Chat in LangSmith to analyze traces, threads, prompts, and evaluations.\",\"href\":\"/langsmith/chat\"},{\"title\":\"LangSmith CLI\",\"sidebarTitle\":\"CLI\",\"icon\":\"terminal-2\",\"description\":\"Query and manage LangSmith projects, traces, runs, datasets, evaluators, experiments, and threads from the terminal\",\"href\":\"/langsmith/langsmith-cli\"},{\"title\":\"LangSmith skills\",\"sidebarTitle\":\"Skills\",\"icon\":\"puzzle\",\"description\":\"Use Agent Skills to work with LangSmith traces, datasets, and evaluators from your coding agent.\",\"href\":\"/langsmith/skills\"}]},{\"group\":\"Additional resources\",\"pages\":[{\"group\":\"FAQ\",\"icon\":\"help-circle\",\"pages\":[{\"title\":\"Frequently asked questions\",\"sidebarTitle\":\"FAQs\",\"description\":null,\"href\":\"/langsmith/faq\"},{\"title\":\"Regions FAQ\",\"sidebarTitle\":\"Regions FAQ\",\"description\":null,\"href\":\"/langsmith/regions-faq\"}]},{\"title\":\"LangSmith status\",\"url\":\"https://status.smith.langchain.com/\",\"icon\":\"activity\",\"description\":null,\"href\":\"/langsmith/status\"}]}]},{\"tab\":\"Gateway \u0026 compliance\",\"pages\":[{\"title\":\"Governance\",\"sidebarTitle\":\"Overview\",\"description\":\"Govern model access, spending, data handling, and compliance across your LangSmith organization.\",\"mode\":\"wide\",\"href\":\"/langsmith/govern\"},{\"group\":\"LLM Gateway\",\"tag\":\"Private beta\",\"pages\":[{\"title\":\"LLM Gateway\",\"sidebarTitle\":\"Overview\",\"description\":\"Use the LLM Gateway to proxy LLM calls through LangSmith, enforce spend limits, redact sensitive data, and centrally manage provider credentials.\",\"mode\":\"wide\",\"href\":\"/langsmith/llm-gateway\"},{\"title\":\"Admin setup\",\"description\":\"One-time organization setup to enable the LLM Gateway and grant user access.\",\"href\":\"/langsmith/llm-gateway-admin-setup\"},{\"title\":\"Quickstart\",\"description\":\"Make your first gateway-proxied LLM call.\",\"href\":\"/langsmith/llm-gateway-quickstart\"},{\"title\":\"Set up coding agents\",\"description\":\"Configure Claude Code, Codex, Gemini CLI, and Deep Agents to route LLM calls through the LLM Gateway.\",\"href\":\"/langsmith/llm-gateway-coding-agents\"},{\"title\":\"Traces, Engine, and access control\",\"description\":\"Understand where gateway traces land, how policy violations surface in LangSmith Engine, and who can see and configure what.\",\"href\":\"/langsmith/llm-gateway-access\"},{\"title\":\"Custom model providers\",\"description\":\"Route requests through the LLM Gateway to any OpenAI-compatible endpoint, such as a self-hosted open-source model served through an inference server.\",\"href\":\"/langsmith/llm-gateway-custom-providers\"},{\"title\":\"Spend policies\",\"description\":\"Set cost limits on LLM usage across your organization and prevent runaway spend before it reaches providers.\",\"href\":\"/langsmith/llm-gateway-spend-policies\"},{\"title\":\"PII and secrets redaction\",\"description\":\"Scan and redact PII and secrets from LLM requests before they reach providers.\",\"href\":\"/langsmith/llm-gateway-redaction\"}]},{\"group\":\"Auditing\",\"pages\":[{\"title\":\"Audit logs\",\"sidebarTitle\":\"Audit logs\",\"description\":\"Track and review administrative actions across your LangSmith organization for security, compliance, and operational visibility.\",\"href\":\"/langsmith/audit-logs\"}]},{\"group\":\"Data \u0026 compliance\",\"pages\":[{\"title\":\"LangSmith shared responsibility model\",\"sidebarTitle\":\"Shared responsibility model\",\"description\":\"Overview of how LangChain and customers share security responsibilities for the LangSmith platform.\",\"href\":\"/langsmith/shared-responsibility-model\"},{\"title\":\"Data storage and privacy\",\"sidebarTitle\":\"Data storage and privacy\",\"description\":null,\"href\":\"/langsmith/data-storage-and-privacy\"},{\"title\":\"Data purging for compliance\",\"sidebarTitle\":\"Data purging for compliance\",\"description\":null,\"href\":\"/langsmith/data-purging-compliance\"},{\"title\":\"Scalability \u0026 resilience\",\"sidebarTitle\":\"Scalability \u0026 resilience\",\"description\":null,\"href\":\"/langsmith/scalability-and-resilience\"}]}]}]},{\"item\":\"No-code agents\",\"icon\":\"wand\",\"description\":\"Build agents without code\",\"pages\":[{\"title\":\"No-code agents with LangSmith Fleet\",\"description\":\"Create helpful AI agents without code. Start from a template, connect your accounts, and let the agent handle routine work while you stay in control.\",\"sidebarTitle\":\"Overview\",\"mode\":\"wide\",\"href\":\"/langsmith/fleet/index\"},{\"group\":\"Get started\",\"pages\":[{\"title\":\"Quickstart\",\"description\":\"Build an agent from a template\",\"href\":\"/langsmith/fleet/quickstart\"},{\"title\":\"Essentials\",\"description\":\"Fleet's core features\",\"href\":\"/langsmith/fleet/essentials\"},{\"title\":\"Templates\",\"description\":\"Start faster with curated Fleet templates and customize tools, prompts, and channels.\",\"href\":\"/langsmith/fleet/templates\"},{\"title\":\"Agent platform comparison\",\"sidebarTitle\":\"Compare\",\"description\":\"Compare LangSmith Fleet with Claude Cowork, Amazon Quick, Google Workspace Studio, and Microsoft Copilot to choose the right enterprise agent platform for your team\",\"href\":\"/langsmith/fleet/comparison\"}]},{\"group\":\"Configure\",\"pages\":[{\"title\":\"Manage workspace administration\",\"sidebarTitle\":\"Workspace admin\",\"description\":\"Configure workspace-level settings for Fleet.\",\"href\":\"/langsmith/fleet/workspace-admin\"},{\"title\":\"Agent identity\",\"description\":\"Choose whether your Fleet agent authenticates with its own credentials or with each user's credentials.\",\"href\":\"/langsmith/fleet/agent-identity\"},{\"title\":\"Manage agent settings\",\"sidebarTitle\":\"Agent settings\",\"description\":\"Manage your agents in Fleet.\",\"href\":\"/langsmith/fleet/manage-agent-settings\"},{\"title\":\"Computer use\",\"description\":\"Run code, manage files, and call authenticated APIs from a persistent virtual computer attached to your Fleet agent.\",\"href\":\"/langsmith/fleet/computer-use\"}]},{\"group\":\"Tools and automation\",\"pages\":[{\"title\":\"Tool integrations\",\"sidebarTitle\":\"Tools\",\"description\":\"Give your agents access to a wide range of tools and services.\",\"mode\":\"wide\",\"href\":\"/langsmith/fleet/tools\"},{\"title\":\"Channels\",\"description\":\"Configure channels to trigger your Fleet agents automatically.\",\"href\":\"/langsmith/fleet/channels\"},{\"title\":\"Schedules\",\"description\":\"Configure schedules to run your Fleet agents on a recurring basis.\",\"href\":\"/langsmith/fleet/schedules\"},{\"title\":\"Skills\",\"description\":\"Use skills to give your agents access to specific capabilities.\",\"keywords\":[\"skillify\",\"skill capture\",\"skill description\",\"skill routing\",\"routing trigger\",\"resolver\",\"resolver eval\",\"evals\",\"tracing\"],\"href\":\"/langsmith/fleet/skills\"},{\"title\":\"Integrate Slack with an agent\",\"description\":\"Connect LangSmith Fleet to your Slack workspace to let your agents communicate with users in Slack.\",\"sidebarTitle\":\"Slack\",\"href\":\"/langsmith/fleet/slack-app\"},{\"title\":\"Integrate Teams with an agent\",\"description\":\"Connect LangSmith Fleet to Microsoft Teams by bringing your own Azure Bot to let agents communicate with users in Teams.\",\"sidebarTitle\":\"Microsoft Teams\",\"href\":\"/langsmith/fleet/teams-app\"},{\"title\":\"Remote MCP servers\",\"description\":\"Connect Fleet to popular remote MCP servers\",\"href\":\"/langsmith/fleet/remote-mcp-servers\"},{\"title\":\"Arcade integration\",\"sidebarTitle\":\"Arcade\",\"description\":\"Connect your workspace to Arcade to give agents access to third-party tools like GitHub, Gmail, Slack, and more.\",\"href\":\"/langsmith/fleet/arcade\"},{\"title\":\"Salesforce integration\",\"sidebarTitle\":\"Salesforce\",\"description\":\"Connect LangSmith Fleet to Salesforce so your agents can query records, navigate schemas, and read custom fields.\",\"href\":\"/langsmith/fleet/salesforce\"}]},{\"group\":\"Advanced\",\"pages\":[{\"title\":\"Use Fleet agents in code\",\"description\":\"Invoke Fleet agents via the LangGraph SDK or REST API, or download and run them locally with the fleet-deepagents-export package.\",\"sidebarTitle\":\"Use in code\",\"href\":\"/langsmith/fleet/code\"},{\"title\":\"LangSmith Tool Server\",\"sidebarTitle\":\"MCP framework\",\"description\":null,\"href\":\"/langsmith/fleet/mcp-framework\"},{\"title\":\"Fleet webhooks\",\"sidebarTitle\":\"Webhooks\",\"description\":\"Integrate agent publishing with external systems, CI/CD pipelines, or custom deployment workflows.\",\"href\":\"/langsmith/fleet/webhooks\"},{\"title\":\"Auth-aware tool responses\",\"description\":\"Format tool responses to trigger OAuth flows and resume execution automatically.\",\"sidebarTitle\":\"Auth responses\",\"mode\":\"wide\",\"href\":\"/langsmith/fleet/auth-format\"}]},{\"group\":\"Additional resources\",\"pages\":[{\"title\":\"Access \u0026 oversight\",\"description\":\"Control who can access agents, how they authenticate, and audit everything they do.\",\"href\":\"/langsmith/fleet/access-and-oversight\"},{\"title\":\"Self-hosted\",\"url\":\"https://docs.langchain.com/langsmith/deploy-self-hosted-full-platform#enable-fleet-insights-and-chat\",\"description\":null,\"href\":\"/langsmith/fleet/self-hosted-link\"},{\"title\":\"LangSmith Fleet changelog\",\"sidebarTitle\":\"Changelog\",\"mode\":\"wide\",\"description\":\"Weekly updates to LangSmith Fleet\",\"rss\":true,\"href\":\"/langsmith/fleet/changelog\"}]}]},{\"item\":\"Engine\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/engine-icon-no-bg-dark.svg\",\"description\":\"Find and fix agent issues\",\"pages\":[{\"title\":\"LangSmith Engine\",\"sidebarTitle\":\"Overview\",\"description\":\"LangSmith Engine is the agent for agent engineering, turning production traces into fixes, evaluators, and datasets across the development lifecycle.\",\"mode\":\"wide\",\"href\":\"/langsmith/engine-overview\"},{\"title\":\"Find and fix your agent's issues with LangSmith Engine\",\"sidebarTitle\":\"Find and fix issues\",\"description\":\"Automatically detect and resolve recurring issues in your tracing project using LangSmith Engine.\",\"href\":\"/langsmith/engine\"},{\"title\":\"LangSmith Engine webhook events\",\"sidebarTitle\":\"Engine webhook events\",\"description\":\"Reference for the webhook events LangSmith Engine sends when it creates issues or links new traces to existing issues.\",\"href\":\"/langsmith/engine-webhooks\"},{\"title\":\"LangSmith Engine on self-hosted\",\"sidebarTitle\":\"Self-hosted\",\"description\":\"How LangSmith Engine runs in a self-hosted deployment, how it reaches managed inference over a private link, and what that means for your data.\",\"href\":\"/langsmith/engine-self-hosted\"}]},{\"item\":\"Deep Agents Code\",\"icon\":\"code\",\"description\":\"Code with an agent in your terminal\",\"dropdowns\":[{\"dropdown\":\"Python\",\"icon\":{\"style\":\"regular\",\"name\":\"brand-python\"},\"pages\":[{\"title\":\"Deep Agents Code\",\"sidebarTitle\":\"Overview\",\"description\":\"Terminal coding agent built on the Deep Agents SDK\",\"keywords\":[\"CLI\",\"dcode\",\"terminal coding agent\",\"coding agent\",\"Deep Agents Code\"],\"mode\":\"wide\",\"href\":\"/oss/python/deepagents/code/overview\"},{\"title\":\"Quickstart\",\"sidebarTitle\":\"Quickstart\",\"description\":\"Install Deep Agents Code, run your first task, and use interactive or non-interactive modes\",\"href\":\"/oss/python/deepagents/code/quickstart\"},{\"title\":\"Command reference\",\"sidebarTitle\":\"CLI reference\",\"description\":\"Deep Agents Code command-line flags and management subcommands\",\"href\":\"/oss/python/deepagents/code/cli-reference\"},{\"title\":\"Plugins and marketplaces\",\"sidebarTitle\":\"Plugins\",\"description\":\"Install plugins from marketplaces or package skills and MCP servers for Deep Agents Code\",\"href\":\"/oss/python/deepagents/code/plugins\"},{\"title\":\"Memory and Skills\",\"sidebarTitle\":\"Memory and skills\",\"description\":\"Persistent memory, AGENTS.md files, and reusable skills for Deep Agents Code, including creation, discovery, and invocation.\",\"href\":\"/oss/python/deepagents/code/memory-and-skills\"},{\"title\":\"Use remote sandboxes\",\"sidebarTitle\":\"Remote sandboxes\",\"description\":\"Run Deep Agents Code tool execution in LangSmith, AgentCore, Daytona, Modal, Runloop, Vercel, or E2B sandboxes. Install provider dependencies, set credentials, and use flags and setup scripts.\",\"href\":\"/oss/python/deepagents/code/remote-sandboxes\"},{\"title\":\"Use subagents in Deep Agents Code\",\"sidebarTitle\":\"Subagents\",\"description\":\"Define custom Deep Agents Code subagents as AGENTS.md files with YAML frontmatter. Covers project and user paths, optional model overrides, and examples.\",\"href\":\"/oss/python/deepagents/code/subagents\"},{\"title\":\"Model providers\",\"description\":\"Configure any LangChain-compatible model provider for Deep Agents Code\",\"href\":\"/oss/python/deepagents/code/providers\"},{\"group\":\"Configuration\",\"root\":{\"title\":\"Configuration\",\"sidebarTitle\":\"Configuration\",\"description\":\"Configure Deep Agents Code with config.toml, environment variables, hooks, and CLI flags\",\"href\":\"/oss/python/deepagents/code/configuration\"},\"expanded\":true,\"pages\":[{\"title\":\"Provider credentials\",\"sidebarTitle\":\"Credentials\",\"description\":\"Add and manage API keys for model providers, Tavily web search, and LangSmith tracing\",\"href\":\"/oss/python/deepagents/code/credentials\"},{\"title\":\"Config file\",\"sidebarTitle\":\"config.toml\",\"description\":\"Configure model providers, defaults, retries, and gateways in config.toml\",\"href\":\"/oss/python/deepagents/code/config-file\"},{\"title\":\"Hooks\",\"sidebarTitle\":\"Hooks\",\"description\":\"Subscribe external commands to Deep Agents Code lifecycle events with hooks.json\",\"href\":\"/oss/python/deepagents/code/hooks\"},{\"title\":\"MCP tools\",\"sidebarTitle\":\"MCP tools\",\"description\":\"Load additional tools from MCP (Model Context Protocol) servers\",\"href\":\"/oss/python/deepagents/code/mcp-tools\"}]},{\"title\":\"Changelog\",\"url\":\"https://github.com/langchain-ai/deepagents/blob/main/libs/code/CHANGELOG.md\",\"description\":null,\"href\":\"/oss/python/deepagents/code/changelog\"}]},{\"dropdown\":\"TypeScript\",\"icon\":{\"style\":\"regular\",\"name\":\"brand-typescript\"},\"pages\":[{\"title\":\"Deep Agents Code\",\"sidebarTitle\":\"Overview\",\"description\":\"Terminal coding agent built on the Deep Agents SDK\",\"keywords\":[\"CLI\",\"dcode\",\"terminal coding agent\",\"coding agent\",\"Deep Agents Code\"],\"mode\":\"wide\",\"href\":\"/oss/javascript/deepagents/code/overview\"},{\"title\":\"Quickstart\",\"sidebarTitle\":\"Quickstart\",\"description\":\"Install Deep Agents Code, run your first task, and use interactive or non-interactive modes\",\"href\":\"/oss/javascript/deepagents/code/quickstart\"},{\"title\":\"Command reference\",\"sidebarTitle\":\"CLI reference\",\"description\":\"Deep Agents Code command-line flags and management subcommands\",\"href\":\"/oss/javascript/deepagents/code/cli-reference\"},{\"title\":\"Plugins and marketplaces\",\"sidebarTitle\":\"Plugins\",\"description\":\"Install plugins from marketplaces or package skills and MCP servers for Deep Agents Code\",\"href\":\"/oss/javascript/deepagents/code/plugins\"},{\"title\":\"Memory and Skills\",\"sidebarTitle\":\"Memory and skills\",\"description\":\"Persistent memory, AGENTS.md files, and reusable skills for Deep Agents Code, including creation, discovery, and invocation.\",\"href\":\"/oss/javascript/deepagents/code/memory-and-skills\"},{\"title\":\"Use remote sandboxes\",\"sidebarTitle\":\"Remote sandboxes\",\"description\":\"Run Deep Agents Code tool execution in LangSmith, AgentCore, Daytona, Modal, Runloop, Vercel, or E2B sandboxes. Install provider dependencies, set credentials, and use flags and setup scripts.\",\"href\":\"/oss/javascript/deepagents/code/remote-sandboxes\"},{\"title\":\"Use subagents in Deep Agents Code\",\"sidebarTitle\":\"Subagents\",\"description\":\"Define custom Deep Agents Code subagents as AGENTS.md files with YAML frontmatter. Covers project and user paths, optional model overrides, and examples.\",\"href\":\"/oss/javascript/deepagents/code/subagents\"},{\"title\":\"Model providers\",\"description\":\"Configure any LangChain-compatible model provider for Deep Agents Code\",\"href\":\"/oss/javascript/deepagents/code/providers\"},{\"group\":\"Configuration\",\"root\":{\"title\":\"Configuration\",\"sidebarTitle\":\"Configuration\",\"description\":\"Configure Deep Agents Code with config.toml, environment variables, hooks, and CLI flags\",\"href\":\"/oss/javascript/deepagents/code/configuration\"},\"expanded\":true,\"pages\":[{\"title\":\"Provider credentials\",\"sidebarTitle\":\"Credentials\",\"description\":\"Add and manage API keys for model providers, Tavily web search, and LangSmith tracing\",\"href\":\"/oss/javascript/deepagents/code/credentials\"},{\"title\":\"Config file\",\"sidebarTitle\":\"config.toml\",\"description\":\"Configure model providers, defaults, retries, and gateways in config.toml\",\"href\":\"/oss/javascript/deepagents/code/config-file\"},{\"title\":\"Hooks\",\"sidebarTitle\":\"Hooks\",\"description\":\"Subscribe external commands to Deep Agents Code lifecycle events with hooks.json\",\"href\":\"/oss/javascript/deepagents/code/hooks\"},{\"title\":\"MCP tools\",\"sidebarTitle\":\"MCP tools\",\"description\":\"Load additional tools from MCP (Model Context Protocol) servers\",\"href\":\"/oss/javascript/deepagents/code/mcp-tools\"}]}]}]}]}]},\"anonymizedNav\":\"$undefined\"},\"children\":\"$L34\"}]}]}]}]]}]}]]\n"])</script><script>self.__next_f.push([1,"3a:T492,"])</script><script>self.__next_f.push([1,"{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.langchain.com/#organization\",\"name\":\"Docs by LangChain\",\"url\":\"https://docs.langchain.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-docs-dark-blue.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=5babf1a1962208fd7eed942fa2432ecb\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.langchain.com#website\",\"name\":\"Docs by LangChain\",\"url\":\"https://docs.langchain.com\",\"publisher\":{\"@id\":\"https://docs.langchain.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.langchain.com/#webpage\",\"url\":\"https://docs.langchain.com/\",\"name\":\"Home\",\"dateModified\":\"2026-07-17T17:25:04.453Z\",\"isPartOf\":{\"@id\":\"https://docs.langchain.com#website\"}},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.langchain.com/#article\",\"headline\":\"Home\",\"name\":\"Home\",\"url\":\"https://docs.langchain.com/\",\"mainEntityOfPage\":{\"@id\":\"https://docs.langchain.com/#webpage\"},\"dateModified\":\"2026-07-17T17:25:04.453Z\",\"publisher\":{\"@id\":\"https://docs.langchain.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.langchain.com#website\"}}]}"])</script><script>self.__next_f.push([1,"3e:T66e3,"])</script><script>self.__next_f.push([1,"@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700\u0026display=swap');\n\n/* TWK Lausanne theme variables (Mintlify theme fallback) */\n:root {\n  --font-family-headings-custom: 'TWK Lausanne', sans-serif;\n  --font-family-body-custom: 'Inter', sans-serif;\n  --font-weight-body-custom: 400;\n  --font-inter: 'Inter', sans-serif;\n}\n\n/* TWK Lausanne @font-face declarations (700 normal loaded via docs.json) */\n@font-face {\n  font-family: 'TWK Lausanne';\n  src: url('/fonts/TWKLausanne-250.woff2') format('woff2');\n  font-weight: 250;\n  font-style: normal;\n  font-display: swap;\n}\n@font-face {\n  font-family: 'TWK Lausanne';\n  src: url('/fonts/TWKLausanne-250Italic.woff2') format('woff2');\n  font-weight: 250;\n  font-style: italic;\n  font-display: swap;\n}\n@font-face {\n  font-family: 'TWK Lausanne';\n  src: url('/fonts/TWKLausanne-300.woff2') format('woff2');\n  font-weight: 300;\n  font-style: normal;\n  font-display: swap;\n}\n@font-face {\n  font-family: 'TWK Lausanne';\n  src: url('/fonts/TWKLausanne-300Italic.woff2') format('woff2');\n  font-weight: 300;\n  font-style: italic;\n  font-display: swap;\n}\n@font-face {\n  font-family: 'TWK Lausanne';\n  src: url('/fonts/TWKLausanne-350.woff2') format('woff2');\n  font-weight: 350;\n  font-style: normal;\n  font-display: swap;\n}\n@font-face {\n  font-family: 'TWK Lausanne';\n  src: url('/fonts/TWKLausanne-350Italic.woff2') format('woff2');\n  font-weight: 350;\n  font-style: italic;\n  font-display: swap;\n}\n@font-face {\n  font-family: 'TWK Lausanne';\n  src: url('/fonts/TWKLausanne-400Italic.woff2') format('woff2');\n  font-weight: 400;\n  font-style: italic;\n  font-display: swap;\n}\n@font-face {\n  font-family: 'TWK Lausanne';\n  src: url('/fonts/TWKLausanne-400.woff2') format('woff2');\n  font-weight: 400;\n  font-style: normal;\n  font-display: swap;\n}\n@font-face {\n  font-family: 'TWK Lausanne';\n  src: url('/fonts/TWKLausanne-600.woff2') format('woff2');\n  font-weight: 600;\n  font-style: normal;\n  font-display: swap;\n}\n@font-face {\n  font-family: 'TWK Lausanne';\n  src: url('/fonts/TWKLausanne-600Italic.woff2') format('woff2');\n  font-weight: 600;\n  font-style: italic;\n  font-display: swap;\n}\n@font-face {\n  font-family: 'TWK Lausanne';\n  src: url('/fonts/TWKLausanne-700.woff2') format('woff2');\n  font-weight: 700;\n  font-style: normal;\n  font-display: swap;\n}\n@font-face {\n  font-family: 'TWK Lausanne';\n  src: url('/fonts/TWKLausanne-700Italic.woff2') format('woff2');\n  font-weight: 700;\n  font-style: italic;\n  font-display: swap;\n}\n\n/* Body and main content — Inter */\nbody,\n.mdx-content,\n.prose,\n.prose p,\n.prose li,\narticle,\n[class*=\"prose\"] {\n  font-family: 'Inter', sans-serif !important;\n  color: #030710 !important;\n}\n.dark body,\n.dark .mdx-content,\n.dark .prose,\n.dark .prose p,\n.dark .prose li,\n.dark article,\n.dark [class*=\"prose\"] {\n  color: #ffffff !important;\n}\n\n/* Ensure bold text is clearly visible */\nstrong, b, .prose strong, .prose b, [class*=\"prose\"] strong, [class*=\"prose\"] b {\n  font-weight: 700 !important;\n}\n\n/* Ensure links inside bold text inherit bold weight */\nstrong a, b a, .prose strong a, .prose b a, [class*=\"prose\"] strong a, [class*=\"prose\"] b a {\n  font-weight: 700 !important;\n}\n\n/* Use IBM Plex Mono for all code and monospace text */\ncode, pre, kbd, samp {\n  font-family: 'IBM Plex Mono', monospace !important;\n}\n\n/* Inline code background (dark mode only) */\n.dark :not(pre) \u003e code {\n  background-color: #161F34 !important;\n}\n\n/* Inline code inside callouts */\n[data-callout-type] :not(pre) \u003e code {\n  background-color: #FFFFFF20 !important;\n}\n\n/* Headings — TWK Lausanne (default weights: h1=700, h2/h3/h4=600) */\nh1, h2, h3, h4 {\n  font-family: 'TWK Lausanne', sans-serif !important;\n  color: #030710 !important;\n}\n.dark h1, .dark h2, .dark h3, .dark h4 {\n  color: #ffffff !important;\n}\n[data-callout-type] :is(h1, h2, h3, h4) {\n  color: inherit !important;\n}\n\n/* Card titles — TWK Lausanne (default weight: 600) */\n[data-component-part=\"card-title\"] {\n  font-family: 'TWK Lausanne', sans-serif !important;\n}\n\n/* Card icon SVGs inherit text color in dark mode */\n.dark .card img[src*=\".svg\"],\n.dark [data-component-part=\"card-icon\"] img[src*=\".svg\"] {\n  filter: invert(1);\n}\n\n/*\n * Engine brand icon in dark mode:\n *   - Outside cards (dropdown nav, sidebar): invert to white.\n *   - In cards: swap to the light-blue -light variant so it stays on-brand.\n * The card-scoped selector is more specific and wins over the default.\n */\n.dark img[src*=\"engine-icon-no-bg-dark\"] {\n  filter: invert(1);\n}\n.dark .card img[src*=\"engine-icon-no-bg-dark\"],\n.dark [data-component-part=\"card-icon\"] img[src*=\"engine-icon-no-bg-dark\"] {\n  content: url(\"/images/brand/engine-icon-no-bg-light.svg\");\n  filter: none;\n}\n\n/* Make sidebar title heavier weight */\n#sidebar-title {\n  font-weight: 600 !important;\n}\n\n/*\n * Sidebar nav: prevent \"open in new page\" icon wrapper from stealing width.\n * Mintlify emits a flex wrapper that sometimes includes `flex-1`, which can force titles to wrap.\n */\n/* Exact class combo (escaped) + a broad fallback. */\n:where(.h-\\\\[1lh\\\\].flex.items-center.flex-1.justify-end),\n:where([class*=\"h-[1lh]\"][class*=\"items-center\"][class*=\"flex-1\"][class*=\"justify-end\"]) {\n  flex: 0 0 auto !important;\n  width: fit-content !important;\n}\n\n:where(.h-\\\\[1lh\\\\].flex.items-center.flex-1.justify-end) svg,\n:where([class*=\"h-[1lh]\"][class*=\"items-center\"][class*=\"flex-1\"][class*=\"justify-end\"]) svg {\n  flex-shrink: 0 !important;\n}\n\n/* Prose list styling */\n.prose, [class*=\"prose\"] {\n  --tw-prose-counters: currentColor !important;\n  --tw-prose-bullets: currentColor !important;\n}\n.mdx-content li::marker {\n  font-family: 'Inter', sans-serif !important;\n}\n\n/*\n * Hosted Mintlify builds omit span[data-as=\"p\"] around react-medium-image-zoom blocks in\n * list items, so prose paragraph margins (about 2em) do not apply. Local mint dev wraps\n * the zoom in span[data-as=\"p\"]. Match hosted spacing to local by margining the sibling.\n */\n.prose li \u003e span[data-as=\"p\"] + span[data-rmiz],\n[class*=\"prose\"] li \u003e span[data-as=\"p\"] + span[data-rmiz],\n.mdx-content li \u003e span[data-as=\"p\"] + span[data-rmiz],\narticle li \u003e span[data-as=\"p\"] + span[data-rmiz] {\n  display: block;\n  margin-top: 2em;\n  margin-bottom: 2em;\n}\n\n/* Inline code links inherit color from parent link */\na code {\n  color: inherit !important;\n  text-decoration: underline !important;\n  text-underline-offset: 3px !important;\n}\n\n/* Ensure mermaid diagrams are centered */\n.mermaid {\n  text-align: center;\n  display: flex;\n  justify-content: center;\n}\n\n/* Skills composition diagram (custom SVG) */\n.skills-composition-diagram {\n  margin: 1.5rem 0 2rem;\n  text-align: center;\n}\n\n.skills-composition-diagram img {\n  width: 100%;\n  max-width: 920px;\n  border-radius: 16px;\n  display: inline-block;\n}\n\n/* Mermaid dark mode text overrides */\n/* Node labels: inherit color from classDef parent instead of being forced to white */\n.dark .nodeLabel,\n.dark .nodeLabel p {\n  color: inherit !important;\n}\n/* Edge labels: brand-tinted light text for readability on dark backgrounds */\n.dark .edgeLabel,\n.dark .edgeLabel p,\n.dark .edgeLabel span {\n  color: #CCE9FF !important;\n}\n.dark span.edgeLabel,\n.dark .edgeLabel p {\n  background-color: #030710 !important;\n}\n.dark .edgeLabel rect,\n.dark .edgeLabel .labelBkg {\n  fill: #030710 !important;\n}\n/* Sequence diagram actors, messages, labels, notes, and loops */\n.dark text.actor,\n.dark .messageText,\n.dark .labelText,\n.dark .loopText,\n.dark .noteText {\n  fill: #CCE9FF;\n}\n\n\n/* Fix vertical alignment in table cells with mixed content (text and images) */\n.prose table td, article table td, .markdown table td, .content table td, [class*=\"prose\"] table td,\n.prose table th, article table th, .markdown table th, .content table th, [class*=\"prose\"] table th {\n  vertical-align: middle !important;\n  line-height: 1.5 !important;\n}\n\n/* Hide page description subtitle (kept in frontmatter for SEO) */\n.prose-gray.text-lg.mt-2 {\n  display: none !important;\n}\n\n/* Hide pagination */\n#pagination {\n  display: none;\n}\n\n/* Improve banner link readability in light mode */\n#banner a {\n  color: inherit !important;\n}\n\n/* Compact first column for multi agent pattern comparison tables (no horizontal scroll) */\n.compact-first-col [data-table-wrapper] {\n  overflow-x: visible !important;\n}\n\n.compact-first-col table {\n  table-layout: auto !important;\n  width: 100% !important;\n}\n\n.compact-first-col table td,\n.compact-first-col table th {\n  min-width: 0 !important;\n}\n\n.compact-first-col table td:first-child,\n.compact-first-col table th:first-child {\n  width: 1% !important;\n  white-space: nowrap !important;\n}\n\n/* Deep Agents model eval category matrix: compact table width. Do not set width/display on\n   [data-table-wrapper] — Mintlify uses flex, full-bleed calc width, and contain:inline-size; our\n   earlier max-content + block rule collapsed the layout. Override Mintlify’s min-w-full w-full and\n   [\u0026_td]:min-w-[150px] on the table only. */\n.deepagents-eval-category-matrix {\n  display: block;\n  width: 100%;\n}\n\n.deepagents-eval-category-matrix table {\n  width: auto !important;\n  min-width: 0 !important;\n  max-width: 100%;\n  table-layout: auto !important;\n}\n\n.deepagents-eval-category-matrix table th,\n.deepagents-eval-category-matrix table td {\n  min-width: 0 !important;\n  box-sizing: border-box;\n}\n\n.deepagents-eval-category-matrix table th:not(:first-child),\n.deepagents-eval-category-matrix table td:not(:first-child) {\n  white-space: nowrap;\n  width: 1%;\n  padding-left: 0.5rem;\n  padding-right: 0.5rem;\n  vertical-align: top;\n}\n\n/*\n * Home page CardGroup: Mintlify outputs container-query classes (@…/columns-container) plus\n * sm:grid-cols-[repeat(var(--cols),…)]. On hosted builds the named container can be missing or\n * differ from local dev, so container rules may not apply and the viewport sm rule can leave\n * four minmax columns on narrow viewports. Force column count from the viewport instead.\n */\n.home-page .columns.card-group {\n  grid-template-columns: minmax(0, 1fr) !important;\n}\n\n@media (min-width: 640px) {\n  .home-page .columns.card-group {\n    grid-template-columns: repeat(var(--cols, 1), minmax(0, 1fr)) !important;\n  }\n}\n\n/* Hide source-links callouts on home page */\nbody:has(.home-page) .source-links,\n:root:has(.home-page) .source-links {\n  display: none !important;\n}\n.home-page ~ :is(.callout, [data-callout-type]) {\n  display: none !important;\n}\n\n/* Note — Soft blue (#E0EDF8 / dark slate) */\n[data-callout-type=\"note\"] {\n  background-color: #e0edf8 !important;\n  border-color: #7ba3c9 !important;\n}\n[data-callout-type=\"note\"] [data-component-part=\"callout-content\"],\n[data-callout-type=\"note\"] [data-component-part=\"callout-content\"] * {\n  color: #1e3a52 !important;\n}\n[data-callout-type=\"note\"] [data-component-part=\"callout-icon\"] svg {\n  color: #2c5282 !important;\n}\n.dark [data-callout-type=\"note\"] {\n  background-color: #2a3f5f !important;\n  border-color: #3d5a80 !important;\n}\n.dark [data-callout-type=\"note\"] [data-component-part=\"callout-content\"],\n.dark [data-callout-type=\"note\"] [data-component-part=\"callout-content\"] *,\n.dark [data-callout-type=\"note\"] [data-component-part=\"callout-icon\"] svg {\n  color: #d6eeff !important;\n}\n\n/* Tip \u0026 Check — Lime green (#d4e8a8) with olive (#8da042) */\n[data-callout-type=\"tip\"],\n[data-callout-type=\"check\"] {\n  background-color: #d4e8a8 !important;\n  border-color: #8da042 !important;\n}\n[data-callout-type=\"tip\"] [data-component-part=\"callout-content\"],\n[data-callout-type=\"tip\"] [data-component-part=\"callout-content\"] *,\n[data-callout-type=\"check\"] [data-component-part=\"callout-content\"],\n[data-callout-type=\"check\"] [data-component-part=\"callout-content\"] * {\n  color: #2d3319 !important;\n}\n[data-callout-type=\"tip\"] [data-component-part=\"callout-icon\"] svg,\n[data-callout-type=\"check\"] [data-component-part=\"callout-icon\"] svg {\n  color: #5a6b1f !important;\n}\n.dark [data-callout-type=\"tip\"],\n.dark [data-callout-type=\"check\"] {\n  background-color: #2e3900 !important;\n  border-color: #6e8900 !important;\n}\n.dark [data-callout-type=\"tip\"] [data-component-part=\"callout-content\"],\n.dark [data-callout-type=\"tip\"] [data-component-part=\"callout-content\"] *,\n.dark [data-callout-type=\"check\"] [data-component-part=\"callout-content\"],\n.dark [data-callout-type=\"check\"] [data-component-part=\"callout-content\"] * {\n  color: #c3e796 !important;\n}\n.dark [data-callout-type=\"tip\"] [data-component-part=\"callout-icon\"] svg,\n.dark [data-callout-type=\"check\"] [data-component-part=\"callout-icon\"] svg {\n  color: #c3e796 !important;\n}\n\n/* Warning — Warm yellow (#FEF3C7 / amber) */\n[data-callout-type=\"warning\"] {\n  background-color: #fef3c7 !important;\n  border-color: #d97706 !important;\n}\n[data-callout-type=\"warning\"] [data-component-part=\"callout-content\"],\n[data-callout-type=\"warning\"] [data-component-part=\"callout-content\"] * {\n  color: #78350f !important;\n}\n[data-callout-type=\"warning\"] [data-component-part=\"callout-icon\"] svg {\n  color: #b45309 !important;\n}\n.dark [data-callout-type=\"warning\"] {\n  background-color: #5c3a0e !important;\n  border-color: #b45309 !important;\n}\n.dark [data-callout-type=\"warning\"] [data-component-part=\"callout-content\"],\n.dark [data-callout-type=\"warning\"] [data-component-part=\"callout-content\"] *,\n.dark [data-callout-type=\"warning\"] [data-component-part=\"callout-icon\"] svg {\n  color: #fde68a !important;\n}\n\n/* Danger — Salmon-tinted red */\n[data-callout-type=\"danger\"] {\n  background-color: #fce8e6 !important;\n  border-color: #c75a52 !important;\n}\n[data-callout-type=\"danger\"] [data-component-part=\"callout-content\"],\n[data-callout-type=\"danger\"] [data-component-part=\"callout-content\"] * {\n  color: #7d2a24 !important;\n}\n[data-callout-type=\"danger\"] [data-component-part=\"callout-icon\"] svg {\n  color: #b91c1c !important;\n}\n.dark [data-callout-type=\"danger\"] {\n  background-color: rgb(239 68 68 / 0.15) !important;\n  border-color: rgb(239 68 68 / 0.4) !important;\n}\n.dark [data-callout-type=\"danger\"] [data-component-part=\"callout-content\"],\n.dark [data-callout-type=\"danger\"] [data-component-part=\"callout-content\"] * {\n  color: #fecaca !important;\n}\n.dark [data-callout-type=\"danger\"] [data-component-part=\"callout-icon\"] svg {\n  color: #fca5a5 !important;\n}\n\n/* Info — Neutral grey (white/light grey bg, dark grey text, light grey border) */\n[data-callout-type=\"info\"] {\n  background-color: #fafafa !important;\n  border-color: #d1d5db !important;\n}\n[data-callout-type=\"info\"] [data-component-part=\"callout-content\"],\n[data-callout-type=\"info\"] [data-component-part=\"callout-content\"] * {\n  color: #374151 !important;\n}\n[data-callout-type=\"info\"] [data-component-part=\"callout-icon\"] svg {\n  color: #6b7280 !important;\n}\n.dark [data-callout-type=\"info\"] {\n  background-color: #27272a !important;\n  border-color: #52525b !important;\n}\n.dark [data-callout-type=\"info\"] [data-component-part=\"callout-content\"],\n.dark [data-callout-type=\"info\"] [data-component-part=\"callout-content\"] *,\n.dark [data-callout-type=\"info\"] [data-component-part=\"callout-icon\"] svg {\n  color: #d4d4d8 !important;\n}\n\n/* Example — Pale pink (#F8E0ED) / plum (#735A6C) */\n[data-callout-type=\"example\"] {\n  background-color: #f8e0ed !important;\n  border-color: #c9a8b8 !important;\n}\n[data-callout-type=\"example\"] [data-component-part=\"callout-content\"],\n[data-callout-type=\"example\"] [data-component-part=\"callout-content\"] * {\n  color: #4a3540 !important;\n}\n[data-callout-type=\"example\"] [data-component-part=\"callout-icon\"] svg {\n  color: #735a6c !important;\n}\n.dark [data-callout-type=\"example\"] {\n  background-color: #4a3d52 !important;\n  border-color: #735a6c !important;\n}\n.dark [data-callout-type=\"example\"] [data-component-part=\"callout-content\"],\n.dark [data-callout-type=\"example\"] [data-component-part=\"callout-content\"] *,\n.dark [data-callout-type=\"example\"] [data-component-part=\"callout-icon\"] svg {\n  color: #e8d4dc !important;\n}\n\n/* Question — Plum (#735A6C) with soft lavender */\n[data-callout-type=\"question\"] {\n  background-color: #e8e0ec !important;\n  border-color: #735a6c !important;\n}\n[data-callout-type=\"question\"] [data-component-part=\"callout-content\"],\n[data-callout-type=\"question\"] [data-component-part=\"callout-content\"] * {\n  color: #3d3142 !important;\n}\n[data-callout-type=\"question\"] [data-component-part=\"callout-icon\"] svg {\n  color: #5a4a62 !important;\n}\n.dark [data-callout-type=\"question\"] {\n  background-color: rgb(115 90 108 / 0.25) !important;\n  border-color: #735a6c !important;\n}\n.dark [data-callout-type=\"question\"] [data-component-part=\"callout-content\"],\n.dark [data-callout-type=\"question\"] [data-component-part=\"callout-content\"] * {\n  color: #e8d4ec !important;\n}\n.dark [data-callout-type=\"question\"] [data-component-part=\"callout-icon\"] svg {\n  color: #d5c3d7 !important;\n}\n\n/* Custom — Purple tint */\n[data-callout-type=\"callout\"] {\n  background-color: #ede9fe !important;\n  border-color: #7c3aed !important;\n}\n[data-callout-type=\"callout\"] [data-component-part=\"callout-content\"],\n[data-callout-type=\"callout\"] [data-component-part=\"callout-content\"] * {\n  color: #4c1d95 !important;\n}\n[data-callout-type=\"callout\"] [data-component-part=\"callout-icon\"] svg {\n  color: #6d28d9 !important;\n}\n.dark [data-callout-type=\"callout\"] {\n  background-color: rgb(124 58 237 / 0.15) !important;\n  border-color: #7c3aed !important;\n}\n.dark [data-callout-type=\"callout\"] [data-component-part=\"callout-content\"],\n.dark [data-callout-type=\"callout\"] [data-component-part=\"callout-content\"] * {\n  color: #e9d5ff !important;\n}\n.dark [data-callout-type=\"callout\"] [data-component-part=\"callout-icon\"] svg {\n  color: #c4b5fd !important;\n}\n\n/* Source links footer callouts */\n.source-links [data-callout-type] {\n  background-color: #eef2f7 !important;\n  border-color: #dde2e9 !important;\n}\n.source-links [data-callout-type] [data-component-part=\"callout-content\"],\n.source-links [data-callout-type] [data-component-part=\"callout-content\"] *,\n.source-links [data-callout-type] [data-component-part=\"callout-icon\"] svg {\n  color: #5c6370 !important;\n}\n.source-links [data-callout-type] [data-component-part=\"callout-icon\"] svg {\n  background-color: #5c6370 !important;\n}\n.source-links [data-callout-type] a {\n  color: inherit !important;\n  text-decoration-color: currentColor !important;\n}\n.dark .source-links [data-callout-type] {\n  background-color: #1e2028 !important;\n  border-color: #2a2d38 !important;\n}\n.dark .source-links [data-callout-type] [data-component-part=\"callout-content\"],\n.dark .source-links [data-callout-type] [data-component-part=\"callout-content\"] *,\n.dark .source-links [data-callout-type] [data-component-part=\"callout-icon\"] svg {\n  color: #8b8f99 !important;\n}\n.dark .source-links [data-callout-type] [data-component-part=\"callout-icon\"] svg {\n  background-color: #8b8f99 !important;\n}\n.dark .source-links [data-callout-type] a {\n  color: inherit !important;\n  text-decoration-color: currentColor !important;\n}\n\n/* Card background matches page background */\n.card {\n  background-color: transparent !important;\n}\n\n/* Make card and dropdown borders visible in dark mode (WCAG 1.4.11: 3:1 min for UI components) */\n.dark .card,\n.dark [data-component=\"card\"] {\n  border-color: #4f5d73 !important;\n}\n.dark [data-radix-popper-content-wrapper] *,\n.dark [data-radix-collection-item],\n.dark [role=\"listbox\"],\n.dark [role=\"menu\"],\n.dark [role=\"combobox\"],\n.dark details,\n.dark details \u003e summary,\n.dark button[class*=\"border\"],\n.dark [class*=\"border-\"][class*=\"rounded\"] {\n  border-color: #4f5d73 !important;\n}\n\n/* Style links in tables to match regular content links */\n.dark table a {\n  color: #7FC8FF !important;\n  text-decoration: underline !important;\n  text-decoration-color: #7FC8FF !important;\n  text-underline-offset: 2px;\n}\n\n/* Make table borders visible in dark mode */\n.dark table * {\n  border-color: #4f5d73 !important;\n}\n\n/* Force vertical alignment to top for table cells on products page */\ntable.products-page td.tdlist,\ntable.products-page th.tdlist {\n  vertical-align: top !important;\n}\n\n/*\n * Horizontal overflow indicator for Mintlify tab lists (the \"model switcher\").\n *\n * Mintlify renders the Tabs component as a horizontally scrollable\n * `\u003cul role=\"tablist\" data-component-part=\"tabs-list\"\u003e`. When there are\n * more tabs than fit the content width, the list scrolls horizontally but\n * the edge truncates cleanly on the word boundary with no affordance that\n * more tabs exist.\n *\n * Apply a mask-image fade to the trailing edge so clipped content fades\n * out instead of cutting off sharply. In browsers that support\n * scroll-driven animations (Chromium 115+, Firefox 138+, Safari 26+), the\n * mask is animated against the list's own scroll position so only the\n * side(s) with hidden content are faded. In older browsers, the static\n * right-edge fade alone still reads as \"there's more here\".\n *\n * When the tablist is not scrollable, the mask fades only the trailing\n * sliver of the flex-gap region (which contains no tab content), so the\n * visual effect is imperceptible.\n */\n[data-component-part=\"tabs-list\"] {\n  -webkit-mask-image:\n    linear-gradient(\n      to right,\n      #000 0,\n      #000 calc(100% - 1.5rem),\n      transparent 100%\n    );\n  mask-image:\n    linear-gradient(\n      to right,\n      #000 0,\n      #000 calc(100% - 1.5rem),\n      transparent 100%\n    );\n}\n\n@supports (animation-timeline: scroll()) {\n  [data-component-part=\"tabs-list\"] {\n    animation: tabs-overflow-mask linear both;\n    animation-timeline: scroll(self inline);\n  }\n\n  @keyframes tabs-overflow-mask {\n    0% {\n      -webkit-mask-image:\n        linear-gradient(\n          to right,\n          #000 0,\n          #000 calc(100% - 1.5rem),\n          transparent 100%\n        );\n      mask-image:\n        linear-gradient(\n          to right,\n          #000 0,\n          #000 calc(100% - 1.5rem),\n          transparent 100%\n        );\n    }\n    1%,\n    99% {\n      -webkit-mask-image:\n        linear-gradient(\n          to right,\n          transparent 0,\n          #000 1.5rem,\n          #000 calc(100% - 1.5rem),\n          transparent 100%\n        );\n      mask-image:\n        linear-gradient(\n          to right,\n          transparent 0,\n          #000 1.5rem,\n          #000 calc(100% - 1.5rem),\n          transparent 100%\n        );\n    }\n    100% {\n      -webkit-mask-image:\n        linear-gradient(\n          to right,\n          transparent 0,\n          #000 1.5rem,\n          #000 100%\n        );\n      mask-image:\n        linear-gradient(\n          to right,\n          transparent 0,\n          #000 1.5rem,\n          #000 100%\n        );\n    }\n  }\n}\n\nhtml[data-current-path$=\"/deepagents/code/overview\"] breadcrumb-list,\nhtml[data-current-path$=\"/deepagents/code/overview\"] .breadcrumb-list {\n  display: none !important;\n}\n\n/* Agent development lifecycle diagram (home page) */\n/* HTML panels + SVG arrow layer: Mintlify's MDX renderer strips SVG \u003ctext\u003e and\n   \u003cmarker\u003e, so labels are HTML and arrowheads are drawn as \u003cpath\u003e triangles. */\n.adl-engine { position: relative; max-width: 1180px; margin: 2.5rem auto; container-type: inline-size; display: flex; flex-direction: column; align-items: center; }\n.adl-engine-box { text-align: center; background: #E5F4FF; border: 1.5px solid #006DDD; border-radius: 16px; padding: 1.4cqw 3cqw; margin-bottom: 2cqw; }\n.adl-engine-title { font-weight: 600; font-size: clamp(20px, 3.2cqw, 34px); color: #0a1929; text-decoration: none; }\n.adl-engine-title:hover { text-decoration: underline; }\n.adl-engine-tagline { font-size: clamp(13px, 1.9cqw, 22px); color: #40668d; margin-top: 0.4cqw; }\n.adl-board { position: relative; width: 100%; max-width: 1100px; margin: 1.5rem auto 0; aspect-ratio: 1200 / 780; container-type: inline-size; z-index: 1; }\n.adl-arrows { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; }\n.adl-arrow { stroke: #6aa3d0; stroke-width: 2; stroke-dasharray: 3 6; fill: none; }\n.adl-arrow-head { fill: #6aa3d0; }\n\n.adl-panel { position: absolute; box-sizing: border-box; border-radius: 16px; background: #E5F4FF; border: 1.5px solid #006DDD; padding: 1.4cqw; display: flex; flex-direction: column; gap: 1cqw; z-index: 1; }\n.adl-panel-title { color: #00355c; font-weight: 600; font-size: clamp(13px, 2cqw, 22px); line-height: 1.1; }\n.adl-pills { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8cqw; flex: 1; align-content: center; }\n.adl-pill { display: flex; align-items: center; justify-content: center; text-align: center; background: #ffffff; border: 1px solid #b8d8f0; border-radius: 8px; color: #0a3553; font-size: clamp(9px, 1.25cqw, 14px); font-weight: 500; text-decoration: none; padding: 0.7cqw 0.4cqw; line-height: 1.15; transition: background .15s ease, border-color .15s ease, color .15s ease; }\n.adl-pill:hover { background: #cde7fa; border-color: #006DDD; color: #003f7a; }\n\n.adl-hub { position: absolute; left: 50%; top: 43.5%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; gap: 1cqw; z-index: 1; }\n.adl-hub-pill { display: flex; align-items: center; justify-content: center; text-align: center; background: #33415a; color: #ffffff; border-radius: 12px; font-size: clamp(12px, 1.7cqw, 20px); font-weight: 600; text-decoration: none; padding: 1cqw 2.2cqw; white-space: nowrap; transition: background .15s ease; }\na.adl-hub-pill:hover { background: #45577a; }\n\n.adl-govern { position: absolute; left: 38%; width: 24%; top: 84%; display: flex; flex-direction: column; align-items: center; gap: 0.8cqw; z-index: 1; }\n.adl-govern-title { color: #006DDD; font-weight: 600; font-size: clamp(12px, 1.8cqw, 20px); }\n.adl-govern .adl-pill { width: 75%; }\n\n.dark .adl-arrow { stroke: #4a7ca0; }\n.dark .adl-arrow-head { fill: #4a7ca0; }\n.dark .adl-panel { background: #102a3f; border-color: #4ba8e8; }\n.dark .adl-panel-title { color: #b8d8f0; }\n.dark .adl-pill { background: #0d1b27; border-color: #2c4a66; color: #cce5fb; }\n.dark .adl-pill:hover { background: #1a3a52; border-color: #6cb6ee; color: #ffffff; }\n.dark .adl-govern-title { color: #6cb6ee; }\n.dark .adl-engine-title { color: #e6f4ff; }\n.dark .adl-engine-tagline { color: #6cb6ee; }\n.dark .adl-engine-box { background: #102a3f; border-color: #4ba8e8; }\n.dark .adl-hub-pill { background: #1b2737; color: #cfe0f2; }\n.dark a.adl-hub-pill:hover { background: #27374d; }\n"])</script><script>self.__next_f.push([1,"17:[\"$\",\"$L35\",null,{\"theme\":\"aspen\",\"pageMetadata\":{\"title\":null,\"sidebarTitle\":\"Home\",\"mode\":\"custom\",\"description\":null,\"href\":\"/index\"},\"children\":[\"$\",\"$L36\",null,{\"value\":{\"apiReferenceData\":{}},\"children\":[\"$\",\"$L37\",null,{\"value\":{\"pageMetadata\":\"$17:props:pageMetadata\",\"lastModified\":\"2026-07-17T17:25:04.453Z\",\"gitLastModified\":\"$undefined\",\"originalFileLocation\":\"index.mdx\",\"description\":null,\"mdxExtracts\":{\"tableOfContents\":[],\"codeExamples\":{}},\"pageType\":\"$undefined\",\"panelMdxSource\":\"$undefined\",\"panelMdxSourceWithNoJs\":\"$undefined\",\"contextualStarterQuestions\":\"$undefined\",\"relatedPages\":\"$undefined\"},\"children\":[\"$\",\"$L38\",null,{\"pageMetadata\":\"$17:props:pageMetadata\",\"mdxExtracts\":\"$17:props:children:props:children:props:value:mdxExtracts\",\"openApiReferenceData\":\"$undefined\",\"children\":[\"$\",\"$L39\",null,{\"children\":[[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"$3a\"}}],[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"document.documentElement.setAttribute('data-page-mode', \\\"custom\\\");\"}}],[\"$\",\"$L3b\",null,{\"mode\":\"custom\"}]],[\"$\",\"$L3c\",null,{\"theme\":\"aspen\"}],[\"$\",\"$L3d\",null,{\"pageMetadata\":\"$17:props:pageMetadata\"}],[[\"$\",\"style\",\"0\",{\"data-custom-css-index\":0,\"data-custom-css-path\":\"style.css\",\"dangerouslySetInnerHTML\":{\"__html\":\"$3e\"}}]],\"$L3f\",\"$L40\"]}]}]}]}]}]\n"])</script><script>self.__next_f.push([1,"41:I[604804,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"LoginButtonProvider\",1]\n"])</script><script>self.__next_f.push([1,"42:I[141180,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"SidebarLoginButtonProvider\",1]\n"])</script><script>self.__next_f.push([1,"43:I[343590,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"NavigationContextController\",1]\n"])</script><script>self.__next_f.push([1,"44:I[378486,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"PageListProvider\"]\n"])</script><script>self.__next_f.push([1,"45:I[742977,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"PrefetchProvider\"]\n"])</script><script>self.__next_f.push([1,"46:I[237978,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"PageModeOverrideProvider\"]\n"])</script><script>self.__next_f.push([1,"47:I[557611,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"Fonts\",1]\n"])</script><script>self.__next_f.push([1,"48:I[330080,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"BannerProvider\",1]\n"])</script><script>self.__next_f.push([1,"49:I[524149,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"ScrollTopScript\",1]\n"])</script><script>self.__next_f.push([1,"4b:I[540345,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"ConsentProvider\",1]\n"])</script><script>self.__next_f.push([1,"4c:I[529058,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"LocalStorageAndAnalyticsProviders\",1]\n"])</script><script>self.__next_f.push([1,"4d:I[958547,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"4f:I[36098,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"CustomJsFiles\",1]\n"])</script><script>self.__next_f.push([1,"52:I[530359,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"MDXContentController\",1]\n"])</script><script>self.__next_f.push([1,"53:I[448287,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/2de556761ae57357.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d8162056a57263eb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/444896ae54abbea4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b4cf858cfa31438e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f8a6e00bcfd6f641.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"4a:T5be,"])</script><script>self.__next_f.push([1,"(function () {\n  var measure = function(){let a=document.querySelectorAll(\"[id='navbar'], [data-top-chrome]\"),b=0;a.forEach(a=\u003e{let c=a.getBoundingClientRect();c.height\u003e0\u0026\u0026(b=Math.max(b,c.bottom))});let c=0,d=document.getElementById(\"content-container\");if(d){let{overflowY:a}=getComputedStyle(d);(\"auto\"===a||\"scroll\"===a)\u0026\u0026(c=Math.max(0,d.getBoundingClientRect().top))}let e=Math.round(Math.max(0,b-c))+40;document.documentElement.style.setProperty(\"--scroll-mt\",`${e}px`)};\n  (function(a){let b=[],c=0,d=\"undefined\"==typeof ResizeObserver?null:new ResizeObserver(f);function e(){let c=Array.from(document.querySelectorAll(\"[id='navbar'], [data-top-chrome]\"));(c.length!==b.length||c.some((a,c)=\u003ea!==b[c]))\u0026\u0026d\u0026\u0026(d.disconnect(),c.forEach(a=\u003ed.observe(a))),b=c,a()}function f(){c||(c=requestAnimationFrame(()=\u003e{c=0,e()}))}new MutationObserver(f).observe(document.documentElement,{childList:!0,subtree:!0}),window.addEventListener(\"resize\",f),\"loading\"===document.readyState\u0026\u0026document.addEventListener(\"DOMContentLoaded\",e),e()})(measure);\n  (function(a){let b=window.location.hash.slice(1);if(!b)return;function c(){let c=document.getElementById(b);return!!c\u0026\u0026(a(),c.scrollIntoView(),!0)}if(\"complete\"===document.readyState)return void c();let d=new MutationObserver(()=\u003e{c()\u0026\u0026e()});function e(){d.disconnect(),window.removeEventListener(\"load\",e)}window.addEventListener(\"load\",e),d.observe(document.documentElement,{childList:!0,subtree:!0}),c()\u0026\u0026e()})(measure);\n})();"])</script><script>self.__next_f.push([1,"34:[\"$\",\"$L41\",null,{\"children\":[\"$\",\"$L42\",null,{\"children\":[\"$\",\"$L43\",null,{\"children\":[\"$\",\"$L44\",null,{\"pageListDataMap\":{},\"children\":[\"$\",\"$L45\",null,{\"children\":[\"$\",\"$L46\",null,{\"children\":[[\"$\",\"$L11\",null,{\"fonts\":\"$16:2:props:children:props:children:5:props:children:props:children:props:children:props:value:docsConfig:fonts\",\"theme\":\"aspen\",\"subdomain\":\"langchain-5e9cc07a\"}],[[\"$\",\"$L10\",null,{\"docsConfig\":\"$16:2:props:children:props:children:5:props:children:props:children:props:children:props:value:docsConfig\"}],[[\"$\",\"link\",null,{\"rel\":\"preload\",\"href\":\"https://d4tuoctqmanu0.cloudfront.net/katex.min.css\",\"as\":\"style\"}],[\"$\",\"script\",null,{\"type\":\"text/javascript\",\"children\":\"\\n          (function() {\\n            function loadKatex() {\\n              const link = document.querySelector('link[href=\\\"https://d4tuoctqmanu0.cloudfront.net/katex.min.css\\\"]');\\n              if (link) link.rel = 'stylesheet';\\n            }\\n            if (document.readyState === 'loading') {\\n              document.addEventListener('DOMContentLoaded', loadKatex);\\n            } else {\\n              loadKatex();\\n            }\\n          })();\\n        \"}]],[\"$\",\"$L12\",null,{\"theme\":\"aspen\"}],[\"$\",\"$L47\",null,{\"fonts\":\"$16:2:props:children:props:children:5:props:children:props:children:props:children:props:value:docsConfig:fonts\",\"children\":[\"$\",\"$L48\",null,{\"bannersByLocale\":{\"global\":\"$16:2:props:children:props:children:5:props:children:props:children:props:children:props:value:docsConfig:banner\"},\"subdomain\":\"langchain-5e9cc07a\",\"children\":[[\"$\",\"$L49\",null,{\"theme\":\"aspen\"}],[\"$\",\"$L2c\",null,{\"strategy\":\"beforeInteractive\",\"id\":\"_mintlify-scroll-margin-script\",\"dangerouslySetInnerHTML\":{\"__html\":\"$4a\"},\"suppressHydrationWarning\":true}],[\"$\",\"$L4b\",null,{\"privacy\":\"$undefined\",\"children\":[\"$\",\"$L4c\",null,{\"subdomain\":\"langchain-5e9cc07a\",\"isAtlas\":false,\"children\":[\"$\",\"$L4d\",null,{\"toggles\":[{\"name\":\"dashboard-bucketing\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"tiered-billing\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"server-bucketing-cron\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"skip-github\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-profile-v2\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"dashboard-editor-theseus\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"self-serve-sso\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"force-workflows-vercel-harness\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"kill-isr\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"atlas-in-onboarding\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"autumn-billing-mar-2026\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"cloudflare-cache-invalidation\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"workflows-vercel-harness\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"gitlab-workflows\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"agent-feedback\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"autopilot-dashboard\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"live-preview-client\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"notification-settings\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"direct-chroma-search\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"mintlify-credits-autumn-apr-2026\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"partial-docs-json-update\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"agent_harness_kb\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"agent-page\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"use-run-task-preview-queue\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-inline-ai-editing\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"dashboard-auth-revamp\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"skip-static-file-global-update\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"auth-direct-to-cf\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"client-credentials-grant\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"agent_harness_slack_agent\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"workflows-v2\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"assistant-integrations\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"dashboard-comments\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"workflows-in-onboarding\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"self-serve-direct-to-cf\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"viewer-role\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"agent-panel\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"autumn-enforcement-mar-2026\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"gitlab-selfhosted-oauth\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"autumn-webhooks-mar-2026\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"agent-mintlify-slack\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"disable-workflows-on-credit-exhaustion\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"workflows-onboarding\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-v7-file-tree\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"atlas-vercel-harness\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"onboarding-vercel-harness\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"workflows-activation-email\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"cron-sync-content-with-code\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"refresh-token-auth-mcp\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"use-run-task-generate-docs-phase-queue\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"per-tenant-auth\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"end-user-auth-refresh-token-may-26\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-metadata-navtree-collection-read\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"agent-integrations-settings\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"per-tenant-auth-mcp\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"gh-comment-pr-agent\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"workflows-view-changes-in-editor\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"async-editor-publish\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"incremental-editor-nav\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"hubspot-integration\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"google-drive-integration\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"automations-pr-grouping\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"automations-feedback-email\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"custom-prefix\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"draft-and-publish-flow\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"analytics-v7\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"assistant-ask-user-tool\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"workflows-run-detail-page\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"query-bucketing-themes\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"editor-comments\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"credits-v2-jul-2026\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"call-agent-tool\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"custom-base-path-ui\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"pylon-integration\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false}],\"children\":\"$L4e\"}]}]}]]}]}]]]}]}]}]}]}]}]\n"])</script><script>self.__next_f.push([1,"50:T1d3a,"])</script><script>self.__next_f.push([1,"/**\n * Language Toggle Script\n *\n * Enables smart navigation when switching between Python and TypeScript docs.\n * When a reader picks the other language from the dropdown, this redirects them\n * to the equivalent page (preserving the section hash) instead of the default\n * overview/landing page for that language.\n *\n * Why this is needed:\n * - Both language options in the switcher link to the same, language-agnostic\n *   landing page (e.g. /build-overview), so the target language cannot be read\n *   from the destination URL. It is read from the clicked item's label instead.\n * - Switching languages can trigger a full page reload, so the intended switch\n *   is persisted in sessionStorage to survive the navigation.\n *\n * Mintlify auto-injects every .js file in the repo as custom JS, so this runs on\n * every page without needing a \u003cscript\u003e tag in docs.json. The dropdown items\n * render as `\u003cp class=\"nav-dropdown-item-title\"\u003ePython\u003c/p\u003e` inside\n * `nav-dropdown-item-*` containers.\n */\n\n(function () {\n  \"use strict\";\n\n  const PYTHON_PREFIX = \"/oss/python/\";\n  const JS_PREFIX = \"/oss/javascript/\";\n\n  // sessionStorage key holding a pending language switch (survives a reload).\n  const PENDING_KEY = \"lc-language-toggle-pending\";\n\n  // A pending switch older than this (ms) is ignored, so a stored record can\n  // never trigger a stray redirect on some later, unrelated navigation.\n  const PENDING_TTL_MS = 8000;\n\n  /**\n   * Detect which language a path belongs to.\n   * Returns \"python\", \"javascript\", or null.\n   */\n  function getPathLanguage(path) {\n    if (path.startsWith(PYTHON_PREFIX)) return \"python\";\n    if (path.startsWith(JS_PREFIX)) return \"javascript\";\n    return null;\n  }\n\n  /**\n   * Convert a path from one language to another.\n   * e.g., getEquivalentPath(\"/oss/python/foo\", \"javascript\") → \"/oss/javascript/foo\"\n   */\n  function getEquivalentPath(sourcePath, targetLang) {\n    const sourcePrefix = targetLang === \"python\" ? JS_PREFIX : PYTHON_PREFIX;\n    const targetPrefix = targetLang === \"python\" ? PYTHON_PREFIX : JS_PREFIX;\n\n    if (sourcePath.startsWith(sourcePrefix)) {\n      return targetPrefix + sourcePath.substring(sourcePrefix.length);\n    }\n    return null;\n  }\n\n  /**\n   * Map a dropdown item label to a language, or null if it is not a language\n   * item. The docs use \"Python\" and \"TypeScript\" as the dropdown labels.\n   */\n  function labelToLanguage(text) {\n    const label = (text || \"\").trim().toLowerCase();\n    if (label === \"python\") return \"python\";\n    if (label === \"typescript\" || label === \"javascript\") return \"javascript\";\n    return null;\n  }\n\n  /**\n   * Given the clicked element, find the language a dropdown item would switch\n   * to, tolerating clicks on the item's icon, text container, or title.\n   */\n  function clickTargetLanguage(startEl) {\n    for (let node = startEl, depth = 0; node \u0026\u0026 depth \u003c 5; node = node.parentElement, depth++) {\n      if (!node.classList) continue;\n\n      let titleEl = null;\n      if (node.classList.contains(\"nav-dropdown-item-title\")) {\n        titleEl = node;\n      } else if (node.querySelector) {\n        titleEl = node.querySelector(\".nav-dropdown-item-title\");\n      }\n\n      if (titleEl) {\n        return labelToLanguage(titleEl.textContent);\n      }\n    }\n    return null;\n  }\n\n  function readPending() {\n    try {\n      return sessionStorage.getItem(PENDING_KEY);\n    } catch (e) {\n      // sessionStorage can throw in private-mode Safari; degrade gracefully.\n      return null;\n    }\n  }\n\n  function writePending(value) {\n    try {\n      sessionStorage.setItem(PENDING_KEY, value);\n    } catch (e) {\n      /* ignore */\n    }\n  }\n\n  function clearPending() {\n    try {\n      sessionStorage.removeItem(PENDING_KEY);\n    } catch (e) {\n      /* ignore */\n    }\n  }\n\n  /**\n   * If a fresh language switch is pending, redirect to the equivalent of the\n   * page it started from, in the newly selected language. Consumed once.\n   * Returns true if a redirect was triggered.\n   */\n  function applyPendingSwitch() {\n    const raw = readPending();\n    if (!raw) return false;\n\n    // Consume once: a switch is acted on at most a single time.\n    clearPending();\n\n    let pending;\n    try {\n      pending = JSON.parse(raw);\n    } catch (e) {\n      return false;\n    }\n\n    if (\n      !pending ||\n      !pending.src ||\n      !pending.lang ||\n      typeof pending.ts !== \"number\" ||\n      Date.now() - pending.ts \u003e PENDING_TTL_MS\n    ) {\n      return false;\n    }\n\n    // Split the source into path and hash.\n    const hashIndex = pending.src.indexOf(\"#\");\n    const srcPath = hashIndex === -1 ? pending.src : pending.src.slice(0, hashIndex);\n    const srcHash = hashIndex === -1 ? \"\" : pending.src.slice(hashIndex);\n\n    const srcLang = getPathLanguage(srcPath);\n    // A shared, language-agnostic source page (e.g. /build-overview) has no\n    // per-language equivalent to preserve.\n    if (!srcLang || srcLang === pending.lang) return false;\n\n    const equivalent = getEquivalentPath(srcPath, pending.lang);\n    if (!equivalent || equivalent === location.pathname) return false;\n\n    location.replace(equivalent + srcHash);\n    return true;\n  }\n\n  // Handle a language dropdown click the instant it happens, before Mintlify\n  // navigates (the destination URL does not encode the target language, and the\n  // navigation may be a full page reload).\n  document.addEventListener(\n    \"click\",\n    function (e) {\n      const targetLang = e.target \u0026\u0026 clickTargetLanguage(e.target);\n      if (!targetLang) return;\n\n      // Record the intended switch as a fallback: this survives a full page\n      // reload and is applied on the next load if the fast path below does not\n      // run (e.g. the source is the shared, language-agnostic landing page).\n      writePending(\n        JSON.stringify({\n          src: location.pathname + location.hash,\n          lang: targetLang,\n          ts: Date.now(),\n        }),\n      );\n\n      // Fast path: if the current page has a resolvable equivalent, go straight\n      // there and skip the intermediate landing-page load (avoids a visible\n      // flash). The capture-phase listener runs before Mintlify's own click\n      // handler, so suppressing propagation prevents its navigation.\n      const srcLang = getPathLanguage(location.pathname);\n      if (srcLang \u0026\u0026 srcLang !== targetLang) {\n        const equivalent = getEquivalentPath(location.pathname, targetLang);\n        if (equivalent \u0026\u0026 equivalent !== location.pathname) {\n          e.preventDefault();\n          e.stopImmediatePropagation();\n          location.assign(equivalent + location.hash);\n        }\n      }\n    },\n    true,\n  );\n\n  // Watch for URL changes from Mintlify's client-side routing.\n  let lastPath = location.pathname;\n\n  function onPathChange() {\n    if (location.pathname !== lastPath) {\n      lastPath = location.pathname;\n      applyPendingSwitch();\n    }\n  }\n\n  window.addEventListener(\"popstate\", onPathChange);\n  window.addEventListener(\"hashchange\", onPathChange);\n\n  // Intercept History API calls used by client-side routing.\n  const originalPushState = history.pushState;\n  const originalReplaceState = history.replaceState;\n\n  history.pushState = function () {\n    originalPushState.apply(this, arguments);\n    onPathChange();\n  };\n\n  history.replaceState = function () {\n    originalReplaceState.apply(this, arguments);\n    onPathChange();\n  };\n\n  // Handle the full-page-reload case: apply any pending switch on initial load.\n  applyPendingSwitch();\n})();\n"])</script><script>self.__next_f.push([1,"51:T5029,"])</script><script>self.__next_f.push([1,"\"use strict\";\n(() =\u003e {\n  // src/constants.ts\n  var PROD_BASE = \"https://ui-patterns.langchain.com\";\n\n  // src/ChatLangChainEmbed.ts\n  var MOBILE_BREAKPOINT = 768;\n  var ROOT_OPEN_CLASS = \"lc-chat-widget-open\";\n  var LOCAL_EMBED_BASE_URL = \"http://localhost:4100\";\n  var PROD_EMBED_BASE_URL = `${PROD_BASE}/react`;\n  var CHAT_APP_URL = \"https://chat.langchain.com/\";\n  var PANEL_TRANSITION = \"300ms cubic-bezier(0.22, 1, 0.36, 1)\";\n  var WIDGET_STYLE_ID = \"lc-chat-widget-style\";\n  var WIDGET_INIT_KEY = \"__lcChatWidgetInitialized\";\n  var MIN_PANEL_WIDTH = 280;\n  var MAX_PANEL_WIDTH_RATIO = 0.7;\n  function lcIsLocalhost() {\n    if (typeof window === \"undefined\") return false;\n    var h = window.location.hostname;\n    return h === \"localhost\" || h === \"127.0.0.1\" || h === \"[::1]\";\n  }\n  function lcDetectPageTheme() {\n    if (typeof document === \"undefined\") return \"light\";\n    var el = document.documentElement;\n    if (el.classList.contains(\"dark\")) return \"dark\";\n    if (el.getAttribute(\"data-theme\") === \"dark\") return \"dark\";\n    if (el.style.colorScheme === \"dark\") return \"dark\";\n    return \"light\";\n  }\n  function lcGetEmbedSrc(apiUrl, assistantId, sessionBust) {\n    var baseUrl = lcIsLocalhost() ? LOCAL_EMBED_BASE_URL : PROD_EMBED_BASE_URL;\n    var params = [];\n    if (apiUrl) params.push(\"apiUrl=\" + encodeURIComponent(apiUrl));\n    if (assistantId) params.push(\"assistantId=\" + encodeURIComponent(assistantId));\n    if (sessionBust !== void 0) {\n      params.push(\"_lcSession=\" + encodeURIComponent(String(sessionBust)));\n    }\n    var query = params.length ? \"?\" + params.join(\"\u0026\") : \"\";\n    return baseUrl + \"/\" + query + \"#/chat-langchain\";\n  }\n  function lcGetPanelWidth() {\n    if (window.innerWidth \u003c= MOBILE_BREAKPOINT) return 0;\n    return Math.round(Math.max(360, Math.min(window.innerWidth * 0.3, 480)));\n  }\n  var WIDGET_CSS = (\n    /*css*/\n    `\n:root {\n  --lc-chat-panel-width: 420px;\n  --lc-chat-widget-bg-light: #161F34;\n  --lc-chat-widget-bg-dark: #006DDD;\n  --lc-chat-widget-surface-light: #ffffff;\n  --lc-chat-widget-surface-dark: #030710;\n  --lc-chat-widget-border-light: #dde4ef;\n  --lc-chat-widget-border-dark: rgb(38, 38, 38);\n  --lc-chat-widget-shadow-light: 0 20px 60px rgba(3, 7, 16, 0.15);\n  --lc-chat-widget-shadow-dark: 0 20px 60px rgba(0, 0, 0, 0.5);\n}\n#lc-chat-widget-close:focus-visible,\n#lc-chat-widget-open-link:focus-visible,\n#lc-chat-widget-new-thread:focus-visible,\n#lc-chat-widget-history:focus-visible {\n  outline: 2px solid #7fc8ff;\n  outline-offset: 3px;\n}\n#lc-chat-widget-close svg,\n#lc-chat-widget-open-link svg,\n#lc-chat-widget-new-thread svg,\n#lc-chat-widget-history svg {\n  width: 18px;\n  height: 18px;\n}\n#lc-chat-widget-panel {\n  position: fixed;\n  top: 0;\n  right: 0;\n  z-index: 9998;\n  width: var(--lc-chat-panel-width);\n  height: 100vh;\n  display: flex;\n  flex-direction: column;\n  transform: translateX(100%);\n  transition: transform ${PANEL_TRANSITION};\n  background: var(--lc-chat-widget-surface-light);\n  border-left: 1px solid var(--lc-chat-widget-border-light);\n}\n/* Mintlify (and similar) top banner \\u2014 keep panel below fixed banner */\n#lc-chat-widget-panel[data-lc-banner-offset=\"true\"] {\n  margin-top: 40px;\n  height: calc(100vh - 40px);\n}\nhtml.${ROOT_OPEN_CLASS} #lc-chat-widget-panel { transform: translateX(0); }\n#lc-chat-widget-panel[data-theme='dark'] {\n  background: var(--lc-chat-widget-surface-dark);\n  border-left-color: var(--lc-chat-widget-border-dark);\n}\n#lc-chat-widget-header {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  gap: 12px;\n  padding: 14px 18px 13px;\n  border-bottom: 1px solid var(--lc-chat-widget-border-light);\n}\n#lc-chat-widget-panel[data-theme='dark'] #lc-chat-widget-header {\n  border-bottom-color: var(--lc-chat-widget-border-dark);\n}\n#lc-chat-widget-title {\n  margin: 0;\n  font: 600 16px/1.2 'Inter', sans-serif;\n  color: #030710;\n}\n#lc-chat-widget-panel[data-theme='dark'] #lc-chat-widget-title { color: #ffffff; }\n#lc-chat-widget-actions { display: flex; align-items: center; gap: 8px; }\n#lc-chat-widget-open-link,\n#lc-chat-widget-close,\n#lc-chat-widget-new-thread,\n#lc-chat-widget-history {\n  width: 28px;\n  height: 28px;\n  border: 0;\n  border-radius: 999px;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  color: #161F34;\n  background: transparent;\n  text-decoration: none;\n  cursor: pointer;\n  transition: background 150ms ease, color 150ms ease;\n}\n#lc-chat-widget-open-link:hover,\n#lc-chat-widget-close:hover,\n#lc-chat-widget-new-thread:hover,\n#lc-chat-widget-history:hover {\n  background: rgba(22, 31, 52, 0.08);\n}\n#lc-chat-widget-panel[data-theme='dark'] :is(#lc-chat-widget-open-link, #lc-chat-widget-close, #lc-chat-widget-new-thread, #lc-chat-widget-history) {\n  color: #c8d4e8;\n}\n#lc-chat-widget-panel[data-theme='dark'] :is(#lc-chat-widget-open-link:hover, #lc-chat-widget-close:hover, #lc-chat-widget-new-thread:hover, #lc-chat-widget-history:hover) {\n  background: rgba(127, 200, 255, 0.08);\n  color: #ffffff;\n}\n#lc-chat-widget-new-thread {\n  display: none;\n}\n#lc-chat-widget-panel[data-thread-started='true'] #lc-chat-widget-new-thread {\n  display: inline-flex;\n}\n#lc-chat-widget-history {\n  display: none;\n}\n#lc-chat-widget-panel[data-saved-threads='true'] #lc-chat-widget-history {\n  display: inline-flex;\n}\n#lc-chat-widget-panel[data-history-open='true'] #lc-chat-widget-history {\n  background: rgba(127, 200, 255, 0.12);\n  color: #006ddd;\n}\n#lc-chat-widget-panel[data-theme='dark'][data-history-open='true'] #lc-chat-widget-history {\n  background: rgba(127, 200, 255, 0.12);\n  color: #ffffff;\n}\n#lc-chat-widget-body { position: relative; flex: 1 1 auto; min-height: 0; }\n#lc-chat-widget-iframe {\n  width: 100%;\n  height: 100%;\n  border: 0;\n  opacity: 0;\n  transition: opacity 200ms ease;\n  background: #ffffff;\n}\n#lc-chat-widget-panel[data-theme='dark'] #lc-chat-widget-iframe { background: #030710; }\n#lc-chat-widget-panel[data-ready='true'] #lc-chat-widget-iframe { opacity: 1; }\n#lc-chat-widget-loading {\n  position: absolute;\n  inset: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  background: rgba(255, 255, 255, 0.92);\n}\n#lc-chat-widget-panel[data-theme='dark'] #lc-chat-widget-loading {\n  background: rgba(3, 7, 16, 0.94);\n}\n#lc-chat-widget-panel[data-ready='true'] #lc-chat-widget-loading { display: none; }\n#lc-chat-widget-spinner {\n  width: 28px;\n  height: 28px;\n  border: 3px solid rgba(22, 31, 52, 0.12);\n  border-top-color: #006DDD;\n  border-radius: 999px;\n  animation: lc-chat-widget-spin 0.8s linear infinite;\n}\n#lc-chat-widget-panel[data-theme='dark'] #lc-chat-widget-spinner {\n  border-color: rgba(127, 200, 255, 0.15);\n  border-top-color: #7FC8FF;\n}\n@keyframes lc-chat-widget-spin { to { transform: rotate(360deg); } }\n@media (max-width: 768px) {\n  :root { --lc-chat-panel-width: 100vw; }\n  #lc-chat-widget-panel { width: 100vw; }\n}\n#lc-chat-widget-resize-handle {\n  position: absolute;\n  top: 0;\n  left: -4px;\n  width: 8px;\n  height: 100%;\n  cursor: ew-resize;\n  z-index: 10;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n}\n#lc-chat-widget-resize-handle::before {\n  content: '';\n  width: 3px;\n  height: 36px;\n  border-radius: 999px;\n  background: transparent;\n  transition: background 150ms ease;\n}\n#lc-chat-widget-resize-handle:hover::before,\n#lc-chat-widget-resize-handle.lc-dragging::before {\n  background: rgba(22, 31, 52, 0.2);\n}\n#lc-chat-widget-panel[data-theme='dark'] #lc-chat-widget-resize-handle:hover::before,\n#lc-chat-widget-panel[data-theme='dark'] #lc-chat-widget-resize-handle.lc-dragging::before {\n  background: rgba(127, 200, 255, 0.3);\n}\n@media (max-width: 768px) {\n  #lc-chat-widget-resize-handle { display: none; }\n}\n/* Mintlify \"On this page\" (#content-side-layout) uses full viewport width for layout;\n   hide it while the chat panel is open so the main column is not squeezed on viewports \u003c 1800px. */\n@media (max-width: 1799px) {\n  html.${ROOT_OPEN_CLASS} #content-side-layout {\n    display: none !important;\n  }\n}\n`\n  );\n  function ChatLangChainEmbed({\n    theme,\n    apiUrl,\n    assistantId,\n    onReady\n  }) {\n    if (typeof window === \"undefined\") return null;\n    if (window[WIDGET_INIT_KEY]) return null;\n    window[WIDGET_INIT_KEY] = true;\n    var panelReady = false;\n    var panelOpen = false;\n    var iframe = null;\n    var fallbackTimer = 0;\n    var appRoot = null;\n    var currentPanelWidth = lcGetPanelWidth();\n    var isDragging = false;\n    var dragStartX = 0;\n    var dragStartWidth = 0;\n    if (!document.getElementById(WIDGET_STYLE_ID)) {\n      var style = document.createElement(\"style\");\n      style.id = WIDGET_STYLE_ID;\n      style.textContent = WIDGET_CSS;\n      document.head.appendChild(style);\n    }\n    var panel = document.createElement(\"aside\");\n    panel.id = \"lc-chat-widget-panel\";\n    panel.setAttribute(\"aria-label\", \"Chat LangChain\");\n    panel.setAttribute(\"data-ready\", \"false\");\n    panel.setAttribute(\"data-theme\", lcDetectPageTheme());\n    panel.innerHTML = /*html*/\n    `\n    \u003cdiv id=\"lc-chat-widget-resize-handle\" aria-hidden=\"true\"\u003e\u003c/div\u003e\n    \u003cdiv id=\"lc-chat-widget-header\"\u003e\n      \u003ch2 id=\"lc-chat-widget-title\"\u003eChat LangChain\u003c/h2\u003e\n      \u003cdiv id=\"lc-chat-widget-actions\"\u003e\n        \u003cbutton id=\"lc-chat-widget-history\" type=\"button\" aria-label=\"Past chats\" title=\"Past chats\" aria-pressed=\"false\"\u003e\n          \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"\u003e\n            \u003cpath d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/\u003e\n          \u003c/svg\u003e\n        \u003c/button\u003e\n        \u003cbutton id=\"lc-chat-widget-new-thread\" type=\"button\" aria-label=\"Start a new thread\" title=\"Start a new thread\"\u003e\n          \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"\u003e\n            \u003cpath d=\"M12 5H7a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/\u003e\n            \u003cpath d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L12 14l-4 1 1-4 7.5-7.5z\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/\u003e\n          \u003c/svg\u003e\n        \u003c/button\u003e\n        \u003ca id=\"lc-chat-widget-open-link\" href=\"${CHAT_APP_URL}\" target=\"_blank\" rel=\"noreferrer\" aria-label=\"Open Chat LangChain in a new tab\" title=\"Open chat.langchain.com in a new tab\"\u003e\n          \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"\u003e\n            \u003cpath d=\"M14 5h5v5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/\u003e\n            \u003cpath d=\"M10 14 19 5\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/\u003e\n            \u003cpath d=\"M19 14v4a1 1 0 0 1-1 1h-12a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h4\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/\u003e\n          \u003c/svg\u003e\n        \u003c/a\u003e\n        \u003cbutton id=\"lc-chat-widget-close\" type=\"button\" aria-label=\"Close Chat LangChain\" title=\"Close panel\"\u003e\n          \u003csvg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"\u003e\n            \u003cpath d=\"M6 6l12 12M18 6 6 18\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"/\u003e\n          \u003c/svg\u003e\n        \u003c/button\u003e\n      \u003c/div\u003e\n    \u003c/div\u003e\n    \u003cdiv id=\"lc-chat-widget-body\"\u003e\n      \u003cdiv id=\"lc-chat-widget-loading\" aria-hidden=\"true\"\u003e\u003cdiv id=\"lc-chat-widget-spinner\"\u003e\u003c/div\u003e\u003c/div\u003e\n    \u003c/div\u003e\n  `;\n    document.body.appendChild(panel);\n    function syncBannerPanelOffset() {\n      var hasBanner = !!document.getElementById(\"banner\");\n      panel.setAttribute(\"data-lc-banner-offset\", hasBanner ? \"true\" : \"false\");\n    }\n    syncBannerPanelOffset();\n    var bannerOffsetRaf = 0;\n    var bannerObserver = new MutationObserver(function() {\n      if (bannerOffsetRaf) return;\n      bannerOffsetRaf = requestAnimationFrame(function() {\n        bannerOffsetRaf = 0;\n        syncBannerPanelOffset();\n      });\n    });\n    bannerObserver.observe(document.body, { childList: true, subtree: true });\n    var panelBody = document.getElementById(\"lc-chat-widget-body\");\n    var closeButton = document.getElementById(\"lc-chat-widget-close\");\n    var historyButton = document.getElementById(\"lc-chat-widget-history\");\n    var newThreadButton = document.getElementById(\"lc-chat-widget-new-thread\");\n    var openLink = document.getElementById(\"lc-chat-widget-open-link\");\n    var resizeHandle = document.getElementById(\"lc-chat-widget-resize-handle\");\n    function syncTheme() {\n      var t = theme ?? lcDetectPageTheme();\n      panel.setAttribute(\"data-theme\", t);\n      if (iframe \u0026\u0026 panelReady \u0026\u0026 iframe.contentWindow) {\n        iframe.contentWindow.postMessage({ type: \"CHAT_LC_SET_THEME\", theme: t }, \"*\");\n      }\n    }\n    function ensureAppRoot() {\n      if (appRoot \u0026\u0026 document.body.contains(appRoot)) return appRoot;\n      appRoot = document.querySelector(\"body \u003e .antialiased\") || document.querySelector(\"body \u003e div.antialiased\") || document.querySelector(\"body \u003e div:not(#lc-chat-widget-panel)\");\n      return appRoot;\n    }\n    function clampWidth(w) {\n      return Math.round(\n        Math.max(MIN_PANEL_WIDTH, Math.min(window.innerWidth * MAX_PANEL_WIDTH_RATIO, w))\n      );\n    }\n    function updatePanelWidth(w) {\n      currentPanelWidth = clampWidth(w);\n      document.documentElement.style.setProperty(\"--lc-chat-panel-width\", currentPanelWidth + \"px\");\n      var root = ensureAppRoot();\n      if (root \u0026\u0026 panelOpen) root.style.marginRight = currentPanelWidth + \"px\";\n    }\n    function updateLayout() {\n      var root = ensureAppRoot();\n      if (window.innerWidth \u003c= MOBILE_BREAKPOINT) {\n        document.documentElement.style.setProperty(\"--lc-chat-panel-width\", \"100vw\");\n      } else {\n        currentPanelWidth = clampWidth(currentPanelWidth);\n        document.documentElement.style.setProperty(\"--lc-chat-panel-width\", currentPanelWidth + \"px\");\n      }\n      if (root) {\n        root.style.transition = \"margin-right \" + PANEL_TRANSITION;\n        root.style.marginRight = panelOpen \u0026\u0026 window.innerWidth \u003e MOBILE_BREAKPOINT ? currentPanelWidth + \"px\" : \"\";\n      }\n    }\n    function ensureIframe() {\n      if (iframe) return;\n      iframe = document.createElement(\"iframe\");\n      iframe.id = \"lc-chat-widget-iframe\";\n      iframe.src = lcGetEmbedSrc(apiUrl, assistantId);\n      iframe.title = \"Chat LangChain\";\n      iframe.setAttribute(\"sandbox\", \"allow-scripts allow-same-origin allow-forms allow-popups\");\n      iframe.setAttribute(\"allow\", \"clipboard-write\");\n      iframe.addEventListener(\"load\", function handleLoad() {\n        if (panelReady) return;\n        fallbackTimer = window.setTimeout(setPanelReady, 1500);\n      });\n      panelBody.appendChild(iframe);\n    }\n    function sendPageContext() {\n      if (iframe \u0026\u0026 panelReady \u0026\u0026 iframe.contentWindow) {\n        iframe.contentWindow.postMessage(\n          { type: \"CHAT_LC_SET_CONTEXT\", pageUrl: window.location.href },\n          \"*\"\n        );\n      }\n    }\n    function setPanelReady() {\n      if (panelReady) return;\n      panelReady = true;\n      panel.setAttribute(\"data-ready\", \"true\");\n      if (fallbackTimer) {\n        window.clearTimeout(fallbackTimer);\n        fallbackTimer = 0;\n      }\n      syncTheme();\n      sendPageContext();\n      if (onReady) onReady();\n    }\n    function updateOpenLink(threadId) {\n      if (!openLink) return;\n      if (threadId) {\n        openLink.href = CHAT_APP_URL + \"?threadId=\" + encodeURIComponent(threadId);\n      } else {\n        openLink.href = CHAT_APP_URL;\n      }\n    }\n    function markThreadStarted() {\n      panel.setAttribute(\"data-thread-started\", \"true\");\n    }\n    function setHistoryPanelOpen(open) {\n      panel.setAttribute(\"data-history-open\", open ? \"true\" : \"false\");\n      historyButton.setAttribute(\"aria-pressed\", open ? \"true\" : \"false\");\n    }\n    function setSavedThreadsIndicator(has) {\n      panel.setAttribute(\"data-saved-threads\", has ? \"true\" : \"false\");\n    }\n    function startNewThread() {\n      panel.setAttribute(\"data-thread-started\", \"false\");\n      setHistoryPanelOpen(false);\n      updateOpenLink(null);\n      if (fallbackTimer) {\n        window.clearTimeout(fallbackTimer);\n        fallbackTimer = 0;\n      }\n      ensureIframe();\n      if (!iframe) return;\n      panelReady = false;\n      panel.setAttribute(\"data-ready\", \"false\");\n      iframe.src = lcGetEmbedSrc(apiUrl, assistantId, Date.now());\n    }\n    function openPanel() {\n      ensureIframe();\n      panelOpen = true;\n      document.documentElement.classList.add(ROOT_OPEN_CLASS);\n      updateLayout();\n      sendPageContext();\n    }\n    function closePanel() {\n      panelOpen = false;\n      document.documentElement.classList.remove(ROOT_OPEN_CLASS);\n      updateLayout();\n      setHistoryPanelOpen(false);\n      if (iframe \u0026\u0026 iframe.contentWindow) {\n        iframe.contentWindow.postMessage({ type: \"CHAT_LC_SET_HISTORY_VIEW\", open: false }, \"*\");\n      }\n    }\n    document.addEventListener(\n      \"click\",\n      function lcChatTriggerCapture(e) {\n        var t = e.target;\n        if (!(t instanceof Element)) return;\n        var anchor = t.closest('a[href^=\"https://chat.langchain.com\"]');\n        if (!anchor || anchor.closest(\"#lc-chat-widget-panel\")) return;\n        e.preventDefault();\n        openPanel();\n      },\n      true\n    );\n    var origPushState = history.pushState.bind(history);\n    var origReplaceState = history.replaceState.bind(history);\n    function afterDocNav() {\n      queueMicrotask(sendPageContext);\n    }\n    history.pushState = function(data, unused, url) {\n      var r = origPushState(data, unused, url);\n      afterDocNav();\n      return r;\n    };\n    history.replaceState = function(data, unused, url) {\n      var r = origReplaceState(data, unused, url);\n      afterDocNav();\n      return r;\n    };\n    closeButton.addEventListener(\"click\", closePanel);\n    newThreadButton.addEventListener(\"click\", startNewThread);\n    window.addEventListener(\"keydown\", function handleKeydown(event) {\n      if (event.key === \"Escape\" \u0026\u0026 panelOpen) {\n        closePanel();\n        return;\n      }\n      if (event.key === \"i\" \u0026\u0026 (event.metaKey || event.ctrlKey)) {\n        event.preventDefault();\n        if (panelOpen) closePanel();\n        else openPanel();\n      }\n    });\n    window.addEventListener(\"resize\", updateLayout, { passive: true });\n    window.addEventListener(\"popstate\", sendPageContext);\n    window.addEventListener(\"hashchange\", sendPageContext);\n    historyButton.addEventListener(\"click\", function() {\n      ensureIframe();\n      if (!iframe || !iframe.contentWindow) return;\n      iframe.contentWindow.postMessage({ type: \"CHAT_LC_TOGGLE_HISTORY\" }, \"*\");\n    });\n    window.addEventListener(\"message\", function handleMessages(event) {\n      if (!event.data) return;\n      if (event.data.type === \"CHAT_LC_READY\") setPanelReady();\n      if (event.data.type === \"CHAT_LC_PROMPT_SENT\") markThreadStarted();\n      if (event.data.type === \"CHAT_LC_THREAD_ID\") {\n        updateOpenLink(event.data.threadId ?? null);\n        if (event.data.threadId) markThreadStarted();\n      }\n      if (event.data.type === \"CHAT_LC_HISTORY_VIEW\" \u0026\u0026 typeof event.data.open === \"boolean\") {\n        setHistoryPanelOpen(event.data.open);\n      }\n      if (event.data.type === \"CHAT_LC_HAS_SAVED_THREADS\" \u0026\u0026 typeof event.data.has === \"boolean\") {\n        setSavedThreadsIndicator(event.data.has);\n      }\n    });\n    resizeHandle.addEventListener(\"mousedown\", function(e) {\n      if (window.innerWidth \u003c= MOBILE_BREAKPOINT) return;\n      isDragging = true;\n      dragStartX = e.clientX;\n      dragStartWidth = currentPanelWidth;\n      resizeHandle.classList.add(\"lc-dragging\");\n      document.body.style.cursor = \"ew-resize\";\n      document.body.style.userSelect = \"none\";\n      if (iframe) iframe.style.pointerEvents = \"none\";\n      e.preventDefault();\n    });\n    document.addEventListener(\"mousemove\", function(e) {\n      if (!isDragging) return;\n      updatePanelWidth(dragStartWidth + (dragStartX - e.clientX));\n    });\n    document.addEventListener(\"mouseup\", function() {\n      if (!isDragging) return;\n      isDragging = false;\n      resizeHandle.classList.remove(\"lc-dragging\");\n      document.body.style.cursor = \"\";\n      document.body.style.userSelect = \"\";\n      if (iframe) iframe.style.pointerEvents = \"\";\n    });\n    var themeObserver = new MutationObserver(syncTheme);\n    themeObserver.observe(document.documentElement, {\n      attributes: true,\n      attributeFilter: [\"class\", \"data-theme\", \"style\"]\n    });\n    syncTheme();\n    updateLayout();\n    return null;\n  }\n  ChatLangChainEmbed({});\n})();\n"])</script><script>self.__next_f.push([1,"3f:[\"$\",\"$L4f\",null,{\"customJsDisabled\":false,\"jsFiles\":[{\"_id\":\"6938e4ee6ff4dc51e1026e37\",\"subdomain\":\"langchain-5e9cc07a\",\"filePath\":\"language-toggle.js\",\"__v\":0,\"content\":\"$50\"},{\"_id\":\"69c881f67ba705a281634d8b\",\"subdomain\":\"langchain-5e9cc07a\",\"filePath\":\"ChatLangChainEmbed.js\",\"__v\":0,\"content\":\"$51\"}]}]\n54:T1e1e,"])</script><script>self.__next_f.push([1,"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n  const _components = {\n    code: \"code\",\n    p: \"p\",\n    ..._provideComponents(),\n    ...props.components\n  }, {Card, CardGroup} = _components;\n  if (!Card) _missingMdxReference(\"Card\", true);\n  if (!CardGroup) _missingMdxReference(\"CardGroup\", true);\n  return _jsx(\"div\", {\n    class: \"home-page mx-auto max-w-8xl px-0 lg:px-5\",\n    style: {\n      paddingBottom: \"8rem\"\n    },\n    children: _jsxs(\"div\", {\n      class: \"mdx-content prose prose-gray dark:prose-invert mx-4 pt-10\",\n      children: [_jsx(\"h1\", {\n        class: \"flex whitespace-pre-wrap group font-semibold text-2xl sm:text-3xl mt-8\",\n        children: \"The platform for agent engineering\"\n      }), _jsxs(_components.p, {\n        children: [\"One platform to improve every step of the agent development lifecycle, so you can ship reliable agents faster.\\n\", _jsx(\"h2\", {\n          class: \"flex whitespace-pre-wrap group font-semibold\",\n          children: \"Get started\"\n        })]\n      }), _jsxs(CardGroup, {\n        cols: 3,\n        children: [_jsx(Card, {\n          title: \"Build\",\n          icon: \"hammer\",\n          href: \"/build-overview\",\n          cta: \"Get started\",\n          children: _jsx(_components.p, {\n            children: \"Build agents with code using LangChain, LangGraph, and Deep Agents.\"\n          })\n        }), _jsx(Card, {\n          title: \"Test\",\n          icon: \"flask\",\n          href: \"/langsmith/test-overview\",\n          cta: \"Get started\",\n          children: _jsx(_components.p, {\n            children: \"Evaluate agents with datasets, evaluations, and prompt engineering.\"\n          })\n        }), _jsx(Card, {\n          title: \"Deploy\",\n          icon: \"rocket\",\n          href: \"/langsmith/deployment\",\n          cta: \"Get started\",\n          children: _jsx(_components.p, {\n            children: \"Deploy and serve agents at scale.\"\n          })\n        }), _jsx(Card, {\n          title: \"Monitor\",\n          icon: \"chart-line\",\n          href: \"/langsmith/observability\",\n          cta: \"Get started\",\n          children: _jsx(_components.p, {\n            children: \"Trace, debug, and observe agents in production.\"\n          })\n        }), _jsx(Card, {\n          title: \"Govern\",\n          icon: \"shield-check\",\n          href: \"/langsmith/govern-overview\",\n          cta: \"Get started\",\n          children: _jsx(_components.p, {\n            children: \"Administer access, settings, and LLM Gateway.\"\n          })\n        }), _jsx(Card, {\n          title: \"No-code agents\",\n          icon: \"wand\",\n          href: \"/langsmith/fleet\",\n          cta: \"Get started\",\n          children: _jsx(_components.p, {\n            children: \"Build and run agents without code using LangSmith Fleet.\"\n          })\n        })]\n      }), _jsxs(CardGroup, {\n        cols: 2,\n        children: [_jsx(Card, {\n          title: \"Find and fix issues with Engine\",\n          icon: \"https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=dd41aef3ce789c1a04ea3c37b5903eac\",\n          href: \"/langsmith/engine-overview\",\n          arrow: \"true\",\n          \"data-og-width\": \"63\",\n          width: \"63\",\n          \"data-og-height\": \"63\",\n          height: \"63\",\n          \"data-path\": \"images/brand/engine-icon-no-bg-dark.svg\",\n          \"data-optimize\": \"true\",\n          \"data-opv\": \"3\",\n          srcset: \"https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?w=280\u0026fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=94498fa54cabade50f7eb56ba767ddde 280w, https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?w=560\u0026fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=b15087032633a356209b7d4c19893ff7 560w, https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?w=840\u0026fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=e0120c1c22e7f2706b0f2a0cc2cfd4a9 840w, https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=640c237258204c8864aec2a2331e027c 1100w, https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=390bb0a9842563a00f6e058326e61aa0 1650w, https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=7f6575481f0f0a6ac25998fc2d5b6dc7 2500w\",\n          children: _jsx(_components.p, {\n            children: \"Find and fix recurring agent issues automatically with LangSmith Engine.\"\n          })\n        }), _jsx(Card, {\n          title: \"Deep Agents Code\",\n          icon: \"code\",\n          href: \"/oss/python/deepagents/code/overview\",\n          cta: \"Get started\",\n          children: _jsxs(_components.p, {\n            children: [\"Code with an AI agent in your terminal using the open source \", _jsx(_components.code, {\n              children: \"dcode\"\n            }), \" CLI.\"]\n          })\n        })]\n      }), _jsx(\"h2\", {\n        class: \"flex whitespace-pre-wrap group font-semibold\",\n        children: \"Resources\"\n      }), _jsxs(CardGroup, {\n        cols: 3,\n        children: [_jsx(Card, {\n          title: \"LangChain Academy\",\n          icon: \"school\",\n          href: \"https://academy.langchain.com/\",\n          cta: \"Enroll\",\n          children: _jsx(_components.p, {\n            children: \"Take free courses on building with LangChain and LangGraph.\"\n          })\n        }), _jsx(Card, {\n          title: \"Community forum\",\n          icon: \"messages\",\n          href: \"https://forum.langchain.com/\",\n          cta: \"Join\",\n          children: _jsx(_components.p, {\n            children: \"Ask questions, share solutions, and discuss best practices.\"\n          })\n        }), _jsx(Card, {\n          title: \"Support portal\",\n          icon: \"message-circle-question\",\n          href: \"https://support.langchain.com/\",\n          cta: \"Visit\",\n          children: _jsx(_components.p, {\n            children: \"Submit tickets and track support requests.\"\n          })\n        }), _jsx(Card, {\n          title: \"Sign up for LangSmith\",\n          icon: \"tools\",\n          href: \"https://smith.langchain.com/\",\n          cta: \"Sign up\",\n          children: _jsx(_components.p, {\n            children: \"Start with LangSmith for free.\"\n          })\n        }), _jsx(Card, {\n          title: \"LangSmith status\",\n          icon: \"activity-heartbeat\",\n          href: \"https://status.smith.langchain.com/\",\n          cta: \"View\",\n          children: _jsx(_components.p, {\n            children: \"Real-time status of LangSmith services and APIs.\"\n          })\n        }), _jsx(Card, {\n          title: \"Trust Center\",\n          icon: \"shield-lock\",\n          href: \"https://trust.langchain.com/\",\n          cta: \"View\",\n          children: _jsx(_components.p, {\n            children: \"HIPAA, SOC 2 Type 2, and GDPR compliance details.\"\n          })\n        })]\n      })]\n    })\n  });\n}\nfunction MDXContent(props = {}) {\n  const {wrapper: MDXLayout} = {\n    ..._provideComponents(),\n    ...props.components\n  };\n  return MDXLayout ? _jsx(MDXLayout, {\n    ...props,\n    children: _jsx(_createMdxContent, {\n      ...props\n    })\n  }) : _createMdxContent(props);\n}\nreturn {\n  default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n  throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n"])</script><script>self.__next_f.push([1,"55:T1e1e,"])</script><script>self.__next_f.push([1,"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n  const _components = {\n    code: \"code\",\n    p: \"p\",\n    ..._provideComponents(),\n    ...props.components\n  }, {Card, CardGroup} = _components;\n  if (!Card) _missingMdxReference(\"Card\", true);\n  if (!CardGroup) _missingMdxReference(\"CardGroup\", true);\n  return _jsx(\"div\", {\n    class: \"home-page mx-auto max-w-8xl px-0 lg:px-5\",\n    style: {\n      paddingBottom: \"8rem\"\n    },\n    children: _jsxs(\"div\", {\n      class: \"mdx-content prose prose-gray dark:prose-invert mx-4 pt-10\",\n      children: [_jsx(\"h1\", {\n        class: \"flex whitespace-pre-wrap group font-semibold text-2xl sm:text-3xl mt-8\",\n        children: \"The platform for agent engineering\"\n      }), _jsxs(_components.p, {\n        children: [\"One platform to improve every step of the agent development lifecycle, so you can ship reliable agents faster.\\n\", _jsx(\"h2\", {\n          class: \"flex whitespace-pre-wrap group font-semibold\",\n          children: \"Get started\"\n        })]\n      }), _jsxs(CardGroup, {\n        cols: 3,\n        children: [_jsx(Card, {\n          title: \"Build\",\n          icon: \"hammer\",\n          href: \"/build-overview\",\n          cta: \"Get started\",\n          children: _jsx(_components.p, {\n            children: \"Build agents with code using LangChain, LangGraph, and Deep Agents.\"\n          })\n        }), _jsx(Card, {\n          title: \"Test\",\n          icon: \"flask\",\n          href: \"/langsmith/test-overview\",\n          cta: \"Get started\",\n          children: _jsx(_components.p, {\n            children: \"Evaluate agents with datasets, evaluations, and prompt engineering.\"\n          })\n        }), _jsx(Card, {\n          title: \"Deploy\",\n          icon: \"rocket\",\n          href: \"/langsmith/deployment\",\n          cta: \"Get started\",\n          children: _jsx(_components.p, {\n            children: \"Deploy and serve agents at scale.\"\n          })\n        }), _jsx(Card, {\n          title: \"Monitor\",\n          icon: \"chart-line\",\n          href: \"/langsmith/observability\",\n          cta: \"Get started\",\n          children: _jsx(_components.p, {\n            children: \"Trace, debug, and observe agents in production.\"\n          })\n        }), _jsx(Card, {\n          title: \"Govern\",\n          icon: \"shield-check\",\n          href: \"/langsmith/govern-overview\",\n          cta: \"Get started\",\n          children: _jsx(_components.p, {\n            children: \"Administer access, settings, and LLM Gateway.\"\n          })\n        }), _jsx(Card, {\n          title: \"No-code agents\",\n          icon: \"wand\",\n          href: \"/langsmith/fleet\",\n          cta: \"Get started\",\n          children: _jsx(_components.p, {\n            children: \"Build and run agents without code using LangSmith Fleet.\"\n          })\n        })]\n      }), _jsxs(CardGroup, {\n        cols: 2,\n        children: [_jsx(Card, {\n          title: \"Find and fix issues with Engine\",\n          icon: \"https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=dd41aef3ce789c1a04ea3c37b5903eac\",\n          href: \"/langsmith/engine-overview\",\n          arrow: \"true\",\n          \"data-og-width\": \"63\",\n          width: \"63\",\n          \"data-og-height\": \"63\",\n          height: \"63\",\n          \"data-path\": \"images/brand/engine-icon-no-bg-dark.svg\",\n          \"data-optimize\": \"true\",\n          \"data-opv\": \"3\",\n          srcset: \"https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?w=280\u0026fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=94498fa54cabade50f7eb56ba767ddde 280w, https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?w=560\u0026fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=b15087032633a356209b7d4c19893ff7 560w, https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?w=840\u0026fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=e0120c1c22e7f2706b0f2a0cc2cfd4a9 840w, https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=640c237258204c8864aec2a2331e027c 1100w, https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=390bb0a9842563a00f6e058326e61aa0 1650w, https://mintcdn.com/langchain-5e9cc07a/auWE6_dMRp183OCf/images/brand/engine-icon-no-bg-dark.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=auWE6_dMRp183OCf\u0026q=85\u0026s=7f6575481f0f0a6ac25998fc2d5b6dc7 2500w\",\n          children: _jsx(_components.p, {\n            children: \"Find and fix recurring agent issues automatically with LangSmith Engine.\"\n          })\n        }), _jsx(Card, {\n          title: \"Deep Agents Code\",\n          icon: \"code\",\n          href: \"/oss/python/deepagents/code/overview\",\n          cta: \"Get started\",\n          children: _jsxs(_components.p, {\n            children: [\"Code with an AI agent in your terminal using the open source \", _jsx(_components.code, {\n              children: \"dcode\"\n            }), \" CLI.\"]\n          })\n        })]\n      }), _jsx(\"h2\", {\n        class: \"flex whitespace-pre-wrap group font-semibold\",\n        children: \"Resources\"\n      }), _jsxs(CardGroup, {\n        cols: 3,\n        children: [_jsx(Card, {\n          title: \"LangChain Academy\",\n          icon: \"school\",\n          href: \"https://academy.langchain.com/\",\n          cta: \"Enroll\",\n          children: _jsx(_components.p, {\n            children: \"Take free courses on building with LangChain and LangGraph.\"\n          })\n        }), _jsx(Card, {\n          title: \"Community forum\",\n          icon: \"messages\",\n          href: \"https://forum.langchain.com/\",\n          cta: \"Join\",\n          children: _jsx(_components.p, {\n            children: \"Ask questions, share solutions, and discuss best practices.\"\n          })\n        }), _jsx(Card, {\n          title: \"Support portal\",\n          icon: \"message-circle-question\",\n          href: \"https://support.langchain.com/\",\n          cta: \"Visit\",\n          children: _jsx(_components.p, {\n            children: \"Submit tickets and track support requests.\"\n          })\n        }), _jsx(Card, {\n          title: \"Sign up for LangSmith\",\n          icon: \"tools\",\n          href: \"https://smith.langchain.com/\",\n          cta: \"Sign up\",\n          children: _jsx(_components.p, {\n            children: \"Start with LangSmith for free.\"\n          })\n        }), _jsx(Card, {\n          title: \"LangSmith status\",\n          icon: \"activity-heartbeat\",\n          href: \"https://status.smith.langchain.com/\",\n          cta: \"View\",\n          children: _jsx(_components.p, {\n            children: \"Real-time status of LangSmith services and APIs.\"\n          })\n        }), _jsx(Card, {\n          title: \"Trust Center\",\n          icon: \"shield-lock\",\n          href: \"https://trust.langchain.com/\",\n          cta: \"View\",\n          children: _jsx(_components.p, {\n            children: \"HIPAA, SOC 2 Type 2, and GDPR compliance details.\"\n          })\n        })]\n      })]\n    })\n  });\n}\nfunction MDXContent(props = {}) {\n  const {wrapper: MDXLayout} = {\n    ..._provideComponents(),\n    ...props.components\n  };\n  return MDXLayout ? _jsx(MDXLayout, {\n    ...props,\n    children: _jsx(_createMdxContent, {\n      ...props\n    })\n  }) : _createMdxContent(props);\n}\nreturn {\n  default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n  throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n"])</script><script>self.__next_f.push([1,"40:[\"$\",\"$L52\",null,{\"slug\":\"/\",\"pageMetadata\":\"$17:props:pageMetadata\",\"theme\":\"aspen\",\"children\":[\"$\",\"$L53\",null,{\"mdxSource\":{\"compiledSource\":\"$54\",\"frontmatter\":{},\"scope\":{\"codeStyling\":{\"theme\":{\"light\":\"catppuccin-latte\",\"dark\":\"catppuccin-mocha\"}},\"config\":{},\"pageMetadata\":{\"sidebarTitle\":\"Home\",\"mode\":\"custom\",\"href\":\"/index\"}}},\"mdxSourceWithNoJs\":{\"compiledSource\":\"$55\",\"frontmatter\":{},\"scope\":{\"codeStyling\":{\"theme\":{\"light\":\"catppuccin-latte\",\"dark\":\"catppuccin-mocha\"}},\"config\":{},\"pageMetadata\":{\"sidebarTitle\":\"Home\",\"mode\":\"custom\",\"href\":\"/index\"}}},\"displayDomain\":\"docs.langchain.com\"}]}]\n"])</script><script>self.__next_f.push([1,"56:I[604780,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"CaptchaProvider\"]\n"])</script><script>self.__next_f.push([1,"57:I[601054,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"SearchProvider\",1]\n"])</script><script>self.__next_f.push([1,"58:I[28330,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"SkipToContent\",1]\n"])</script><script>self.__next_f.push([1,"59:I[87732,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"AssistantLayoutWrapper\",1]\n"])</script><script>self.__next_f.push([1,"5a:I[118717,[\"/mintlify-assets/_next/static/chunks/98184e2c6aa40e44.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ff73f39f081c1b95.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bbb8cb0debad8234.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/900aba840ccacc4e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5bd41f5158177e30.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/6d868fca69648bc2.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/937ab3bfb9adab6e.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/9f1fac9429874bfb.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/5b7172de0362e076.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1be55c8050d8871c.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d44defd5d0db8d9d.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/94211778aaa277c7.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/01f4b20cb37151b1.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d9cfd8d5b57fb24a.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/d58d9ccd7a740fb3.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/f973078c5ec88e14.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/bcc644dde46f0abd.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/ed6a129439d553b4.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/8b7a6316c3557781.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/a4b8b017fa20eeab.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\",\"/mintlify-assets/_next/static/chunks/1dd5e6c759bf878b.js?dpl=dpl_7XJVrS6XwhvnXLKutpbpJWypuPG9\"],\"NotFoundHydrator\",1]\n"])</script><script>self.__next_f.push([1,"4e:[\"$\",\"$L56\",null,{\"enabled\":false,\"isPreview\":false,\"children\":[\"$\",\"$L57\",null,{\"subdomain\":\"langchain-5e9cc07a\",\"hasChatPermissions\":false,\"isLoggedInCli\":false,\"assistantConfig\":{\"enableAskAiButton\":false,\"enableAskAiSearchBar\":true,\"deflection\":{\"enabled\":false,\"email\":\"support@langchain.dev\"}},\"starterQuestions\":\"$undefined\",\"children\":[[\"$\",\"$L58\",null,{}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function g(a,b,c,d){try{if(window.matchMedia(\\\"(max-width: 1024px)\\\").matches||!d){document.documentElement.style.setProperty(c,\\\"0px\\\"),document.documentElement.setAttribute(\\\"data-assistant-state\\\",\\\"closed\\\"),d||localStorage.setItem(a,\\\"false\\\");return}let e=localStorage.getItem(a);if(null===e){document.documentElement.style.setProperty(c,\\\"0px\\\"),document.documentElement.setAttribute(\\\"data-assistant-state\\\",\\\"closed\\\");return}let f=JSON.parse(e),g=localStorage.getItem(b),h=null!==g?JSON.parse(g):368;document.documentElement.style.setProperty(c,f?h+\\\"px\\\":\\\"0px\\\"),document.documentElement.setAttribute(\\\"data-assistant-state\\\",f?\\\"open\\\":\\\"closed\\\")}catch(a){document.documentElement.style.setProperty(c,\\\"0px\\\"),document.documentElement.setAttribute(\\\"data-assistant-state\\\",\\\"closed\\\")}})(\\n    \\\"chat-assistant-sheet-open\\\",\\n    \\\"chat-assistant-sheet-width\\\",\\n    \\\"--assistant-sheet-width\\\",\\n    false\\n  )\"}}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"html{--assistant-sheet-width:0px!important}\"}}],[\"$\",\"$L59\",null,{\"children\":[[\"$\",\"$Lc\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$Le\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L5a\",null,{\"source\":\"multitenant\"}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],\"$undefined\"]}]]}]}]\n"])</script></body></html>