<!DOCTYPE html><html lang="en" class="inter_1d81deff-module__CYM0aG__variable jetbrains_mono_e9ee6d28-module__lbFCHq__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/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=ccbc183bca2a5e4ca78d30149e3836cc"/><link rel="preload" as="image" href="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=4918f932fff73a33d6a24e2fcf68f6a4"/><link rel="preload" as="image" href="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=eaa7ac978bebe5a7cd84d8eeaaef84c2"/><link rel="preload" as="image" href="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=024e3712d388bfa55f4f160cc9d6a85b"/><link rel="preload" as="image" href="https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?fit=max&amp;auto=format&amp;n=_jaNDz0QENsVkDXY&amp;q=85&amp;s=98e3bbb4ae01325a8ff867e80681778f"/><link rel="preload" as="image" href="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=1cc68f66a9e7550331cc0875f1ba53af"/><link rel="preload" as="image" href="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=663b30f85baf99ad708b97e05da2a5a4"/><link rel="preload" as="image" href="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=b997e1a7487d507a36556eedbfd99f81"/><link rel="stylesheet" href="/mintlify-assets/_next/static/chunks/9ffc684b9a12d113.css?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" data-precedence="next"/><link rel="stylesheet" href="/mintlify-assets/_next/static/chunks/b652b64e1051c665.css?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" data-precedence="next"/><link rel="stylesheet" href="/mintlify-assets/_next/static/chunks/d260340e1c30c06e.css?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/mintlify-assets/_next/static/chunks/ac0991e1ed3da4fb.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA"/><script src="/mintlify-assets/_next/static/chunks/cae723b407113d75.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/9a650558ae537a44.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/f486afc314643ce1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/384b44027aeb306c.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/turbopack-a9f90b4616394e31.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/22bd90086d67b03b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/d6c64f3c281aaf60.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/5943ad6f77271318.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/41d00935d8e95e9b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/abdf87c41ecc6f4b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/2adbcb4fb4781173.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><script src="/mintlify-assets/_next/static/chunks/a1a872c886e0f85a.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" async=""></script><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"/><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="charset" content="utf-8"/><meta name="og:site_name" content="Docs by LangChain"/><meta name="canonical" content="https://docs.langchain.com"/><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"/><meta property="og:title" content="Home - Docs by LangChain"/><meta property="og:url" content="https://docs.langchain.com"/><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%26darkColor%3D%2523006DDD%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%26darkColor%3D%2523006DDD%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)"/><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(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_J3jZeLg2uNQRsEocBbwjJLxTDqJA" noModule=""></script></head><body><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><style>:root{--banner-height:0px!important}</style><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  {},\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,d){var e;let f,g=\"mint\"===d||\"linden\"===d?\"sidebar\":\"sidebar-content\",h=(e=d,f=\"navbar-transition\",\"maple\"===e\u0026\u0026(f+=\"-maple\"),f),[i,j]=(()=\u003e{switch(d){case\"almond\":return[\"[--scroll-mt:2.5rem]\",\"[--scroll-mt:2.5rem]\"];case\"luma\":return[\"lg:[--scroll-mt:6rem]\",\"lg:[--scroll-mt:6rem]\"];case\"sequoia\":return[\"lg:[--scroll-mt:8.5rem]\",\"lg:[--scroll-mt:11rem]\"];default:return[\"lg:[--scroll-mt:9.5rem]\",\"lg:[--scroll-mt:12rem]\"]}})();function k(){document.documentElement.classList.add(i)}let l=document.documentElement.getAttribute(\"data-banner-state\"),m=null!=l?\"visible\"===l:b;function n(a){let b=m?`calc(${a-2.5}rem + var(--banner-height, 2.5rem))`:`${a}rem`;document.getElementById(g)?.style.setProperty(\"top\",b)}function o(a){let b=m?`calc(100vh - ${a-2.5}rem - var(--banner-height, 2.5rem))`:`calc(100vh - ${a}rem)`;document.getElementById(g)?.style.setProperty(\"height\",b)}function p(a,b){!a\u0026\u0026b||a\u0026\u0026!b?(k(),document.documentElement.classList.remove(j)):a\u0026\u0026b\u0026\u0026(document.documentElement.classList.add(j),document.documentElement.classList.remove(i))}switch(d){case\"mint\":n(c),p(a,m);break;case\"palm\":case\"aspen\":case\"sequoia\":n(c),o(c),p(a,m);break;case\"luma\":k();break;case\"linden\":n(c),m\u0026\u0026k();break;case\"almond\":k(),n(c),o(c)}let q=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(h)?.setAttribute(\"data-is-opaque\",`${!!a}`),q()})})(\n  false,\n  false,\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, false, \"aspen\"),\n  \"aspen\",\n)","id":"_mintlify-scroll-top-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 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_1im9bsnlht5debsnpfdb_" 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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/home.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/home.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg><span class="truncate max-w-[12.5rem]" title="Home">Home</span><svg width="8" height="24" viewBox="0 -9 3 24" aria-hidden="true" focusable="false" class="transition-transform text-gray-400 overflow-visible group-hover:text-gray-600 dark:text-gray-600 dark:group-hover:text-gray-400 rotate-90 group-aria-[expanded=true]/trigger:rotate-[270deg] ml-auto"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search 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" aria-hidden="true" focusable="false"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/message.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/message.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg>Ask AI</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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/brand-github.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/brand-github.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg>GitHub</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/">Try LangSmith</a></li><li class="whitespace-nowrap hidden lg:flex" id="topbar-cta-button"><a target="_blank" class="group px-4 py-1.5 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="mr-0.5 space-x-2.5 flex items-center"><span class="z-10 text-white">Try LangSmith</span><svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="h-5 rotate-0 overflow-visible text-white/90"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></div></a></li></ul></nav></div><button class="group p-2 flex items-center justify-center w-[30px] h-[30px] rounded-full bg-gray-800/[0.04] dark:bg-white/10" aria-label="Toggle dark mode" data-component-name="theme-toggle"><svg aria-hidden="true" focusable="false" width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" xmlns="http://www.w3.org/2000/svg" class="size-4 block dark:hidden text-gray-600 group-hover:text-gray-800"><g clip-path="url(#clip0_2880_7340)"><path d="M8 1.11133V2.00022" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12.8711 3.12891L12.2427 3.75735" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M14.8889 8H14" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M12.8711 12.8711L12.2427 12.2427" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M8 14.8889V14" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3.12891 12.8711L3.75735 12.2427" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M1.11133 8H2.00022" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M3.12891 3.12891L3.75735 3.75735" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path><path d="M8.00043 11.7782C10.0868 11.7782 11.7782 10.0868 11.7782 8.00043C11.7782 5.91402 10.0868 4.22266 8.00043 4.22266C5.91402 4.22266 4.22266 5.91402 4.22266 8.00043C4.22266 10.0868 5.91402 11.7782 8.00043 11.7782Z" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></g><defs><clipPath id="clip0_2880_7340"><rect width="16" height="16" fill="white"></rect></clipPath></defs></svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-moon size-4 hidden dark:block text-gray-300 dark:group-hover:text-gray-100" aria-hidden="true" focusable="false"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg></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(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/magnifying-glass.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/magnifying-glass.svg);mask-repeat:no-repeat;mask-position:center"></svg></button><button aria-label="More actions" class="h-7 w-5 flex items-center justify-end"><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(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/ellipsis-vertical.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/fontawesome/v7.2.0/solid/ellipsis-vertical.svg);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 aria-hidden="true" focusable="false" class="h-4" fill="currentColor" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"></path></svg></div></button></div></div><span hidden="" style="position:fixed;top:1px;left:1px;width:1px;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none"></span></header><div id="body-content" class="scroll-mt-[var(--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 + 0px);height:calc(100vh - 3.5rem - 0px)"><div class="flex-1 pr-5 pt-5 pb-4 overflow-y-auto stable-scrollbar-gutter" id="navigation-items"><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></nav><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=(e?a-2.5:a)*16+m;if(!j||\"center\"===f)return;let o=j.getBoundingClientRect().top,p=window.innerHeight-o,q=(h?.clientHeight??0)+n+32*(\"mint\"===b||\"linden\"===b);if(i\u0026\u0026h)if(p\u003e0){let a=Math.max(0,q-o);i.style.bottom=`${p}px`,i.style.top=`${n-a}px`}else i.style.bottom=\"\",i.style.top=e?`calc(${a-2.5}rem + var(--banner-height, 2.5rem))`:`${a}rem`,i.style.height=\"auto\";k\u0026\u0026g\u0026\u0026(p\u003e0?k.style.top=\"custom\"===f?`${g.clientHeight-p}px`:`${40+g.clientHeight-p}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, false, \"aspen\"),\n  \"aspen\",\n  false,\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);
}

/* 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;
}

/* 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;
}
</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"><blockquote class="sr-only" data-agent-docs-index="true"><h2>Documentation Index</h2><p>Fetch the complete documentation index at: <a href="https://docs.langchain.com/llms.txt">https://docs.langchain.com/llms.txt</a></p><p>Use this file to discover all available pages before exploring further.</p></blockquote><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">Documentation</h1><span data-as="p">LangChain is the platform for agent engineering. AI teams at Clay, Rippling, Cloudflare, Workday, and more trust LangChain’s products to engineer reliable agents.</span><h2 class="flex whitespace-pre-wrap group font-semibold">LangSmith</h2><span data-as="p"><a class="link" href="/langsmith/home"><strong>LangSmith</strong></a> is a platform that helps AI teams use live production data for continuous testing and improvement. LangSmith provides:</span><div class="columns prose dark:prose-invert grid max-w-none gap-4 sm:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @2xl/columns-container:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @[0px]/columns-container:grid-cols-1 columns card-group dark:prose-dark gap-y-0" 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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=ccbc183bca2a5e4ca78d30149e3836cc" alt="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=ccbc183bca2a5e4ca78d30149e3836cc" class="size-6 !m-0 shrink-0 bg-transparent dark:bg-transparent"/></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Observability</h2><div 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">See exactly how your agent thinks and acts with detailed tracing and aggregate trend metrics.</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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/engine.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/engine.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Engine</h2><div 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">Automatically detect and resolve recurring issues in your tracing projects.</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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=4918f932fff73a33d6a24e2fcf68f6a4" alt="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=4918f932fff73a33d6a24e2fcf68f6a4" class="size-6 !m-0 shrink-0 bg-transparent dark:bg-transparent"/></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Evaluation</h2><div 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">Test and score agent behavior on production data or offline datasets to continuously improve performance.</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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=eaa7ac978bebe5a7cd84d8eeaaef84c2" alt="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=eaa7ac978bebe5a7cd84d8eeaaef84c2" class="size-6 !m-0 shrink-0 bg-transparent dark:bg-transparent"/></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Prompt Engineering</h2><div 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">Iterate on prompts with version control, prompt optimization, and collaboration features.</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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=024e3712d388bfa55f4f160cc9d6a85b" alt="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=024e3712d388bfa55f4f160cc9d6a85b" class="size-6 !m-0 shrink-0 bg-transparent dark:bg-transparent"/></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Deployment</h2><div 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">Ship your agent in one click, using scalable infrastructure built for long-running tasks.</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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/route.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/route.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">LLM Gateway (Private beta)</h2><div 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">Proxy LLM calls to enforce spend limits, redact sensitive data, and centrally manage provider credentials.</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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button></div></div></div></div></div><div class="callout my-4 px-5 py-4 overflow-hidden rounded-2xl flex gap-3 border bg-transparent dark:border-[var(--callout-border-color,#71717a4d)] dark:bg-[var(--callout-bg-color,#7171711a)]" style="border-color:#4F46E533;background-color:#4F46E51a;--callout-border-color:#4F46E566;--callout-bg-color:#4F46E54d;--callout-text-color:#191283;--dark-callout-text-color:#CCC9F7" data-callout-type="callout"><div class="mt-0.5 w-4" data-component-part="callout-icon"><svg class="size-4 !m-0 shrink-0" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/shield-lock.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/shield-lock.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%;background-color:#4F46E5"></svg></div><div class="text-sm prose dark:prose-invert min-w-0 w-full [&amp;_kbd]:bg-background-light dark:[&amp;_kbd]:bg-background-dark [&amp;_code]:!text-current [&amp;_kbd]:!text-current [&amp;_a]:!text-current [&amp;_a]:border-current [&amp;_strong]:!text-current text-[var(--callout-text-color)] dark:text-[var(--dark-callout-text-color)]" style="--callout-text-color:#191283;--dark-callout-text-color:#CCC9F7" data-component-part="callout-content"><span data-as="p">LangSmith meets the highest standards of data security and privacy with HIPAA, SOC 2 Type 2, and GDPR compliance. <a href="https://www.langchain.com/contact-sales" target="_blank" rel="noreferrer" class="link">Meet with our team</a> to learn more or visit our <a href="https://trust.langchain.com/" target="_blank" rel="noreferrer" class="link">Trust Center</a>.</span></div></div><h2 class="flex whitespace-pre-wrap group font-semibold">LangSmith Fleet</h2><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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?fit=max&amp;auto=format&amp;n=_jaNDz0QENsVkDXY&amp;q=85&amp;s=98e3bbb4ae01325a8ff867e80681778f" alt="https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?fit=max&amp;auto=format&amp;n=_jaNDz0QENsVkDXY&amp;q=85&amp;s=98e3bbb4ae01325a8ff867e80681778f" class="size-6 !m-0 shrink-0 bg-transparent dark:bg-transparent"/></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Fleet</h2><div 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">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.</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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button></div></div></div></div><h2 class="flex whitespace-pre-wrap group font-semibold">Open source agent frameworks</h2><div class="tabs tabs tab-container" id="python"><ul role="tablist" class="not-prose mb-6 pb-[1px] flex-none min-w-full overflow-auto border-b border-gray-200 gap-x-6 flex dark:border-gray-200/10" data-component-part="tabs-list"><li id="python" role="tab" aria-selected="true" aria-controls="panel-python-0" tabindex="0" class="cursor-pointer"><div class="flex text-sm items-center gap-1.5 leading-6 font-semibold whitespace-nowrap pt-3 pb-2.5 -mb-px max-w-max border-b text-primary dark:text-primary-light border-current" data-component-part="tab-button" data-active="true" data-testid="tab-Python"><svg class="h-4 w-4 shrink-0 bg-primary dark:bg-primary-light tab-icon" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/brand-python.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/brand-python.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg> <!-- -->Python</div></li><li id="typescript" role="tab" aria-selected="false" aria-controls="panel-typescript-1" tabindex="-1" class="cursor-pointer"><div class="flex text-sm items-center gap-1.5 leading-6 font-semibold whitespace-nowrap pt-3 pb-2.5 -mb-px max-w-max border-b text-gray-900 border-transparent hover:border-gray-300 dark:text-gray-200 dark:hover:border-gray-700" data-component-part="tab-button" data-active="false" data-testid="tab-TypeScript"><svg class="h-4 w-4 shrink-0 bg-gray-900 dark:bg-gray-200 tab-icon" aria-hidden="true" focusable="false" style="-webkit-mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/brand-typescript.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/brand-typescript.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg> <!-- -->TypeScript</div></li></ul><div><div id="panel-python-0" role="tabpanel" aria-labelledby="python" class="prose dark:prose-invert overflow-x-auto [&amp;_[data-table-wrapper]]:![--page-padding:0px] [&amp;_[role=&quot;listitem&quot;]]:pl-4 [&amp;&gt;:first-child:not(p)]:mt-0 [&amp;&gt;:first-child:not(p)_img]:mt-0 [&amp;&gt;:first-child[data-table-wrapper]]:!pt-0" data-component-part="tab-content"><div class="columns prose dark:prose-invert grid max-w-none gap-4 sm:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @2xl/columns-container:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @[0px]/columns-container:grid-cols-1 columns card-group dark:prose-dark gap-y-0" 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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=1cc68f66a9e7550331cc0875f1ba53af" alt="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=1cc68f66a9e7550331cc0875f1ba53af" class="size-6 !m-0 shrink-0 bg-transparent dark:bg-transparent"/></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Deep Agents (Python)</h2><div 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">Quickly build agents that can tackle any task.</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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=663b30f85baf99ad708b97e05da2a5a4" alt="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=663b30f85baf99ad708b97e05da2a5a4" class="size-6 !m-0 shrink-0 bg-transparent dark:bg-transparent"/></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">LangChain (Python)</h2><div 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">Customize the building blocks of your 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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=b997e1a7487d507a36556eedbfd99f81" alt="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=b997e1a7487d507a36556eedbfd99f81" class="size-6 !m-0 shrink-0 bg-transparent dark:bg-transparent"/></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">LangGraph (Python)</h2><div 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">Control every step of your custom agent with low-level orchestration, memory, and human-in-the-loop support.</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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button></div></div></div></div></div></div><div id="panel-typescript-1" role="tabpanel" aria-labelledby="typescript" class="prose dark:prose-invert overflow-x-auto [&amp;_[data-table-wrapper]]:![--page-padding:0px] [&amp;_[role=&quot;listitem&quot;]]:pl-4 [&amp;&gt;:first-child:not(p)]:mt-0 [&amp;&gt;:first-child:not(p)_img]:mt-0 [&amp;&gt;:first-child[data-table-wrapper]]:!pt-0 hidden" data-component-part="tab-content"><div class="columns prose dark:prose-invert grid max-w-none gap-4 sm:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @2xl/columns-container:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @[0px]/columns-container:grid-cols-1 columns card-group dark:prose-dark gap-y-0" 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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=1cc68f66a9e7550331cc0875f1ba53af" alt="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=1cc68f66a9e7550331cc0875f1ba53af" class="size-6 !m-0 shrink-0 bg-transparent dark:bg-transparent"/></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Deep Agents (TypeScript)</h2><div 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">Quickly build agents that can tackle any task.</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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=663b30f85baf99ad708b97e05da2a5a4" alt="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=663b30f85baf99ad708b97e05da2a5a4" class="size-6 !m-0 shrink-0 bg-transparent dark:bg-transparent"/></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">LangChain (TypeScript)</h2><div 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">Customize the building blocks of your 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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=b997e1a7487d507a36556eedbfd99f81" alt="https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?fit=max&amp;auto=format&amp;n=nQm-sjd_MByLhgeW&amp;q=85&amp;s=b997e1a7487d507a36556eedbfd99f81" class="size-6 !m-0 shrink-0 bg-transparent dark:bg-transparent"/></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">LangGraph (TypeScript)</h2><div 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">Control every step of your custom agent with low-level orchestration, memory, and human-in-the-loop support.</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">Learn more<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button></div></div></div></div></div></div></div></div><h2 class="flex whitespace-pre-wrap group font-semibold">Get started</h2><div class="columns prose dark:prose-invert grid max-w-none gap-4 sm:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @2xl/columns-container:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @[0px]/columns-container:grid-cols-1 columns card-group dark:prose-dark gap-y-0" style="--cols:4"><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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/settings.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/settings.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Build your first agent with LangChain</h2><div class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"></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 aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/tools.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/tools.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 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 class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"></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">Try LangSmith<svg aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/robot.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/robot.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Build an advanced agent with LangGraph</h2><div class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"></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 aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/school.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/school.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Enroll in LangChain Academy</h2><div class="prose mt-1 font-normal text-base leading-6 text-gray-600 dark:text-gray-400" data-component-part="card-content"></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 aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg></button></div></div></div></div></div><h2 class="flex whitespace-pre-wrap group font-semibold">Additional resources</h2><div class="columns prose dark:prose-invert grid max-w-none gap-4 sm:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @2xl/columns-container:grid-cols-[repeat(var(--cols),minmax(0,1fr))] @[0px]/columns-container:grid-cols-1 columns card-group dark:prose-dark gap-y-0" style="--cols:4"><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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/messages.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/messages.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 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 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 aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/brand-slack.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/brand-slack.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 class="not-prose font-semibold text-base text-gray-800 dark:text-white mt-4" contentEditable="false" data-component-part="card-title">Community Slack</h2><div 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">Connect with other builders and get quick help.</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 aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/message-circle-question.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/message-circle-question.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 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 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 aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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" 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up-right size-4"><path d="M7 7h10v10"></path><path d="M7 17 17 7"></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(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/tools.svg);-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;mask-image:url(https://d3gk2c5xim1je2.cloudfront.net/tabler/v3.44.0/outline/tools.svg);mask-repeat:no-repeat;mask-position:center;mask-size:100%"></svg></div><div class="w-full"><h2 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 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 aria-hidden="true" focusable="false" width="3" height="24" viewBox="0 -9 3 24" class="rotate-0 overflow-visible h-6"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="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-background-light before:dark:bg-background-dark 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"><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-none focus:!outline-none 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="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-up text-white dark:text-white size-3.5"><path d="m5 12 7-7 7 7"></path><path d="M12 19V5"></path></svg></button></div></div></div></div></div></div></div><!--$--><!--/$--></div></div></div><script src="/mintlify-assets/_next/static/chunks/ac0991e1ed3da4fb.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[339756,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"3:I[556357,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/22bd90086d67b03b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/d6c64f3c281aaf60.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/5943ad6f77271318.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"f:I[168027,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"default\"]\n12:I[837457,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"13:I[894587,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"ThemeProvider\",1]\n"])</script><script>self.__next_f.push([1,"14:I[152823,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"ColorVariables\",1]\n"])</script><script>self.__next_f.push([1,"15:I[531961,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"FontScript\",1]\n"])</script><script>self.__next_f.push([1,"16:I[649328,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"RoundedVariables\",1]\n"])</script><script>self.__next_f.push([1,"17:I[702910,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/41d00935d8e95e9b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/d6c64f3c281aaf60.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/5943ad6f77271318.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"RecommendedPagesList\"]\n"])</script><script>self.__next_f.push([1,"18:I[570420,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"DataCurrentPathUpdater\"]\n"])</script><script>self.__next_f.push([1,"19:I[341175,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/abdf87c41ecc6f4b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/d6c64f3c281aaf60.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/5943ad6f77271318.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"1c:I[897367,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"OutletBoundary\"]\n1e:I[711533,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"AsyncMetadataOutlet\"]\n20:I[897367,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"ViewportBoundary\"]\n22:I[897367,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"MetadataBoundary\"]\n23:\"$Sreact.suspense\"\n:HL[\"/mintlify-assets/_next/static/chunks/9ffc684b9a12d113.css?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"style\"]\n:HL[\"/mintlify-assets/_next/static/chunks/b652b64e1051c665.css?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"style\"]\n:HL[\"/mintlify-assets/_next/static/chunks/d260340e1c30c06e.css?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"ogZj4hYfO7ZIPM6yuA7UU\",\"p\":\"/mintlify-assets\",\"c\":[\"\",\"\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"%5Fsites\",{\"children\":[[\"subdomain\",\"langchain-5e9cc07a\",\"d\"],{\"children\":[\"(multitenant)\",{\"children\":[[\"slug\",\"\",\"oc\"],{\"children\":[\"__PAGE__\",{}]}]}]}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/9ffc684b9a12d113.css?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/b652b64e1051c665.css?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"suppressHydrationWarning\":true,\"lang\":\"en\",\"className\":\"inter_1d81deff-module__CYM0aG__variable jetbrains_mono_e9ee6d28-module__lbFCHq__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(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]}],[\"$\",\"body\",null,{\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$3\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/22bd90086d67b03b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/d6c64f3c281aaf60.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/5943ad6f77271318.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-5\",{\"src\":\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-6\",{\"src\":\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],\"$L4\",\"$L5\"],\"template\":\"$L6\",\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$L7\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],\"$L8\"]}]]}]]}],{\"children\":[\"%5Fsites\",\"$L9\",{\"children\":[[\"subdomain\",\"langchain-5e9cc07a\",\"d\"],\"$La\",{\"children\":[\"(multitenant)\",\"$Lb\",{\"children\":[[\"slug\",\"\",\"oc\"],\"$Lc\",{\"children\":[\"__PAGE__\",\"$Ld\",{},null,false]},null,false]},null,false]},null,false]},null,false]},null,false],\"$Le\",false]],\"m\":\"$undefined\",\"G\":[\"$f\",[\"$L10\",\"$L11\"]],\"s\":false,\"S\":false}\n"])</script><script>self.__next_f.push([1,"4:[\"$\",\"script\",\"script-7\",{\"src\":\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}]\n5:[\"$\",\"script\",\"script-8\",{\"src\":\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}]\n6:[\"$\",\"$L12\",null,{}]\n"])</script><script>self.__next_f.push([1,"7:[[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"$L14\",null,{}],[\"$\",\"$L15\",null,{}],[\"$\",\"$L16\",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.\"}],[\"$\",\"$L17\",null,{}]]}]}]}]]}],[]]\n"])</script><script>self.__next_f.push([1,"8:[\"$\",\"$L18\",null,{}]\n9:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L12\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"a:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$19\",\"errorStyles\":[],\"errorScripts\":[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/abdf87c41ecc6f4b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/d6c64f3c281aaf60.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/5943ad6f77271318.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-5\",{\"src\":\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-6\",{\"src\":\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-7\",{\"src\":\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}],[\"$\",\"script\",\"script-8\",{\"src\":\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true}]],\"template\":[\"$\",\"$L12\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L13\",null,{\"children\":[[\"$\",\"$L14\",null,{}],[\"$\",\"$L15\",null,{}],[\"$\",\"$L16\",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.\"}],[\"$\",\"$L17\",null,{}]]}]}]}]]}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"b:[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/d260340e1c30c06e.css?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-5\",{\"src\":\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-6\",{\"src\":\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-7\",{\"src\":\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-8\",{\"src\":\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-9\",{\"src\":\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-10\",{\"src\":\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-11\",{\"src\":\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-12\",{\"src\":\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-13\",{\"src\":\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-14\",{\"src\":\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-15\",{\"src\":\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-16\",{\"src\":\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-17\",{\"src\":\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}]],\"$L1a\"]}]\n"])</script><script>self.__next_f.push([1,"c:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L12\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script><script>self.__next_f.push([1,"d:[\"$\",\"$1\",\"c\",{\"children\":[\"$L1b\",[[\"$\",\"script\",\"script-0\",{\"src\":\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-4\",{\"src\":\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L1c\",null,{\"children\":[\"$L1d\",[\"$\",\"$L1e\",null,{\"promise\":\"$@1f\"}]]}]]}]\n"])</script><script>self.__next_f.push([1,"e:[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L20\",null,{\"children\":\"$L21\"}],null],[\"$\",\"$L22\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$23\",null,{\"fallback\":null,\"children\":\"$L24\"}]}]}]]}]\n10:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/9ffc684b9a12d113.css?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n11:[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/mintlify-assets/_next/static/chunks/b652b64e1051c665.css?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n21:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1, viewport-fit=cover\"}]]\n1d:null\n"])</script><script>self.__next_f.push([1,"25:I[707934,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"WebMcpRegistration\"]\n"])</script><script>self.__next_f.push([1,"26:I[590280,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"LivePreviewProvider\",1]\n"])</script><script>self.__next_f.push([1,"27:I[479520,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"\"]\n"])</script><script>self.__next_f.push([1,"28:I[197336,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"29:I[91557,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"AuthProvider\",1]\n"])</script><script>self.__next_f.push([1,"2a:I[91557,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"DeploymentMetadataProvider\",1]\n"])</script><script>self.__next_f.push([1,"2b:I[91557,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"DocsConfigProvider\",1]\n"])</script><script>self.__next_f.push([1,"2c: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,"2d:T4cd,"])</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`, or\n`guard`. 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}`\n`timeout_seconds` (optional, 0.1–30) caps guard pipeline execution time; defaults to 2s.\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:** if a policy with the same\n`subject_matchers` already exists in this organization, the\nexisting policy is updated in place instead of a duplicate\nbeing created. `id` is preserved. Returns 201 either way."])</script><script>self.__next_f.push([1,"1a:[null,[\"$\",\"$L25\",null,{\"subdomain\":\"langchain-5e9cc07a\"}],[\"$\",\"$L26\",null,{\"isLivePreviewRoute\":false,\"children\":[\"$\",\"$L13\",null,{\"appearance\":{\"default\":\"system\",\"strict\":false},\"codeblockTheme\":{\"theme\":{\"light\":\"catppuccin-latte\",\"dark\":\"catppuccin-mocha\"}},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root{--banner-height:0px!important}\"}}],false,null,[\"$\",\"$L27\",null,{\"id\":\"_mintlify-banner-script\",\"strategy\":\"beforeInteractive\",\"dangerouslySetInnerHTML\":{\"__html\":\"(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  {},\\n  \\\"en\\\",\\n  [],\\n  \\\"data-banner-state\\\",\\n  \\\"bannerDismissed\\\",\\n)\"}}],[\"$\",\"$L28\",null,{\"appId\":\"$undefined\",\"autoBoot\":true,\"children\":[\"$\",\"$L29\",null,{\"value\":{\"auth\":\"$undefined\",\"userAuth\":\"$undefined\"},\"children\":[\"$\",\"$L2a\",null,{\"value\":{\"subdomain\":\"langchain-5e9cc07a\",\"actualSubdomain\":\"langchain-5e9cc07a\",\"gitSource\":{\"type\":\"github\",\"owner\":\"langchain-ai\",\"repo\":\"docs\",\"deployBranch\":\"prod\",\"contentDirectory\":\"build\",\"isPrivate\":false},\"inkeep\":\"$undefined\",\"chroma\":{\"liveDeploymentHistoryId\":\"6a1f86d635b0ad22ca4dc776\",\"collectionId\":\"cb5682d6-38c8-4d49-aacd-454a995bd0ae\",\"schemaVersion\":\"v1\"},\"feedback\":{\"thumbs\":true,\"edits\":false,\"issues\":false},\"entitlements\":{\"AI_CHAT\":{\"status\":\"ENABLED\"},\"REMOVE_BRANDING\":{\"status\":\"ENABLED\"},\"SEARCH_SHOW_FILTERS_DEFAULT\":{\"status\":\"ENABLED\"}},\"buildId\":\"6a1f928ab56f486861a46cd1:in_progress\",\"clientVersion\":\"0.0.2998\",\"preview\":\"$undefined\",\"searchFilterCounts\":[{\"language\":\"default\",\"tag\":\"Reference\",\"count\":677},{\"language\":\"default\",\"tag\":\"General\",\"count\":508},{\"language\":\"default\",\"tag\":\"LangSmith API\",\"count\":501},{\"language\":\"default\",\"tag\":\"TypeScript\",\"count\":194},{\"language\":\"default\",\"tag\":\"Python\",\"count\":187},{\"language\":\"default\",\"tag\":\"Administration\",\"count\":136},{\"language\":\"default\",\"tag\":\"LangSmith Deployment\",\"count\":130},{\"language\":\"default\",\"tag\":\"LangChain\",\"count\":115},{\"language\":\"default\",\"tag\":\"Integrations\",\"count\":108},{\"language\":\"default\",\"tag\":\"Observability\",\"count\":91}]},\"children\":[\"$\",\"$L2b\",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\":\"$1a: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/\"}},\"navigation\":{\"products\":[{\"product\":\"Home\",\"icon\":\"home\",\"pages\":[\"index\"]},{\"product\":\"LangSmith\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/observability-icon-dark.png\",\"description\":\"LLM observability, evaluation, and deployment\",\"tabs\":[{\"tab\":\"Get started\",\"pages\":[\"langsmith/home\",\"langsmith/create-account-api-key\",\"langsmith/profile-configuration\",\"langsmith/get-started-integrations\",\"langsmith/pricing-plans\",\"langsmith/enterprise\",{\"group\":\"LLM Gateway\",\"tag\":\"Private beta\",\"pages\":[\"langsmith/llm-gateway\",\"langsmith/llm-gateway-spend-policies\",\"langsmith/llm-gateway-redaction\"]},{\"group\":\"Account administration\",\"pages\":[\"langsmith/administration-overview\",{\"group\":\"Workspace setup\",\"pages\":[\"langsmith/set-up-hierarchy\",\"langsmith/workload-isolation\",\"langsmith/set-up-resource-tags\",\"langsmith/model-configurations\"]},{\"group\":\"Users \u0026 access control\",\"pages\":[\"langsmith/user-management\",\"langsmith/rbac\",\"langsmith/abac\",\"langsmith/organization-workspace-operations\",\"langsmith/authentication-methods\",\"langsmith/jit-invite-sso\"]},{\"group\":\"Billing \u0026 usage\",\"pages\":[\"langsmith/billing\",\"langsmith/view-usage\",\"langsmith/granular-usage\"]},\"langsmith/manage-organization-by-api\",\"langsmith/audit-logs\"]},{\"group\":\"Tools\",\"pages\":[\"langsmith/polly\",\"langsmith/langsmith-cli\",\"langsmith/skills\",{\"group\":\"Sandboxes\",\"icon\":\"box\",\"pages\":[\"langsmith/sandboxes\",\"langsmith/sandbox-snapshots\",\"langsmith/sandbox-service-urls\",\"langsmith/sandbox-auth-proxy\",\"langsmith/sandbox-permissions\",\"langsmith/sandbox-cli\",\"langsmith/sandbox-sdk\"]}]},{\"group\":\"Additional resources\",\"pages\":[{\"group\":\"Data \u0026 compliance\",\"icon\":\"shield-lock\",\"pages\":[\"langsmith/shared-responsibility-model\",\"langsmith/data-storage-and-privacy\",\"langsmith/data-purging-compliance\",\"langsmith/scalability-and-resilience\"]},{\"group\":\"FAQ\",\"icon\":\"help-circle\",\"pages\":[\"langsmith/faq\",\"langsmith/regions-faq\"]},\"langsmith/status\"]}]},{\"tab\":\"Observability\",\"pages\":[\"langsmith/observability\",\"langsmith/observability-quickstart\",\"langsmith/observability-concepts\",\"langsmith/observability-llm-tutorial\",\"langsmith/engine\",{\"group\":\"Tracing setup\",\"pages\":[{\"group\":\"Integrations\",\"icon\":\"plug\",\"pages\":[\"langsmith/integrations\",{\"group\":\"LLM providers\",\"pages\":[\"langsmith/trace-anthropic\",\"langsmith/trace-bedrock\",\"langsmith/trace-deepseek\",\"langsmith/trace-with-google-gemini\",\"langsmith/trace-litellm\",\"langsmith/trace-with-mistral\",\"langsmith/trace-openai\",\"langsmith/trace-with-openai-compatible\"]},{\"group\":\"Agent frameworks\",\"pages\":[\"langsmith/trace-with-autogen\",\"langsmith/trace-claude-agent-sdk\",\"langsmith/trace-with-crewai\",\"langsmith/trace-deep-agents\",\"langsmith/trace-with-google-adk\",\"langsmith/trace-with-langchain\",\"langsmith/trace-with-langgraph\",\"langsmith/trace-with-mastra\",\"langsmith/trace-with-microsoft-agent-framework\",\"langsmith/trace-with-openai-agents-sdk\",\"langsmith/trace-with-opentelemetry\",\"langsmith/trace-with-pydantic-ai\",\"langsmith/trace-with-semantic-kernel\",\"langsmith/trace-with-strands-agents\",\"langsmith/trace-with-vercel-ai-sdk\"]},{\"group\":\"Voice AI frameworks\",\"pages\":[\"langsmith/trace-with-livekit\",\"langsmith/trace-with-pipecat\"]},{\"group\":\"Developer tools\",\"pages\":[\"langsmith/trace-claude-code\",\"langsmith/trace-with-codex\",\"langsmith/trace-with-opencode\",\"langsmith/trace-with-instructor\",\"langsmith/trace-with-n8n\",\"langsmith/trace-with-temporal\",\"langsmith/trace-with-vscode-copilot\"]}]},{\"group\":\"Manual instrumentation\",\"pages\":[\"langsmith/annotate-code\",\"langsmith/trace-with-api\",\"langsmith/log-llm-trace\",\"langsmith/log-retriever-trace\",\"langsmith/ls-metadata-parameters\",\"langsmith/upload-files-with-traces\"]},{\"group\":\"Messages view\",\"pages\":[\"langsmith/messages-view-integrations\",\"langsmith/messages-view-trace-format\"]},\"langsmith/threads\"]},{\"group\":\"Configuration \u0026 troubleshooting\",\"pages\":[{\"group\":\"Project \u0026 environment settings\",\"pages\":[\"langsmith/log-traces-to-project\",\"langsmith/trace-without-env-vars\",\"langsmith/conditional-tracing\",\"langsmith/sample-traces\"]},\"langsmith/cost-tracking\",{\"group\":\"Advanced tracing techniques\",\"pages\":[\"langsmith/distributed-tracing\",\"langsmith/access-current-span\",\"langsmith/serverless-environments\",\"langsmith/log-multimodal-traces\",\"langsmith/trace-generator-functions\"]},{\"group\":\"Data \u0026 privacy\",\"pages\":[\"langsmith/add-metadata-tags\",\"langsmith/mask-inputs-outputs\",\"langsmith/otel-gateway-trace-redaction\"]},{\"group\":\"Troubleshooting guides\",\"pages\":[\"langsmith/nest-traces\",\"langsmith/troubleshooting-variable-caching\"]}]},{\"group\":\"Viewing \u0026 managing traces\",\"pages\":[\"langsmith/view-traces\",\"langsmith/filter-traces-in-application\",\"langsmith/configure-input-output-preview\",\"langsmith/manage-trace\",\"langsmith/export-traces\",\"langsmith/query-threads\",\"langsmith/langsmith-remote-mcp\",\"langsmith/langsmith-mcp-server\",{\"group\":\"Bulk export trace data\",\"pages\":[\"langsmith/data-export\",\"langsmith/data-export-destinations\",\"langsmith/data-export-monitor\",\"langsmith/data-export-downstream\",\"langsmith/big-query-bulk-export\"]}]},{\"group\":\"Automations\",\"pages\":[\"langsmith/rules\",\"langsmith/webhooks\",\"langsmith/engine-webhooks\"]},{\"group\":\"Feedback \u0026 evaluation\",\"pages\":[\"langsmith/evaluators\",\"langsmith/attach-user-feedback\",\"langsmith/presigned-feedback-tokens\",{\"group\":\"Set up online evaluators\",\"pages\":[\"langsmith/online-evaluations-llm-as-judge\",\"langsmith/online-evaluations-multi-turn\",\"langsmith/online-evaluations-code\",\"langsmith/online-evaluations-composite\"]}]},{\"group\":\"Monitoring \u0026 alerting\",\"pages\":[\"langsmith/dashboards\",\"langsmith/alerts\",\"langsmith/insights\"]},{\"group\":\"Data type reference\",\"pages\":[\"langsmith/run-data-format\",\"langsmith/feedback-data-format\",\"langsmith/trace-query-syntax\"]}]},{\"tab\":\"Evaluation\",\"pages\":[\"langsmith/evaluation\",\"langsmith/evaluation-quickstart\",\"langsmith/evaluation-concepts\",\"langsmith/evaluation-approaches\",\"langsmith/polly-evaluation\",{\"group\":\"Datasets\",\"pages\":[{\"group\":\"Create a dataset\",\"pages\":[\"langsmith/manage-datasets-in-application\",\"langsmith/manage-datasets-programmatically\"]},\"langsmith/manage-datasets\",\"langsmith/custom-output-rendering\"]},{\"group\":\"Set up evaluations\",\"pages\":[{\"group\":\"Run an evaluation\",\"pages\":[\"langsmith/evaluate-llm-application\",\"langsmith/evaluate-with-opentelemetry\",\"langsmith/run-evaluation-from-playground\",\"langsmith/run-evals-api-only\"]},{\"group\":\"Evaluation types\",\"pages\":[\"langsmith/evaluation-types\",{\"group\":\"UI\",\"pages\":[\"langsmith/llm-as-judge\",\"langsmith/code-evaluator-ui\",\"langsmith/composite-evaluators-ui\"]},{\"group\":\"SDK\",\"pages\":[\"langsmith/llm-as-judge-sdk\",\"langsmith/code-evaluator-sdk\",\"langsmith/composite-evaluators-sdk\",\"langsmith/summary\",\"langsmith/evaluate-pairwise\"]}]},{\"group\":\"Frameworks \u0026 integrations\",\"pages\":[\"langsmith/openevals\",\"langsmith/pytest\",\"langsmith/vitest-jest\"]},{\"group\":\"Evaluation techniques\",\"pages\":[{\"group\":\"Define evaluation target\",\"pages\":[\"langsmith/define-target-function\",\"langsmith/evaluate-on-intermediate-steps\",\"langsmith/langchain-runnable\",\"langsmith/evaluate-graph\",\"langsmith/multi-turn-simulation\",\"langsmith/trajectory-evals\"]},{\"group\":\"Scoring methods\",\"pages\":[\"langsmith/multiple-scores\",\"langsmith/metric-type\"]},{\"group\":\"Experiment configuration\",\"pages\":[\"langsmith/experiment-configuration\",\"langsmith/evaluation-async\",\"langsmith/repetition\",\"langsmith/rate-limiting\",\"langsmith/bind-evaluator-to-dataset\",\"langsmith/evaluate-existing-experiment\",\"langsmith/local\",\"langsmith/read-local-experiment-results\",\"langsmith/evaluate-with-retry\"]},{\"group\":\"Multimodal evaluations\",\"pages\":[\"langsmith/evaluate-with-attachments\"]}]},{\"group\":\"Improve evaluators\",\"pages\":[\"langsmith/improve-judge-evaluator-feedback\",\"langsmith/create-few-shot-evaluators\"]},{\"group\":\"Tutorials\",\"pages\":[\"langsmith/evaluate-chatbot-tutorial\",\"langsmith/evaluate-rag-tutorial\",\"langsmith/test-react-agent-pytest\",\"langsmith/evaluate-complex-agent\",\"langsmith/run-backtests-new-agent\"]}]},{\"group\":\"Analyze experiment results\",\"pages\":[\"langsmith/analyze-an-experiment\",\"langsmith/compare-experiment-results\",\"langsmith/filter-experiments-ui\",\"langsmith/fetch-perf-metrics-experiment\",\"langsmith/upload-existing-experiments\"]},{\"group\":\"Annotation \u0026 human feedback\",\"pages\":[\"langsmith/annotation-queues\",\"langsmith/annotation-queues-sdk\",\"langsmith/assertions\",\"langsmith/set-up-feedback-criteria\",\"langsmith/annotate-traces-inline\",\"langsmith/audit-evaluator-scores\"]},{\"group\":\"Common data types\",\"pages\":[\"langsmith/example-data-format\",\"langsmith/dataset-json-types\",\"langsmith/dataset-transformations\"]}]},{\"tab\":\"Prompt engineering\",\"pages\":[\"langsmith/prompt-engineering\",\"langsmith/prompt-engineering-quickstart\",\"langsmith/prompt-engineering-concepts\",\"langsmith/polly-prompt-engineering\",\"langsmith/playground-model-providers\",{\"group\":\"Create and update prompts\",\"pages\":[\"langsmith/create-a-prompt\",\"langsmith/manage-prompts\",\"langsmith/manage-prompts-programmatically\",\"langsmith/prompt-template-format\",\"langsmith/managing-model-configurations\",\"langsmith/use-tools\",\"langsmith/multimodal-content\",\"langsmith/write-prompt-with-ai\",{\"group\":\"Connect to models\",\"pages\":[\"langsmith/custom-openai-compliant-model\",\"langsmith/custom-endpoint\"]}]},{\"group\":\"Context engineering\",\"pages\":[\"langsmith/use-the-context-hub\",\"langsmith/manage-contexts-sdk\",\"langsmith/context-engineering-concepts\"]},{\"group\":\"Tutorials\",\"pages\":[\"langsmith/optimize-classifier\",\"langsmith/prompt-commit\",\"langsmith/multiple-messages\"]}]},{\"tab\":\"Agent deployment\",\"pages\":[\"langsmith/deployment\",\"langsmith/deployment-quickstart-da\",\"langsmith/deployment-quickstart\",\"langsmith/local-dev-testing\",{\"group\":\"Agent server\",\"pages\":[\"langsmith/agent-server\",{\"group\":\"Assistants\",\"pages\":[\"langsmith/assistants\",\"langsmith/configuration-cloud\"]},\"langsmith/use-threads\",{\"group\":\"Runs\",\"pages\":[\"langsmith/runs\",\"langsmith/background-run\",\"langsmith/same-thread\",\"langsmith/stateless-runs\",\"langsmith/cancel-run\"]},\"langsmith/cron-jobs\",{\"group\":\"Tutorials\",\"pages\":[\"langsmith/agent-server-feedback\",\"langsmith/deploy-google-adk\",\"langsmith/deploy-other-frameworks\",\"langsmith/generative-ui-react\"]}]},{\"group\":\"Core capabilities\",\"pages\":[\"langsmith/core-capabilities\",\"langsmith/streaming\",\"langsmith/add-human-in-the-loop\",\"langsmith/human-in-the-loop-time-travel\",\"langsmith/server-mcp\",\"langsmith/server-a2a\",\"langsmith/agent-server-distributed-tracing\",\"langsmith/use-webhooks\",{\"group\":\"Double-texting\",\"pages\":[\"langsmith/double-texting\",\"langsmith/interrupt-concurrent\",\"langsmith/rollback-concurrent\",\"langsmith/reject-concurrent\",\"langsmith/enqueue-concurrent\"]}]},{\"group\":\"Develop agents\",\"pages\":[\"langsmith/application-structure\",{\"group\":\"Setup\",\"pages\":[\"langsmith/setup-app-requirements-txt\",\"langsmith/setup-pyproject\",\"langsmith/setup-javascript\",\"langsmith/monorepo-support\"]},{\"group\":\"Deployment components\",\"pages\":[\"langsmith/components\",\"langsmith/data-plane\",\"langsmith/control-plane\"]},\"langsmith/graph-rebuild\",\"langsmith/use-remote-graph\",\"langsmith/semantic-search\",\"langsmith/configure-ttl\",\"langsmith/configure-checkpointer\",\"langsmith/agent-server-scale\",\"langsmith/cicd-pipeline-example\"]},{\"group\":\"Deployment guides\",\"pages\":[{\"group\":\"Managed Deep Agents\",\"icon\":\"robot\",\"tag\":\"PREVIEW\",\"pages\":[\"langsmith/managed-deep-agents-overview\",\"langsmith/managed-deep-agents-quickstart\",\"langsmith/managed-deep-agents-mcp\",\"langsmith/managed-deep-agents-deploy\",\"langsmith/managed-deep-agents-invoke\",\"langsmith/managed-deep-agents-cli\",\"langsmith/managed-deep-agents-api\"]},\"langsmith/deploy-to-cloud\",\"langsmith/hybrid\",\"langsmith/deploy-standalone-server\",\"langsmith/deploy-with-control-plane\",\"langsmith/diagnostics-self-hosted\"]},{\"group\":\"Studio\",\"pages\":[\"langsmith/studio\",\"langsmith/quick-start-studio\",\"langsmith/use-studio\",\"langsmith/observability-studio\",\"langsmith/troubleshooting-studio\"]},{\"group\":\"Auth \u0026 access control\",\"pages\":[\"langsmith/auth\",\"langsmith/custom-auth\",\"langsmith/set-up-custom-auth\",\"langsmith/resource-auth\",\"langsmith/add-auth-server\",\"langsmith/openapi-security\",\"langsmith/agent-auth\"]},{\"group\":\"Server customization\",\"pages\":[\"langsmith/caching\",\"langsmith/custom-store\",\"langsmith/custom-checkpointer\",\"langsmith/custom-lifespan\",\"langsmith/custom-middleware\",\"langsmith/custom-routes\",\"langsmith/encryption\",\"langsmith/configurable-headers\",\"langsmith/configurable-logs\"]}]},{\"tab\":\"Platform setup\",\"groups\":[{\"group\":\"Overview\",\"pages\":[\"langsmith/platform-setup\"]},{\"group\":\"Cloud (SaaS)\",\"pages\":[\"langsmith/cloud\"]},{\"group\":\"Self-hosted\",\"pages\":[\"langsmith/self-hosted\",{\"group\":\"Get started by cloud provider\",\"pages\":[\"langsmith/aws-self-hosted\",\"langsmith/azure-self-hosted\",\"langsmith/gcp-self-hosted\"]},{\"group\":\"Setup guides\",\"pages\":[\"langsmith/self-host-dependency-versions\",\"langsmith/kubernetes\",\"langsmith/deploy-self-hosted-full-platform\",{\"group\":\"Manage an installation\",\"pages\":[\"langsmith/self-host-usage\",\"langsmith/self-host-upgrades\",\"langsmith/self-host-disaster-recovery\",\"langsmith/self-host-egress\",\"langsmith/self-host-organization-charts\",\"langsmith/langsmith-managed-clickhouse\",\"langsmith/self-host-ingress\",\"langsmith/self-host-mirroring-images\",\"langsmith/self-host-fips\"]}]},{\"group\":\"Configuration\",\"pages\":[\"langsmith/llm-auth-proxy-self-hosted\",\"langsmith/self-host-environment-variables\",\"langsmith/self-host-scale\",\"langsmith/self-host-ttl\",\"langsmith/custom-docker\",\"langsmith/self-host-playground-environment-settings\",\"langsmith/self-host-ui-customization\",\"langsmith/troubleshooting\"]},{\"group\":\"Connect external services\",\"pages\":[\"langsmith/self-host-blob-storage\",\"langsmith/self-host-external-clickhouse\",\"langsmith/self-host-external-postgres\",\"langsmith/self-host-external-redis\"]},{\"group\":\"Platform auth \u0026 access control\",\"pages\":[\"langsmith/self-host-basic-auth\",\"langsmith/self-host-sso\",\"langsmith/self-host-user-management\",\"langsmith/self-host-custom-tls-certificates\",\"langsmith/self-host-using-an-existing-secret\"]},{\"group\":\"Self-hosted observability\",\"pages\":[\"langsmith/export-backend\",\"langsmith/langsmith-collector\",\"langsmith/observability-stack\",\"langsmith/self-hosted-mission-control\"]},{\"group\":\"Scripts for management tasks\",\"pages\":[\"langsmith/script-delete-a-workspace\",\"langsmith/script-delete-an-organization\",\"langsmith/script-delete-traces\",\"langsmith/script-generate-clickhouse-stats\",\"langsmith/script-generate-query-stats\",\"langsmith/script-running-pg-support-queries\",\"langsmith/script-running-ch-support-queries\"]}]},{\"group\":\"Hybrid (legacy)\",\"pages\":[\"langsmith/hybrid-legacy\"]}]},{\"tab\":\"Reference\",\"pages\":[{\"group\":\"General\",\"pages\":[\"langsmith/reference\",{\"group\":\"LangSmith API\",\"pages\":[\"langsmith/smith-api-ref\",{\"group\":\"System\",\"pages\":[\"langsmith/smith-api/info/get-server-info\",\"langsmith/smith-api/info/get-health-info\",\"langsmith/smith-api/public/get-shared-run\",\"langsmith/smith-api/public/get-shared-run-by-id\",\"langsmith/smith-api/public/query-shared-runs\",\"langsmith/smith-api/public/read-shared-feedbacks\",\"langsmith/smith-api/public/read-shared-dataset\",\"langsmith/smith-api/public/count-shared-examples\",\"langsmith/smith-api/public/read-shared-examples\",\"langsmith/smith-api/public/read-shared-dataset-tracer-sessions\",\"langsmith/smith-api/public/read-shared-dataset-tracer-sessions-bulk\",\"langsmith/smith-api/public/read-shared-dataset-examples-with-runs\",\"langsmith/smith-api/public/read-shared-delta\",\"langsmith/smith-api/public/read-shared-delta-stream\",\"langsmith/smith-api/public/query-shared-dataset-runs\",\"langsmith/smith-api/public/generate-query-for-shared-dataset-runs\",\"langsmith/smith-api/public/stats-shared-dataset-runs\",\"langsmith/smith-api/public/read-shared-dataset-run\",\"langsmith/smith-api/public/read-shared-dataset-feedback\",\"langsmith/smith-api/public/read-shared-comparative-experiments\",\"langsmith/smith-api/public/get-message-json-schema\",\"langsmith/smith-api/public/get-tool-def-json-schema\",\"langsmith/smith-api/ace/execute\",\"langsmith/smith-api/model-price-map/read-model-price-map\",\"langsmith/smith-api/model-price-map/create-new-model-price\",\"langsmith/smith-api/model-price-map/update-model-price\",\"langsmith/smith-api/model-price-map/delete-model-price\",\"langsmith/smith-api/features/list-feature-configurations\",\"langsmith/smith-api/features/set-default-model-for-a-feature\",\"langsmith/smith-api/features/delete-default-model-for-a-feature\",\"langsmith/smith-api/features/disable-a-model-for-a-feature\",\"langsmith/smith-api/features/re-enable-a-disabled-model-for-a-feature\",\"langsmith/smith-api/backfills/restart-a-backfill-job\",\"langsmith/smith-api/threads/query-threads\",\"langsmith/smith-api/threads/query-single-thread-stats\",\"langsmith/smith-api/threads/query-thread-traces\"]},{\"group\":\"metrics\",\"pages\":[]},{\"group\":\"Tracing\",\"pages\":[\"langsmith/smith-api/tracer-sessions/get-tracing-project-prebuilt-dashboard\",\"langsmith/smith-api/tracer-sessions/read-tracer-session\",\"langsmith/smith-api/tracer-sessions/delete-tracer-session\",\"langsmith/smith-api/tracer-sessions/update-tracer-session\",\"langsmith/smith-api/tracer-sessions/read-tracer-sessions\",\"langsmith/smith-api/tracer-sessions/create-tracer-session\",\"langsmith/smith-api/tracer-sessions/delete-tracer-sessions\",\"langsmith/smith-api/tracer-sessions/read-tracer-sessions-runs-metadata\",\"langsmith/smith-api/tracer-sessions/read-filter-views\",\"langsmith/smith-api/tracer-sessions/create-filter-view\",\"langsmith/smith-api/tracer-sessions/read-filter-view\",\"langsmith/smith-api/tracer-sessions/delete-filter-view\",\"langsmith/smith-api/tracer-sessions/update-filter-view\",\"langsmith/smith-api/tracer-sessions/rename-filter-view\",\"langsmith/smith-api/tracer-sessions/[beta]-get-insights-jobs\",\"langsmith/smith-api/tracer-sessions/[beta]-create-insights-job\",\"langsmith/smith-api/tracer-sessions/[beta]-get-insights-job-configs\",\"langsmith/smith-api/tracer-sessions/[beta]-create-insights-job-config\",\"langsmith/smith-api/tracer-sessions/[beta]-auto-generate-insights-job-config\",\"langsmith/smith-api/tracer-sessions/[beta]-delete-insights-job-config\",\"langsmith/smith-api/tracer-sessions/[beta]-update-insights-job-config\",\"langsmith/smith-api/tracer-sessions/[beta]-get-insights-job\",\"langsmith/smith-api/tracer-sessions/[beta]-delete-insights-job\",\"langsmith/smith-api/tracer-sessions/[beta]-update-insights-job\",\"langsmith/smith-api/tracer-sessions/[beta]-get-run-cluster-from-insights-job\",\"langsmith/smith-api/tracer-sessions/[beta]-get-runs-from-insights-job\",\"langsmith/smith-api/run/list-rules\",\"langsmith/smith-api/run/create-rule\",\"langsmith/smith-api/run/validate-rule\",\"langsmith/smith-api/run/delete-rule\",\"langsmith/smith-api/run/update-rule\",\"langsmith/smith-api/run/thread-preview\",\"langsmith/smith-api/run/list-rule-logs\",\"langsmith/smith-api/run/list-rule-logs-v2\",\"langsmith/smith-api/run/get-last-applied-rule\",\"langsmith/smith-api/run/trigger-rule\",\"langsmith/smith-api/run/trigger-rules\",\"langsmith/smith-api/run/read-run\",\"langsmith/smith-api/run/update-run\",\"langsmith/smith-api/run/read-run-share-state\",\"langsmith/smith-api/run/share-run\",\"langsmith/smith-api/run/unshare-run\",\"langsmith/smith-api/run/validate-runs-query\",\"langsmith/smith-api/run/query-runs\",\"langsmith/smith-api/run/generate-query-for-runs\",\"langsmith/smith-api/run/stats-runs\",\"langsmith/smith-api/run/create-run-proxy\",\"langsmith/smith-api/run/create-runs-batch-proxy\",\"langsmith/smith-api/run/create-runs-multipart-proxy\",\"langsmith/smith-api/run/group-runs\",\"langsmith/smith-api/run/stats-group-runs\",\"langsmith/smith-api/run/delete-runs-abac\",\"langsmith/smith-api/run/delete-runs\",\"langsmith/smith-api/runs/create-a-run\",\"langsmith/smith-api/runs/ingest-runs-batch-json\",\"langsmith/smith-api/runs/ingest-runs-multipart\",\"langsmith/smith-api/runs/update-a-run\",\"langsmith/smith-api/sessions/list-agent-versions-for-a-project\",\"langsmith/smith-api/runs/query-runs\",\"langsmith/smith-api/runs/get-a-single-run\",\"langsmith/smith-api/runs/list-runs-in-a-trace\"]},{\"group\":\"Administration\",\"pages\":[\"langsmith/smith-api/workspaces/list-workspaces\",\"langsmith/smith-api/workspaces/create-workspace\",\"langsmith/smith-api/workspaces/delete-workspace\",\"langsmith/smith-api/workspaces/patch-workspace\",\"langsmith/smith-api/workspaces/get-current-workspace-stats\",\"langsmith/smith-api/workspaces/get-current-workspace-usage-limits-info\",\"langsmith/smith-api/workspaces/get-shared-tokens\",\"langsmith/smith-api/workspaces/bulk-unshare-entities\",\"langsmith/smith-api/workspaces/list-current-workspace-secrets\",\"langsmith/smith-api/workspaces/upsert-current-workspace-secrets\",\"langsmith/smith-api/workspaces/get-current-workspace-encrypted-secrets\",\"langsmith/smith-api/workspaces/list-tag-keys\",\"langsmith/smith-api/workspaces/create-tag-key\",\"langsmith/smith-api/workspaces/get-tag-key\",\"langsmith/smith-api/workspaces/delete-tag-key\",\"langsmith/smith-api/workspaces/update-tag-key\",\"langsmith/smith-api/workspaces/list-tag-values\",\"langsmith/smith-api/workspaces/create-tag-value\",\"langsmith/smith-api/workspaces/get-tag-value\",\"langsmith/smith-api/workspaces/delete-tag-value\",\"langsmith/smith-api/workspaces/update-tag-value\",\"langsmith/smith-api/workspaces/list-taggings\",\"langsmith/smith-api/workspaces/create-tagging\",\"langsmith/smith-api/workspaces/delete-tagging\",\"langsmith/smith-api/workspaces/list-tags\",\"langsmith/smith-api/workspaces/list-tags-for-resource\",\"langsmith/smith-api/workspaces/list-tags-for-resources\",\"langsmith/smith-api/audit-logs/get-audit-logs\",\"langsmith/smith-api/ttl-settings/list-ttl-settings\",\"langsmith/smith-api/ttl-settings/upsert-ttl-settings\",\"langsmith/smith-api/orgs/list-ttl-settings\",\"langsmith/smith-api/orgs/upsert-ttl-settings\",\"langsmith/smith-api/orgs/list-organizations\",\"langsmith/smith-api/orgs/create-organization\",\"langsmith/smith-api/orgs/create-customers-and-get-stripe-setup-intent\",\"langsmith/smith-api/orgs/get-organization-info\",\"langsmith/smith-api/orgs/get-current-organization-info\",\"langsmith/smith-api/orgs/update-current-organization-info\",\"langsmith/smith-api/orgs/get-organization-billing-info\",\"langsmith/smith-api/orgs/get-dashboard\",\"langsmith/smith-api/orgs/on-payment-method-created\",\"langsmith/smith-api/orgs/get-company-info\",\"langsmith/smith-api/orgs/set-company-info\",\"langsmith/smith-api/orgs/change-payment-plan\",\"langsmith/smith-api/orgs/list-organization-roles\",\"langsmith/smith-api/orgs/create-organization-roles\",\"langsmith/smith-api/orgs/delete-organization-roles\",\"langsmith/smith-api/orgs/update-organization-roles\",\"langsmith/smith-api/orgs/list-permissions\",\"langsmith/smith-api/orgs/list-pending-organization-invites\",\"langsmith/smith-api/orgs/get-current-org-members\",\"langsmith/smith-api/orgs/add-member-to-current-org\",\"langsmith/smith-api/orgs/get-current-active-org-members\",\"langsmith/smith-api/orgs/get-current-pending-org-members\",\"langsmith/smith-api/orgs/add-members-to-current-org-batch\",\"langsmith/smith-api/orgs/add-basic-auth-members-to-current-org\",\"langsmith/smith-api/orgs/delete-current-org-pending-member\",\"langsmith/smith-api/orgs/delete-pending-organization-invite\",\"langsmith/smith-api/orgs/claim-pending-organization-invite\",\"langsmith/smith-api/orgs/remove-member-from-current-org\",\"langsmith/smith-api/orgs/update-current-org-member\",\"langsmith/smith-api/orgs/update-current-user\",\"langsmith/smith-api/orgs/get-current-sso-settings\",\"langsmith/smith-api/orgs/create-sso-settings\",\"langsmith/smith-api/orgs/delete-sso-settings\",\"langsmith/smith-api/orgs/update-sso-settings\",\"langsmith/smith-api/orgs/update-allowed-login-methods\",\"langsmith/smith-api/orgs/get-org-usage\",\"langsmith/smith-api/orgs/get-granular-usage\",\"langsmith/smith-api/orgs/export-granular-usage-csv\",\"langsmith/smith-api/orgs/get-current-user-login-methods\",\"langsmith/smith-api/orgs/create-stripe-checkout-sessions-endpoint\",\"langsmith/smith-api/orgs/create-stripe-account-links-endpoint\",\"langsmith/smith-api/orgs/list-org-service-keys\",\"langsmith/smith-api/orgs/create-org-service-key\",\"langsmith/smith-api/orgs/delete-org-service-key\",\"langsmith/smith-api/orgs/update-org-service-key\",\"langsmith/smith-api/orgs/list-org-personal-access-tokens\",\"langsmith/smith-api/orgs/create-org-personal-access-token\",\"langsmith/smith-api/orgs/delete-org-personal-access-token\",\"langsmith/smith-api/orgs/set-default-sso-provision\",\"langsmith/smith-api/auth/login\",\"langsmith/smith-api/auth/send-sso-email-confirmation\",\"langsmith/smith-api/auth/check-sso-email-verification-status\",\"langsmith/smith-api/auth/confirm-sso-user-email\",\"langsmith/smith-api/auth/get-sso-settings\",\"langsmith/smith-api/auth/lookup-sso-by-email\",\"langsmith/smith-api/api-key/get-api-keys\",\"langsmith/smith-api/api-key/generate-api-key\",\"langsmith/smith-api/api-key/delete-api-key\",\"langsmith/smith-api/api-key/get-personal-access-tokens\",\"langsmith/smith-api/api-key/generate-personal-access-token\",\"langsmith/smith-api/api-key/delete-personal-access-token\",\"langsmith/smith-api/tenant/list-tenants\",\"langsmith/smith-api/tenant/create-tenant\",\"langsmith/smith-api/me/get-onboarding-state\",\"langsmith/smith-api/me/create-onboarding-state\",\"langsmith/smith-api/me/update-onboarding-state-field\",\"langsmith/smith-api/me/get-ls-user-id\",\"langsmith/smith-api/service-accounts/get-service-accounts\",\"langsmith/smith-api/service-accounts/create-service-account\",\"langsmith/smith-api/service-accounts/delete-service-account\",\"langsmith/smith-api/workspaces/list-pending-workspace-invites\",\"langsmith/smith-api/workspaces/delete-pending-workspace-invite\",\"langsmith/smith-api/workspaces/claim-pending-workspace-invite\",\"langsmith/smith-api/workspaces/get-current-workspace-members\",\"langsmith/smith-api/workspaces/add-member-to-current-workspace\",\"langsmith/smith-api/workspaces/get-current-active-workspace-members\",\"langsmith/smith-api/workspaces/get-current-pending-workspace-members\",\"langsmith/smith-api/workspaces/add-members-to-current-workspace-batch\",\"langsmith/smith-api/workspaces/delete-current-workspace-member\",\"langsmith/smith-api/workspaces/patch-current-workspace-member\",\"langsmith/smith-api/workspaces/delete-current-workspace-pending-member\",\"langsmith/smith-api/usage-limits/list-usage-limits\",\"langsmith/smith-api/usage-limits/upsert-usage-limit\",\"langsmith/smith-api/usage-limits/list-org-usage-limits\",\"langsmith/smith-api/usage-limits/delete-usage-limit\",\"langsmith/smith-api/auth/get-public-auth-info\",\"langsmith/smith-api/aws_marketplace/aws-marketplace-fulfillment-url-registration\",\"langsmith/smith-api/me/get-the-authenticated-users-provider-user-id\",\"langsmith/smith-api/data_planes/list-data-planes-for-the-current-organization\",\"langsmith/smith-api/data_planes/create-a-new-data-plane\",\"langsmith/smith-api/access_policies/list-access-policies\",\"langsmith/smith-api/access_policies/create-an-access-policy\",\"langsmith/smith-api/access_policies/attach-access-policies-to-a-role\",\"langsmith/smith-api/access_policies/get-an-access-policy\",\"langsmith/smith-api/access_policies/delete-an-access-policy\",\"langsmith/smith-api/organizations/get-current-organization-info\",\"langsmith/smith-api/orgs/list-org-members-with-workspace-roles\",\"langsmith/smith-api/scim-tokens/list-scim-tokens\",\"langsmith/smith-api/scim-tokens/create-a-scim-token\",\"langsmith/smith-api/scim-tokens/get-a-scim-token\",\"langsmith/smith-api/scim-tokens/delete-a-scim-token\",\"langsmith/smith-api/scim-tokens/update-a-scim-token\",\"langsmith/smith-api/ttl-settings/get-workspace-ttl-settings\",\"langsmith/smith-api/ttl-settings/update-workspace-ttl-settings\"]},{\"group\":\"health\",\"pages\":[]},{\"group\":\"Datasets\",\"pages\":[\"langsmith/smith-api/examples/count-examples\",\"langsmith/smith-api/examples/read-example\",\"langsmith/smith-api/examples/delete-example\",\"langsmith/smith-api/examples/update-example\",\"langsmith/smith-api/examples/read-examples\",\"langsmith/smith-api/examples/create-example\",\"langsmith/smith-api/examples/delete-examples\",\"langsmith/smith-api/examples/create-examples\",\"langsmith/smith-api/examples/legacy-update-examples\",\"langsmith/smith-api/examples/upload-examples-from-csv\",\"langsmith/smith-api/examples/validate-example\",\"langsmith/smith-api/examples/validate-examples\",\"langsmith/smith-api/datasets/read-datasets\",\"langsmith/smith-api/datasets/create-dataset\",\"langsmith/smith-api/datasets/delete-datasets\",\"langsmith/smith-api/datasets/read-datasets-stream\",\"langsmith/smith-api/datasets/read-dataset\",\"langsmith/smith-api/datasets/delete-dataset\",\"langsmith/smith-api/datasets/update-dataset\",\"langsmith/smith-api/datasets/upload-csv-dataset\",\"langsmith/smith-api/datasets/upload-experiment\",\"langsmith/smith-api/datasets/get-dataset-versions\",\"langsmith/smith-api/datasets/diff-dataset-versions\",\"langsmith/smith-api/datasets/get-dataset-version\",\"langsmith/smith-api/datasets/update-dataset-version\",\"langsmith/smith-api/datasets/download-dataset-openai\",\"langsmith/smith-api/datasets/download-dataset-openai-ft\",\"langsmith/smith-api/datasets/download-dataset-csv\",\"langsmith/smith-api/datasets/download-dataset-jsonl\",\"langsmith/smith-api/datasets/read-examples-with-runs\",\"langsmith/smith-api/datasets/read-examples-with-runs-grouped\",\"langsmith/smith-api/datasets/read-delta\",\"langsmith/smith-api/datasets/read-delta-stream\",\"langsmith/smith-api/datasets/read-grouped-experiments\",\"langsmith/smith-api/datasets/read-dataset-share-state\",\"langsmith/smith-api/datasets/share-dataset\",\"langsmith/smith-api/datasets/unshare-dataset\",\"langsmith/smith-api/datasets/read-comparative-experiments\",\"langsmith/smith-api/datasets/create-comparative-experiment\",\"langsmith/smith-api/datasets/delete-comparative-experiment\",\"langsmith/smith-api/datasets/clone-dataset\",\"langsmith/smith-api/datasets/get-dataset-splits\",\"langsmith/smith-api/datasets/update-dataset-splits\",\"langsmith/smith-api/datasets/generate\",\"langsmith/smith-api/datasets/dataset-handler\",\"langsmith/smith-api/datasets/stream-dataset-handler\",\"langsmith/smith-api/datasets/studio-experiment\",\"langsmith/smith-api/examples/hard-delete-examples\",\"langsmith/smith-api/examples/upload-examples\",\"langsmith/smith-api/examples/update-examples\"]},{\"group\":\"Evaluation\",\"pages\":[\"langsmith/smith-api/experiments/evaluate-experiment-adhoc\",\"langsmith/smith-api/experiment-view-overrides/get-experiment-view-override-configurations-for-a-dataset\",\"langsmith/smith-api/experiment-view-overrides/create-new-experiment-view-override-configuration-for-a-dataset\",\"langsmith/smith-api/experiment-view-overrides/get-experiment-view-override-configuration-by-specific-id\",\"langsmith/smith-api/experiment-view-overrides/delete-experiment-view-override-configuration\",\"langsmith/smith-api/experiment-view-overrides/update-existing-experiment-view-override-configuration\",\"langsmith/smith-api/evaluators/list-evaluators\",\"langsmith/smith-api/evaluators/create-evaluator\",\"langsmith/smith-api/evaluators/bulk-delete-evaluators\",\"langsmith/smith-api/evaluators/get-evaluator-spend\",\"langsmith/smith-api/evaluators/get-evaluator\",\"langsmith/smith-api/evaluators/delete-evaluator\",\"langsmith/smith-api/evaluators/update-evaluator\"]},{\"group\":\"Feedback \u0026 Annotation\",\"pages\":[\"langsmith/smith-api/feedback/list-feedback-formula-ep\",\"langsmith/smith-api/feedback/create-feedback-formula-ep\",\"langsmith/smith-api/feedback/get-feedback-formula-ep\",\"langsmith/smith-api/feedback/update-feedback-formula-ep\",\"langsmith/smith-api/feedback/delete-feedback-formula-endpoint\",\"langsmith/smith-api/feedback/read-feedback\",\"langsmith/smith-api/feedback/delete-feedback\",\"langsmith/smith-api/feedback/update-feedback\",\"langsmith/smith-api/feedback/read-feedbacks\",\"langsmith/smith-api/feedback/create-feedback\",\"langsmith/smith-api/feedback/eagerly-create-feedback\",\"langsmith/smith-api/feedback/list-feedback-ingest-tokens\",\"langsmith/smith-api/feedback/create-feedback-ingest-token\",\"langsmith/smith-api/feedback/create-feedback-with-token-get\",\"langsmith/smith-api/feedback/create-feedback-with-token-post\",\"langsmith/smith-api/annotation-queues/get-annotation-queues\",\"langsmith/smith-api/annotation-queues/create-annotation-queue\",\"langsmith/smith-api/annotation-queues/delete-annotation-queues\",\"langsmith/smith-api/annotation-queues/populate-annotation-queue\",\"langsmith/smith-api/annotation-queues/get-annotation-queue\",\"langsmith/smith-api/annotation-queues/delete-annotation-queue\",\"langsmith/smith-api/annotation-queues/update-annotation-queue\",\"langsmith/smith-api/annotation-queues/get-runs-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/add-runs-to-annotation-queue\",\"langsmith/smith-api/annotation-queues/add-runs-to-annotation-queue-by-key\",\"langsmith/smith-api/annotation-queues/export-annotation-queue-archived-runs\",\"langsmith/smith-api/annotation-queues/get-run-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/get-annotation-queues-for-run\",\"langsmith/smith-api/annotation-queues/delete-run-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/update-run-in-annotation-queue\",\"langsmith/smith-api/annotation-queues/delete-runs-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/get-total-size-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/get-total-archived-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/get-size-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/create-identity-annotation-queue-run-status\",\"langsmith/smith-api/annotation-queues/resolve-annotation-queue-run\",\"langsmith/smith-api/feedback-configs/list-feedback-configs-endpoint\",\"langsmith/smith-api/feedback-configs/create-feedback-config-endpoint\",\"langsmith/smith-api/feedback-configs/delete-feedback-config-endpoint\",\"langsmith/smith-api/feedback-configs/update-feedback-config-endpoint\",\"langsmith/smith-api/annotation_queues/add-a-reviewer-to-an-annotation-queue\",\"langsmith/smith-api/annotation_queues/remove-a-reviewer-from-an-annotation-queue\"]},{\"group\":\"Monitoring\",\"pages\":[\"langsmith/smith-api/bulk-exports/get-bulk-exports\",\"langsmith/smith-api/bulk-exports/create-bulk-export\",\"langsmith/smith-api/bulk-exports/get-bulk-export-destinations\",\"langsmith/smith-api/bulk-exports/create-bulk-export-destination\",\"langsmith/smith-api/bulk-exports/get-bulk-export-runs-filtered\",\"langsmith/smith-api/bulk-exports/get-bulk-export\",\"langsmith/smith-api/bulk-exports/cancel-bulk-export\",\"langsmith/smith-api/bulk-exports/get-bulk-export-destination\",\"langsmith/smith-api/bulk-exports/update-bulk-export-destination\",\"langsmith/smith-api/bulk-exports/get-bulk-export-runs\",\"langsmith/smith-api/bulk-exports/get-bulk-export-run\",\"langsmith/smith-api/charts/clone-section\",\"langsmith/smith-api/charts/read-sections\",\"langsmith/smith-api/charts/create-section\",\"langsmith/smith-api/charts/read-charts\",\"langsmith/smith-api/charts/read-chart-preview\",\"langsmith/smith-api/charts/create-chart\",\"langsmith/smith-api/charts/read-single-chart\",\"langsmith/smith-api/charts/delete-chart\",\"langsmith/smith-api/charts/update-chart\",\"langsmith/smith-api/charts/read-single-section\",\"langsmith/smith-api/charts/delete-section\",\"langsmith/smith-api/charts/update-section\",\"langsmith/smith-api/charts/org-read-sections\",\"langsmith/smith-api/charts/org-create-section\",\"langsmith/smith-api/charts/org-read-charts\",\"langsmith/smith-api/charts/org-read-chart-preview\",\"langsmith/smith-api/charts/org-create-chart\",\"langsmith/smith-api/charts/org-read-single-chart\",\"langsmith/smith-api/charts/org-delete-chart\",\"langsmith/smith-api/charts/org-update-chart\",\"langsmith/smith-api/charts/org-read-single-section\",\"langsmith/smith-api/charts/org-delete-section\",\"langsmith/smith-api/charts/org-update-section\",\"langsmith/smith-api/alert_rules/create-an-alert-rule\",\"langsmith/smith-api/alert_rules/test-an-alert-action-to-determine-if-configuration-is-valid\",\"langsmith/smith-api/alert_rules/get-an-alert-rule\",\"langsmith/smith-api/alert_rules/delete-an-alert-rule\",\"langsmith/smith-api/alert_rules/update-an-alert-rule\"]},{\"group\":\"Prompts \u0026 Playground\",\"pages\":[\"langsmith/smith-api/prompts/invoke-prompt\",\"langsmith/smith-api/prompts/prompt-canvas\",\"langsmith/smith-api/prompt-webhooks/list-prompt-webhooks\",\"langsmith/smith-api/prompt-webhooks/create-prompt-webhook\",\"langsmith/smith-api/prompt-webhooks/get-prompt-webhook\",\"langsmith/smith-api/prompt-webhooks/delete-prompt-webhook\",\"langsmith/smith-api/prompt-webhooks/update-prompt-webhook\",\"langsmith/smith-api/prompt-webhooks/test-prompt-webhook\",\"langsmith/smith-api/playground-settings/list-playground-settings\",\"langsmith/smith-api/playground-settings/create-playground-settings\",\"langsmith/smith-api/playground-settings/get-playground-settings\",\"langsmith/smith-api/playground-settings/delete-playground-settings\",\"langsmith/smith-api/playground-settings/update-playground-settings\",\"langsmith/smith-api/hub_environments/list-hub-environments\",\"langsmith/smith-api/hub_environments/create-hub-environments-model\",\"langsmith/smith-api/hub_environments/delete-hub-environments-model\",\"langsmith/smith-api/hub_environments/update-hub-environments-model\",\"langsmith/smith-api/commits/list-commits\",\"langsmith/smith-api/commits/create-a-commit\",\"langsmith/smith-api/commits/get-a-commit\",\"langsmith/smith-api/tag-transitions/get-tag-transition-history\",\"langsmith/smith-api/directories/get-directory-contents\",\"langsmith/smith-api/directories/delete-directory-repository\",\"langsmith/smith-api/directories/create-directory-commit\"]},{\"group\":\"Integrations \u0026 Tools\",\"pages\":[\"langsmith/smith-api/mcp/get-tools\",\"langsmith/smith-api/mcp/invalidate-tools-cache\",\"langsmith/smith-api/mcp/proxy-get\",\"langsmith/smith-api/mcp/proxy\",\"langsmith/smith-api/oauth/get-oauth2-authorization-server-metadata\",\"langsmith/smith-api/oauth/initiate-oauth2-authorization\",\"langsmith/smith-api/oauth/approve-oauth2-authorization-request\",\"langsmith/smith-api/oauth/authorize-a-device-code\",\"langsmith/smith-api/oauth/request-oauth2-device-authorization\",\"langsmith/smith-api/oauth/register-an-oauth2-dynamic-client\",\"langsmith/smith-api/oauth/revoke-an-oauth2-token\",\"langsmith/smith-api/oauth/exchange-grant-for-oauth2-tokens\",\"langsmith/smith-api/integrations/get-agent-builder-integrations-settings\",\"langsmith/smith-api/integrations/update-agent-builder-integrations-settings\",\"langsmith/smith-api/mcp_vendors/list-mcp-vendors\",\"langsmith/smith-api/mcp_vendors/get-mcp-vendor\",\"langsmith/smith-api/mcp_vendors/get-vendor-account\",\"langsmith/smith-api/mcp_vendors/list-mcp-servers-for-a-vendor\",\"langsmith/smith-api/mcp_vendors/get-vendor-settings\",\"langsmith/smith-api/mcp_vendors/replace-vendor-settings\",\"langsmith/smith-api/mcp_vendors/create-vendor-settings\",\"langsmith/smith-api/mcp_vendors/delete-vendor-settings\",\"langsmith/smith-api/mcp_vendors/list-tools-for-a-vendor\",\"langsmith/smith-api/tools/list-tools\",\"langsmith/smith-api/tools/create-a-tool\",\"langsmith/smith-api/tools/get-a-tool-by-id\",\"langsmith/smith-api/tools/delete-a-tool-by-id\",\"langsmith/smith-api/tools/update-a-tool-by-id\",\"langsmith/smith-api/tools/get-a-tool-by-handle\",\"langsmith/smith-api/tools/delete-a-tool-by-handle\",\"langsmith/smith-api/tools/update-a-tool-by-handle\"]},{\"group\":\"Prompt Hub\",\"pages\":[\"langsmith/smith-api/settings/get-settings\",\"langsmith/smith-api/settings/set-tenant-handle\",\"langsmith/smith-api/repos/list-repos\",\"langsmith/smith-api/repos/create-repo\",\"langsmith/smith-api/repos/delete-repos\",\"langsmith/smith-api/repos/get-repo\",\"langsmith/smith-api/repos/delete-repo\",\"langsmith/smith-api/repos/update-repo\",\"langsmith/smith-api/repos/fork-repo\",\"langsmith/smith-api/repos/list-repo-tags\",\"langsmith/smith-api/repos/optimize-prompt-job\",\"langsmith/smith-api/likes/like-repo\",\"langsmith/smith-api/comments/get-comments\",\"langsmith/smith-api/comments/create-comment\",\"langsmith/smith-api/comments/get-sub-comments\",\"langsmith/smith-api/comments/create-sub-comment\",\"langsmith/smith-api/comments/like-comment\",\"langsmith/smith-api/comments/unlike-comment\",\"langsmith/smith-api/tags/get-tags\",\"langsmith/smith-api/tags/create-tag\",\"langsmith/smith-api/tags/get-tag\",\"langsmith/smith-api/tags/delete-tag\",\"langsmith/smith-api/tags/update-tag\",\"langsmith/smith-api/ownerships/list-repo-owners\",\"langsmith/smith-api/ownerships/add-repo-owner\",\"langsmith/smith-api/ownerships/remove-repo-owner\",\"langsmith/smith-api/optimization-jobs/list-jobs\",\"langsmith/smith-api/optimization-jobs/create-job\",\"langsmith/smith-api/optimization-jobs/get-job\",\"langsmith/smith-api/optimization-jobs/delete-job\",\"langsmith/smith-api/optimization-jobs/update-job\",\"langsmith/smith-api/optimization-jobs/list-job-logs\",\"langsmith/smith-api/optimization-jobs/create-log\",\"langsmith/smith-api/optimization-jobs/get-log\",\"langsmith/smith-api/optimization-jobs/delete-log\"]},{\"group\":\"Sandboxes\",\"pages\":[\"langsmith/smith-api/sandboxes/get-sandbox-access-decision\",\"langsmith/smith-api/sandboxes/list-sandboxes\",\"langsmith/smith-api/sandboxes/create-a-sandbox\",\"langsmith/smith-api/sandboxes/batch-delete-sandboxes\",\"langsmith/smith-api/sandboxes/get-a-sandbox\",\"langsmith/smith-api/sandboxes/delete-a-sandbox\",\"langsmith/smith-api/sandboxes/update-a-sandbox\",\"langsmith/smith-api/sandboxes/generate-a-service-access-token\",\"langsmith/smith-api/sandboxes/capture-a-snapshot-from-a-sandbox\",\"langsmith/smith-api/sandboxes/start-a-sandbox\",\"langsmith/smith-api/sandboxes/get-sandbox-status\",\"langsmith/smith-api/sandboxes/stop-a-sandbox\",\"langsmith/smith-api/sandboxes/list-snapshots\",\"langsmith/smith-api/sandboxes/create-a-snapshot\",\"langsmith/smith-api/sandboxes/get-a-snapshot\",\"langsmith/smith-api/sandboxes/delete-a-snapshot\",\"langsmith/smith-api/sandboxes/get-sandbox-resource-usage\"]},{\"group\":\"Issues\",\"pages\":[\"langsmith/smith-api/issues-agent/get-issues-agent-engine-lcu-spend-for-every-tenant-in-the-calling-org\",\"langsmith/smith-api/issues/[beta]-list-issues\",\"langsmith/smith-api/issues-agent/[beta]-list-issues-agent-configs\",\"langsmith/smith-api/issues/[beta]-mark-issue-viewed\",\"langsmith/smith-api/issues-agent/[beta]-get-the-issues-agent-config-for-a-session\",\"langsmith/smith-api/issues-agent/[beta]-create-the-issues-agent-for-a-session\",\"langsmith/smith-api/issues-agent/[beta]-delete-the-issues-agent-for-a-session\",\"langsmith/smith-api/issues-agent/[beta]-update-the-issues-agent-config-for-a-session\",\"langsmith/smith-api/issues-agent/[beta]-save-the-agent-overview-for-a-session\",\"langsmith/smith-api/issues/[beta]-list-viewed-issues-for-a-session\"]},{\"group\":\"beacon\",\"pages\":[]},{\"group\":\"fleet auth\",\"pages\":[]},{\"group\":\"fleet mcp\",\"pages\":[]},{\"group\":\"agents\",\"pages\":[]},{\"group\":\"fleet credentials\",\"pages\":[]},{\"group\":\"fleet integrations\",\"pages\":[]},{\"group\":\"fleet\",\"pages\":[]},{\"group\":\"skills\",\"pages\":[]},{\"group\":\"fleet threads\",\"pages\":[]},{\"group\":\"internal\",\"pages\":[]},{\"group\":\"fleet trigger-templates\",\"pages\":[]},{\"group\":\"fleet triggers\",\"pages\":[]},{\"group\":\"engine-trial\",\"pages\":[\"langsmith/smith-api/engine-trial/respond-to-engine-trial-ending-notice\"]},{\"group\":\"fleet_webhooks\",\"pages\":[]},{\"group\":\"fleet github-app\",\"pages\":[]},{\"group\":\"fleet usage\",\"pages\":[]},{\"group\":\"LLM Gateway\",\"pages\":[\"langsmith/smith-api/gateway-policies/list-gateway-policies\",\"langsmith/smith-api/gateway-policies/create-a-gateway-policy\",\"langsmith/smith-api/gateway-policies/get-a-gateway-policy\",\"langsmith/smith-api/gateway-policies/delete-a-gateway-policy\",\"langsmith/smith-api/gateway-policies/update-a-gateway-policy\"]},{\"group\":\"nps\",\"pages\":[]},{\"group\":\"sandboxes-internal\",\"pages\":[]}]},\"langsmith/smith-python-sdk\",\"langsmith/smith-js-ts-sdk\",\"langsmith/smith-go-sdk\",\"langsmith/smith-java-sdk\",\"langsmith/langgraph-python-sdk\",\"langsmith/langgraph-js-ts-sdk\"]},{\"group\":\"LangSmith Deployment\",\"pages\":[{\"group\":\"Agent Server API\",\"pages\":[\"langsmith/server-api-ref\",{\"group\":\"Assistants\",\"pages\":[\"langsmith/agent-server-api/assistants/create-assistant\",\"langsmith/agent-server-api/assistants/search-assistants\",\"langsmith/agent-server-api/assistants/count-assistants\",\"langsmith/agent-server-api/assistants/get-assistant\",\"langsmith/agent-server-api/assistants/delete-assistant\",\"langsmith/agent-server-api/assistants/patch-assistant\",\"langsmith/agent-server-api/assistants/get-assistant-graph\",\"langsmith/agent-server-api/assistants/get-assistant-subgraphs\",\"langsmith/agent-server-api/assistants/get-assistant-subgraphs-by-namespace\",\"langsmith/agent-server-api/assistants/get-assistant-schemas\",\"langsmith/agent-server-api/assistants/get-assistant-versions\",\"langsmith/agent-server-api/assistants/set-latest-assistant-version\"]},{\"group\":\"Threads\",\"pages\":[\"langsmith/agent-server-api/threads/create-thread\",\"langsmith/agent-server-api/threads/search-threads\",\"langsmith/agent-server-api/threads/count-threads\",\"langsmith/agent-server-api/threads/prune-threads\",\"langsmith/agent-server-api/threads/get-thread-state\",\"langsmith/agent-server-api/threads/update-thread-state\",\"langsmith/agent-server-api/threads/get-thread-state-at-checkpoint\",\"langsmith/agent-server-api/threads/get-thread-state-at-checkpoint-1\",\"langsmith/agent-server-api/threads/get-thread-history\",\"langsmith/agent-server-api/threads/get-thread-history-post\",\"langsmith/agent-server-api/threads/copy-thread\",\"langsmith/agent-server-api/threads/get-thread\",\"langsmith/agent-server-api/threads/delete-thread\",\"langsmith/agent-server-api/threads/patch-thread\",\"langsmith/agent-server-api/threads/join-thread-stream\"]},{\"group\":\"Streaming\",\"pages\":[\"langsmith/agent-server-api/streaming/protocol-v2-event-stream-sse\",\"langsmith/agent-server-api/streaming/protocol-v2-command\"]},{\"group\":\"Thread Runs\",\"pages\":[\"langsmith/agent-server-api/thread-runs/list-runs\",\"langsmith/agent-server-api/thread-runs/create-background-run\",\"langsmith/agent-server-api/thread-runs/create-run-stream-output\",\"langsmith/agent-server-api/thread-runs/create-run-wait-for-output\",\"langsmith/agent-server-api/thread-runs/get-run\",\"langsmith/agent-server-api/thread-runs/delete-run\",\"langsmith/agent-server-api/thread-runs/join-run\",\"langsmith/agent-server-api/thread-runs/join-run-stream\",\"langsmith/agent-server-api/thread-runs/cancel-run\",\"langsmith/agent-server-api/thread-runs/cancel-runs\"]},{\"group\":\"Crons\",\"pages\":[\"langsmith/agent-server-api/crons/create-thread-cron\",\"langsmith/agent-server-api/crons/create-cron\",\"langsmith/agent-server-api/crons/search-crons\",\"langsmith/agent-server-api/crons/count-crons\",\"langsmith/agent-server-api/crons/get-cron\",\"langsmith/agent-server-api/crons/delete-cron\",\"langsmith/agent-server-api/crons/update-cron\"]},{\"group\":\"Stateless Runs\",\"pages\":[\"langsmith/agent-server-api/stateless-runs/create-run-stream-output\",\"langsmith/agent-server-api/stateless-runs/create-run-wait-for-output\",\"langsmith/agent-server-api/stateless-runs/create-background-run\",\"langsmith/agent-server-api/stateless-runs/create-run-batch\"]},{\"group\":\"Store\",\"pages\":[\"langsmith/agent-server-api/store/retrieve-a-single-item\",\"langsmith/agent-server-api/store/store-or-update-an-item\",\"langsmith/agent-server-api/store/delete-an-item\",\"langsmith/agent-server-api/store/search-or-list-items-within-a-namespace-prefix\",\"langsmith/agent-server-api/store/list-namespaces-with-optional-match-conditions\"]},{\"group\":\"A2A\",\"pages\":[\"langsmith/agent-server-api/a2a/a2a-json-rpc\"]},{\"group\":\"MCP\",\"pages\":[\"langsmith/agent-server-api/mcp/mcp-get\",\"langsmith/agent-server-api/mcp/mcp-post\",\"langsmith/agent-server-api/mcp/terminate-session\"]},{\"group\":\"System\",\"pages\":[\"langsmith/agent-server-api/system/server-information\",\"langsmith/agent-server-api/system/system-metrics\",\"langsmith/agent-server-api/system/api-documentation\",\"langsmith/agent-server-api/system/health-check\"]}]},{\"group\":\"Control Plane API\",\"pages\":[\"langsmith/api-ref-control-plane\",{\"group\":\"Integrations (v1)\",\"pages\":[\"api-reference/integrations-v1/list-github-integrations\",\"api-reference/integrations-v1/list-github-repositories\",\"api-reference/integrations-v1/list-forge-github-integrations\",\"api-reference/integrations-v1/list-forge-github-repositories\"]},{\"group\":\"Deployments (v2)\",\"pages\":[\"api-reference/deployments-v2/list-deployments\",\"api-reference/deployments-v2/create-deployment\",\"api-reference/deployments-v2/delete-deployments\",\"api-reference/deployments-v2/get-deployment\",\"api-reference/deployments-v2/delete-deployment\",\"api-reference/deployments-v2/patch-deployment\",\"api-reference/deployments-v2/list-revisions\",\"api-reference/deployments-v2/get-revision\",\"api-reference/deployments-v2/redeploy-revision\"]},{\"group\":\"Listeners (v2)\",\"pages\":[\"api-reference/listeners-v2/list-listeners\",\"api-reference/listeners-v2/create-listener\",\"api-reference/listeners-v2/get-listener\",\"api-reference/listeners-v2/delete-listener\",\"api-reference/listeners-v2/patch-listener\"]},{\"group\":\"Auth Service (v2)\",\"pages\":[\"api-reference/auth-service-v2/list-oauth-providers\",\"api-reference/auth-service-v2/create-oauth-provider\",\"api-reference/auth-service-v2/oauth-setup-callback\",\"api-reference/auth-service-v2/oauth-callback-get\",\"api-reference/auth-service-v2/oauth-callback\",\"api-reference/auth-service-v2/authenticate\",\"api-reference/auth-service-v2/wait-for-auth-completion\",\"api-reference/auth-service-v2/create-mcp-oauth-provider\",\"api-reference/auth-service-v2/get-oauth-provider\",\"api-reference/auth-service-v2/delete-oauth-provider\",\"api-reference/auth-service-v2/update-oauth-provider\",\"api-reference/auth-service-v2/list-oauth-tokens-for-user\",\"api-reference/auth-service-v2/delete-oauth-tokens-for-user\",\"api-reference/auth-service-v2/update-token-label\",\"api-reference/auth-service-v2/delete-single-oauth-token\",\"api-reference/auth-service-v2/check-oauth-token-exists\",\"api-reference/auth-service-v2/check-workspace-slack-tokens-exist\",\"api-reference/auth-service-v2/revoke-all-slack-tokens-for-workspace\"]},{\"group\":\"Agent Connections (v2)\",\"pages\":[\"api-reference/agent-connections-v2/list-connections\",\"api-reference/agent-connections-v2/create-connection\",\"api-reference/agent-connections-v2/remove-connection\"]}]},{\"group\":\"Managed Deep Agents API\",\"pages\":[\"langsmith/managed-deep-agents-api\",{\"group\":\"Agents\",\"pages\":[\"langsmith/managed-deep-agents-api/agents/list-agents\",\"langsmith/managed-deep-agents-api/agents/create-agent\",\"langsmith/managed-deep-agents-api/agents/get-agent\",\"langsmith/managed-deep-agents-api/agents/delete-agent\",\"langsmith/managed-deep-agents-api/agents/update-agent\"]},{\"group\":\"Threads\",\"pages\":[\"langsmith/managed-deep-agents-api/threads/create-thread\",\"langsmith/managed-deep-agents-api/threads/search-threads\",\"langsmith/managed-deep-agents-api/threads/count-threads\",\"langsmith/managed-deep-agents-api/threads/get-thread\"]},{\"group\":\"Runs\",\"pages\":[\"langsmith/managed-deep-agents-api/runs/create-thread-run\",\"langsmith/managed-deep-agents-api/runs/stream-thread-run\",\"langsmith/managed-deep-agents-api/runs/resolve-interrupt\"]},{\"group\":\"MCP servers\",\"pages\":[\"langsmith/managed-deep-agents-api/mcp-servers/list-mcp-servers\",\"langsmith/managed-deep-agents-api/mcp-servers/create-mcp-server\",\"langsmith/managed-deep-agents-api/mcp-servers/get-mcp-server\",\"langsmith/managed-deep-agents-api/mcp-servers/delete-mcp-server\",\"langsmith/managed-deep-agents-api/mcp-servers/update-mcp-server\",\"langsmith/managed-deep-agents-api/mcp-servers/register-oauth-provider\"]},{\"group\":\"MCP tools\",\"pages\":[\"langsmith/managed-deep-agents-api/mcp-tools/list-mcp-tools\"]},{\"group\":\"Auth sessions\",\"pages\":[\"langsmith/managed-deep-agents-api/auth-sessions/start-auth-session\",\"langsmith/managed-deep-agents-api/auth-sessions/get-auth-session\"]}]},\"langsmith/smith-deployments-sdk\",\"langsmith/cli\",\"langsmith/remote-graph\",\"langsmith/env-var\"]},{\"group\":\"Releases\",\"pages\":[\"langsmith/agent-server-changelog\",\"langsmith/self-hosted-changelog\",\"langsmith/release-versions\"]}]}]},{\"product\":\"LangSmith Fleet\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/fleet-icon-dark.png\",\"description\":\"Create helpful AI agents without code\",\"pages\":[\"langsmith/fleet/index\",{\"group\":\"Get started\",\"pages\":[\"langsmith/fleet/quickstart\",\"langsmith/fleet/essentials\",\"langsmith/fleet/templates\",\"langsmith/fleet/comparison\"]},{\"group\":\"Configure\",\"pages\":[\"langsmith/fleet/workspace-admin\",\"langsmith/fleet/agent-identity\",\"langsmith/fleet/manage-agent-settings\",\"langsmith/fleet/computer-use\"]},{\"group\":\"Tools and automation\",\"pages\":[\"langsmith/fleet/tools\",\"langsmith/fleet/channels\",\"langsmith/fleet/schedules\",\"langsmith/fleet/skills\",\"langsmith/fleet/slack-app\",\"langsmith/fleet/teams-app\",\"langsmith/fleet/remote-mcp-servers\",\"langsmith/fleet/arcade\",\"langsmith/fleet/salesforce\"]},{\"group\":\"Advanced\",\"pages\":[\"langsmith/fleet/code\",\"langsmith/fleet/mcp-framework\",\"langsmith/fleet/webhooks\",\"langsmith/fleet/auth-format\"]},{\"group\":\"Additional resources\",\"pages\":[\"langsmith/fleet/access-and-oversight\",\"langsmith/fleet/self-hosted-link\"]}]},{\"product\":\"Open source\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/langchain-icon.png\",\"description\":\"Build agents with our open source packages\",\"dropdowns\":[{\"dropdown\":\"Python\",\"icon\":{\"style\":\"regular\",\"name\":\"brand-python\"},\"tabs\":[{\"tab\":\"Deep Agents\",\"pages\":[\"oss/python/deepagents/overview\",{\"group\":\"Get started\",\"pages\":[\"oss/python/deepagents/quickstart\",\"oss/python/deepagents/customization\",\"oss/python/deepagents/comparison\",\"oss/python/deepagents/changelog-py\"]},{\"group\":\"Deployment\",\"pages\":[\"langsmith/managed-deep-agents\",\"oss/python/deepagents/going-to-production\"]},{\"group\":\"Core capabilities\",\"pages\":[\"oss/python/deepagents/harness\",\"oss/python/deepagents/models\",\"oss/python/deepagents/context-engineering\",\"oss/python/deepagents/backends\",\"oss/python/deepagents/subagents\",\"oss/python/deepagents/async-subagents\",\"oss/python/deepagents/human-in-the-loop\",\"oss/python/deepagents/permissions\",\"oss/python/deepagents/memory\",\"oss/python/deepagents/skills\",\"oss/python/deepagents/sandboxes\",\"oss/python/deepagents/interpreters\",\"oss/python/deepagents/profiles\",\"oss/python/deepagents/event-streaming\",\"oss/python/deepagents/streaming\",\"oss/python/deepagents/rubric\"]},{\"group\":\"Frontend\",\"pages\":[\"oss/python/deepagents/frontend/overview\",{\"group\":\"Patterns\",\"pages\":[\"oss/python/deepagents/frontend/subagent-streaming\",\"oss/python/deepagents/frontend/todo-list\",\"oss/python/deepagents/frontend/sandbox\"]}]},{\"group\":\"Protocols\",\"pages\":[\"oss/python/deepagents/acp\",\"oss/python/deepagents/mcp\",\"oss/python/deepagents/a2a\"]},{\"group\":\"Deep Agents Code\",\"pages\":[\"oss/python/deepagents/code/overview\",\"oss/python/deepagents/code/memory-and-skills\",\"oss/python/deepagents/code/remote-sandboxes\",\"oss/python/deepagents/code/subagents\",\"oss/python/deepagents/code/providers\",\"oss/python/deepagents/code/configuration\",\"oss/python/deepagents/code/mcp-tools\",\"oss/python/deepagents/code/data-locations\"]}]},{\"tab\":\"LangChain\",\"pages\":[\"oss/python/langchain/overview\",{\"group\":\"Get started\",\"pages\":[\"oss/python/langchain/install\",\"oss/python/langchain/quickstart\",\"oss/python/langchain/changelog-py\",\"oss/python/langchain/philosophy\"]},{\"group\":\"Core components\",\"pages\":[\"oss/python/langchain/agents\",\"oss/python/langchain/models\",\"oss/python/langchain/messages\",\"oss/python/langchain/tools\",\"oss/python/langchain/short-term-memory\",\"oss/python/langchain/event-streaming\",\"oss/python/langchain/streaming\",\"oss/python/langchain/structured-output\"]},{\"group\":\"Middleware\",\"pages\":[\"oss/python/langchain/middleware/overview\",\"oss/python/langchain/middleware/built-in\",\"oss/python/langchain/middleware/custom\"]},{\"group\":\"Frontend\",\"pages\":[\"oss/python/langchain/frontend/overview\",{\"group\":\"Patterns\",\"pages\":[\"oss/python/langchain/frontend/markdown-messages\",\"oss/python/langchain/frontend/tool-calling\",\"oss/python/langchain/frontend/human-in-the-loop\",\"oss/python/langchain/frontend/branching-chat\",\"oss/python/langchain/frontend/reasoning-tokens\",\"oss/python/langchain/frontend/structured-output\",\"oss/python/langchain/frontend/message-queues\",\"oss/python/langchain/frontend/join-rejoin\",\"oss/python/langchain/frontend/time-travel\",\"oss/python/langchain/frontend/generative-ui\"]},{\"group\":\"Integrations\",\"pages\":[\"oss/python/langchain/frontend/integrations/overview\",\"oss/python/langchain/frontend/integrations/copilotkit\",\"oss/python/langchain/frontend/integrations/ai-elements\",\"oss/python/langchain/frontend/integrations/assistant-ui\",\"oss/python/langchain/frontend/integrations/openui\"]}]},{\"group\":\"Advanced usage\",\"pages\":[\"oss/python/langchain/guardrails\",\"oss/python/langchain/runtime\",\"oss/python/langchain/context-engineering\",\"oss/python/langchain/mcp\",\"oss/python/langchain/human-in-the-loop\",{\"group\":\"Multi-agent\",\"pages\":[\"oss/python/langchain/multi-agent/index\",\"oss/python/langchain/multi-agent/subagents\",\"oss/python/langchain/multi-agent/handoffs\",\"oss/python/langchain/multi-agent/skills\",\"oss/python/langchain/multi-agent/router\",\"oss/python/langchain/multi-agent/custom-workflow\"]},\"oss/python/langchain/retrieval\",\"oss/python/langchain/long-term-memory\"]},{\"group\":\"Agent development\",\"pages\":[\"oss/python/langchain/studio\",{\"group\":\"Test\",\"pages\":[\"oss/python/langchain/test/index\",\"oss/python/langchain/test/unit-testing\",\"oss/python/langchain/test/integration-testing\",\"oss/python/langchain/test/evals\"]},\"oss/python/langchain/ui\"]},{\"group\":\"Deploy with LangSmith\",\"pages\":[\"oss/python/langchain/deploy\",\"oss/python/langchain/observability\"]}]},{\"tab\":\"LangGraph\",\"pages\":[\"oss/python/langgraph/overview\",{\"group\":\"Get started\",\"pages\":[\"oss/python/langgraph/install\",\"oss/python/langgraph/quickstart\",\"oss/python/langgraph/local-server\",\"oss/python/langgraph/changelog-py\",\"oss/python/langgraph/thinking-in-langgraph\",\"oss/python/langgraph/workflows-agents\"]},{\"group\":\"Capabilities\",\"pages\":[\"oss/python/langgraph/persistence\",\"oss/python/langgraph/fault-tolerance\",\"oss/python/langgraph/event-streaming\",\"oss/python/langgraph/streaming\",\"oss/python/langgraph/interrupts\",\"oss/python/langgraph/use-time-travel\",\"oss/python/langgraph/add-memory\",\"oss/python/langgraph/use-subgraphs\"]},{\"group\":\"Production\",\"pages\":[\"oss/python/langgraph/application-structure\",\"oss/python/langgraph/test\",\"oss/python/langgraph/backward-compatibility\",\"oss/python/langgraph/studio\",\"oss/python/langgraph/ui\",\"oss/python/langgraph/deploy\",\"oss/python/langgraph/observability\"]},{\"group\":\"Frontend\",\"pages\":[\"oss/python/langgraph/frontend/overview\",\"oss/python/langgraph/frontend/graph-execution\"]},{\"group\":\"LangGraph APIs\",\"pages\":[{\"group\":\"Graph API\",\"pages\":[\"oss/python/langgraph/choosing-apis\",\"oss/python/langgraph/graph-api\",\"oss/python/langgraph/use-graph-api\"]},{\"group\":\"Functional API\",\"pages\":[\"oss/python/langgraph/functional-api\",\"oss/python/langgraph/use-functional-api\"]},\"oss/python/langgraph/pregel\"]}]},{\"tab\":\"Integrations\",\"pages\":[\"oss/python/integrations/providers/overview\",\"oss/python/integrations/providers/all_providers\",{\"group\":\"Popular Providers\",\"icon\":\"users-group\",\"pages\":[\"oss/python/integrations/providers/openai\",\"oss/python/integrations/providers/anthropic\",\"oss/python/integrations/providers/google\",\"oss/python/integrations/providers/aws\",\"oss/python/integrations/providers/nvidia\",\"oss/python/integrations/providers/huggingface\",\"oss/python/integrations/providers/microsoft\",\"oss/python/integrations/providers/ollama\",\"oss/python/integrations/providers/groq\",\"oss/python/integrations/providers/fireworks\"]},{\"group\":\"Integrations by component\",\"icon\":\"plug\",\"pages\":[\"oss/python/integrations/chat/index\",\"oss/python/integrations/tools/index\",\"oss/python/integrations/middleware/index\",\"oss/python/integrations/sandboxes/index\",\"oss/python/integrations/checkpointers/index\",\"oss/python/integrations/retrievers/index\",\"oss/python/integrations/splitters/index\",\"oss/python/integrations/embeddings/index\",\"oss/python/integrations/vectorstores/index\",\"oss/python/integrations/document_loaders/index\"]}]},{\"tab\":\"Learn\",\"pages\":[\"oss/python/learn\",{\"group\":\"Tutorials\",\"icon\":\"code\",\"pages\":[{\"group\":\"Deep Agents\",\"expanded\":true,\"pages\":[\"oss/python/deepagents/data-analysis\",\"oss/python/deepagents/deep-research\",\"oss/python/deepagents/content-builder\"]},{\"group\":\"LangChain\",\"expanded\":true,\"pages\":[\"oss/python/langchain/deep-agent-from-scratch\",\"oss/python/langchain/knowledge-base\",\"oss/python/langchain/rag\",\"oss/python/langchain/sql-agent\",\"oss/python/langchain/voice-agent\"]},{\"group\":\"Multi-agent\",\"expanded\":true,\"pages\":[\"oss/python/langchain/multi-agent/subagents-personal-assistant\",\"oss/python/langchain/multi-agent/handoffs-customer-support\",\"oss/python/langchain/multi-agent/router-knowledge-base\",\"oss/python/langchain/multi-agent/skills-sql-assistant\"]},{\"group\":\"LangGraph\",\"expanded\":true,\"pages\":[\"oss/python/langgraph/agentic-rag\",\"oss/python/langgraph/sql-agent\"]}]},{\"group\":\"Conceptual overviews\",\"icon\":\"book\",\"pages\":[\"oss/python/concepts/products\",\"oss/python/concepts/providers-and-models\",\"oss/python/langchain/component-architecture\",\"oss/python/concepts/memory\",\"oss/python/concepts/context\",\"oss/python/langgraph/graph-api\",\"oss/python/langgraph/functional-api\"]},{\"group\":\"Additional resources\",\"icon\":\"list\",\"pages\":[\"oss/python/langchain/academy\",\"oss/python/langgraph/case-studies\",\"oss/python/langchain/get-help\"]}]},{\"tab\":\"Reference\",\"pages\":[\"oss/python/reference/overview\",{\"group\":\"Reference\",\"pages\":[\"oss/python/reference/deepagents-python\",\"oss/python/reference/langchain-python\",\"oss/python/reference/langgraph-python\",\"oss/python/reference/integrations-python\"]},{\"group\":\"Errors\",\"pages\":[\"oss/python/common-errors\"]},{\"group\":\"Releases\",\"pages\":[\"oss/python/versioning\",\"oss/python/releases/changelog\",{\"group\":\"Releases\",\"pages\":[\"oss/python/releases/langchain-v1\",\"oss/python/releases/langgraph-v1\"]},{\"group\":\"Migration guides\",\"pages\":[\"oss/python/migrate/langchain-v1\",\"oss/python/migrate/langgraph-v1\"]}]},{\"group\":\"Policies\",\"pages\":[\"oss/python/release-policy\",\"oss/python/security-policy\"]}]},{\"tab\":\"Contribute\",\"pages\":[\"oss/python/contributing/overview\",{\"group\":\"Contribute\",\"icon\":\"heart-plus\",\"pages\":[\"oss/python/contributing/documentation\",\"oss/python/contributing/code\",{\"group\":\"Integrations\",\"pages\":[\"oss/python/contributing/integrations-langchain\",\"oss/python/contributing/implement-langchain\",\"oss/python/contributing/standard-tests-langchain\",\"oss/python/contributing/publish-langchain\",\"oss/python/contributing/comarketing\"]}]}]}]},{\"dropdown\":\"TypeScript\",\"icon\":{\"style\":\"regular\",\"name\":\"brand-typescript\"},\"tabs\":[{\"tab\":\"Deep Agents\",\"pages\":[\"oss/javascript/deepagents/overview\",{\"group\":\"Get started\",\"pages\":[\"oss/javascript/deepagents/quickstart\",\"oss/javascript/deepagents/customization\",\"oss/javascript/deepagents/comparison\",\"oss/javascript/deepagents/changelog-js\"]},{\"group\":\"Deployment\",\"pages\":[\"langsmith/managed-deep-agents\",\"oss/javascript/deepagents/going-to-production\"]},{\"group\":\"Core capabilities\",\"pages\":[\"oss/javascript/deepagents/harness\",\"oss/javascript/deepagents/models\",\"oss/javascript/deepagents/context-engineering\",\"oss/javascript/deepagents/backends\",\"oss/javascript/deepagents/subagents\",\"oss/javascript/deepagents/async-subagents\",\"oss/javascript/deepagents/human-in-the-loop\",\"oss/javascript/deepagents/permissions\",\"oss/javascript/deepagents/memory\",\"oss/javascript/deepagents/skills\",\"oss/javascript/deepagents/sandboxes\",\"oss/javascript/deepagents/interpreters\",\"oss/javascript/deepagents/profiles\",\"oss/javascript/deepagents/event-streaming\",\"oss/javascript/deepagents/streaming\"]},{\"group\":\"Frontend\",\"pages\":[\"oss/javascript/deepagents/frontend/overview\",{\"group\":\"Patterns\",\"pages\":[\"oss/javascript/deepagents/frontend/subagent-streaming\",\"oss/javascript/deepagents/frontend/todo-list\",\"oss/javascript/deepagents/frontend/sandbox\"]}]},{\"group\":\"Protocols\",\"pages\":[\"oss/javascript/deepagents/acp\",\"oss/javascript/deepagents/mcp\",\"oss/javascript/deepagents/a2a\"]},{\"group\":\"Deep Agents Code\",\"pages\":[\"oss/javascript/deepagents/code/overview\",\"oss/javascript/deepagents/code/memory-and-skills\",\"oss/javascript/deepagents/code/remote-sandboxes\",\"oss/javascript/deepagents/code/subagents\",\"oss/javascript/deepagents/code/providers\",\"oss/javascript/deepagents/code/configuration\",\"oss/javascript/deepagents/code/mcp-tools\",\"oss/javascript/deepagents/code/data-locations\"]}]},{\"tab\":\"LangChain\",\"pages\":[\"oss/javascript/langchain/overview\",{\"group\":\"Get started\",\"pages\":[\"oss/javascript/langchain/install\",\"oss/javascript/langchain/quickstart\",\"oss/javascript/langchain/changelog-js\",\"oss/javascript/langchain/philosophy\"]},{\"group\":\"Core components\",\"pages\":[\"oss/javascript/langchain/agents\",\"oss/javascript/langchain/models\",\"oss/javascript/langchain/messages\",\"oss/javascript/langchain/tools\",\"oss/javascript/langchain/short-term-memory\",\"oss/javascript/langchain/event-streaming\",\"oss/javascript/langchain/streaming\",\"oss/javascript/langchain/structured-output\"]},{\"group\":\"Middleware\",\"pages\":[\"oss/javascript/langchain/middleware/overview\",\"oss/javascript/langchain/middleware/built-in\",\"oss/javascript/langchain/middleware/custom\"]},{\"group\":\"Frontend\",\"pages\":[\"oss/javascript/langchain/frontend/overview\",{\"group\":\"Patterns\",\"pages\":[\"oss/javascript/langchain/frontend/markdown-messages\",\"oss/javascript/langchain/frontend/tool-calling\",\"oss/javascript/langchain/frontend/human-in-the-loop\",\"oss/javascript/langchain/frontend/branching-chat\",\"oss/javascript/langchain/frontend/reasoning-tokens\",\"oss/javascript/langchain/frontend/structured-output\",\"oss/javascript/langchain/frontend/message-queues\",\"oss/javascript/langchain/frontend/join-rejoin\",\"oss/javascript/langchain/frontend/time-travel\",\"oss/javascript/langchain/frontend/generative-ui\"]},{\"group\":\"Integrations\",\"pages\":[\"oss/javascript/langchain/frontend/integrations/overview\",\"oss/javascript/langchain/frontend/integrations/copilotkit\",\"oss/javascript/langchain/frontend/integrations/ai-elements\",\"oss/javascript/langchain/frontend/integrations/assistant-ui\",\"oss/javascript/langchain/frontend/integrations/openui\"]}]},{\"group\":\"Advanced usage\",\"pages\":[\"oss/javascript/langchain/guardrails\",\"oss/javascript/langchain/runtime\",\"oss/javascript/langchain/context-engineering\",\"oss/javascript/langchain/mcp\",\"oss/javascript/langchain/human-in-the-loop\",{\"group\":\"Multi-agent\",\"pages\":[\"oss/javascript/langchain/multi-agent/index\",\"oss/javascript/langchain/multi-agent/subagents\",\"oss/javascript/langchain/multi-agent/handoffs\",\"oss/javascript/langchain/multi-agent/skills\",\"oss/javascript/langchain/multi-agent/router\",\"oss/javascript/langchain/multi-agent/custom-workflow\"]},\"oss/javascript/langchain/retrieval\",\"oss/javascript/langchain/long-term-memory\"]},{\"group\":\"Agent development\",\"pages\":[\"oss/javascript/langchain/studio\",{\"group\":\"Test\",\"pages\":[\"oss/javascript/langchain/test/index\",\"oss/javascript/langchain/test/unit-testing\",\"oss/javascript/langchain/test/integration-testing\",\"oss/javascript/langchain/test/evals\"]},\"oss/javascript/langchain/ui\"]},{\"group\":\"Deploy with LangSmith\",\"pages\":[\"oss/javascript/langchain/deploy\",\"oss/javascript/langchain/observability\"]}]},{\"tab\":\"LangGraph\",\"pages\":[\"oss/javascript/langgraph/overview\",{\"group\":\"Get started\",\"pages\":[\"oss/javascript/langgraph/install\",\"oss/javascript/langgraph/quickstart\",\"oss/javascript/langgraph/local-server\",\"oss/javascript/langgraph/changelog-js\",\"oss/javascript/langgraph/thinking-in-langgraph\",\"oss/javascript/langgraph/workflows-agents\"]},{\"group\":\"Capabilities\",\"pages\":[\"oss/javascript/langgraph/persistence\",\"oss/javascript/langgraph/event-streaming\",\"oss/javascript/langgraph/streaming\",\"oss/javascript/langgraph/interrupts\",\"oss/javascript/langgraph/use-time-travel\",\"oss/javascript/langgraph/add-memory\",\"oss/javascript/langgraph/use-subgraphs\"]},{\"group\":\"Production\",\"pages\":[\"oss/javascript/langgraph/application-structure\",\"oss/javascript/langgraph/test\",\"oss/javascript/langgraph/backward-compatibility\",\"oss/javascript/langgraph/studio\",\"oss/javascript/langgraph/ui\",\"oss/javascript/langgraph/deploy\",\"oss/javascript/langgraph/observability\"]},{\"group\":\"Frontend\",\"pages\":[\"oss/javascript/langgraph/frontend/overview\",\"oss/javascript/langgraph/frontend/graph-execution\"]},{\"group\":\"LangGraph APIs\",\"pages\":[{\"group\":\"Graph API\",\"pages\":[\"oss/javascript/langgraph/choosing-apis\",\"oss/javascript/langgraph/graph-api\",\"oss/javascript/langgraph/use-graph-api\"]},{\"group\":\"Functional API\",\"pages\":[\"oss/javascript/langgraph/functional-api\",\"oss/javascript/langgraph/use-functional-api\"]},\"oss/javascript/langgraph/pregel\"]}]},{\"tab\":\"Integrations\",\"pages\":[\"oss/javascript/integrations/providers/overview\",\"oss/javascript/integrations/providers/all_providers\",{\"group\":\"Popular Providers\",\"icon\":\"users-group\",\"pages\":[{\"group\":\"OpenAI\",\"pages\":[\"oss/javascript/integrations/providers/openai\",\"oss/javascript/integrations/chat/openai\",\"oss/javascript/integrations/embeddings/openai\",\"oss/javascript/integrations/tools/openai\"]},{\"group\":\"Anthropic\",\"pages\":[\"oss/javascript/integrations/providers/anthropic\",\"oss/javascript/integrations/chat/anthropic\",\"oss/javascript/integrations/tools/anthropic\"]},{\"group\":\"Google\",\"pages\":[\"oss/javascript/integrations/providers/google\",\"oss/javascript/integrations/chat/google\",\"oss/javascript/integrations/tools/google\",\"oss/javascript/integrations/chat/google_generative_ai\",\"oss/javascript/integrations/chat/google_vertex_ai\"]},{\"group\":\"AWS\",\"pages\":[\"oss/javascript/integrations/providers/aws\",\"oss/javascript/integrations/chat/bedrock_converse\",\"oss/javascript/integrations/embeddings/bedrock\"]},{\"group\":\"Microsoft\",\"pages\":[\"oss/javascript/integrations/providers/microsoft\",\"oss/javascript/integrations/chat/azure\",\"oss/javascript/integrations/embeddings/azure_openai\"]}]},{\"group\":\"General integrations\",\"icon\":\"plug\",\"pages\":[\"oss/javascript/integrations/chat/index\",\"oss/javascript/integrations/tools/index\",\"oss/javascript/integrations/llms/index\",\"oss/javascript/integrations/middleware/index\",\"oss/javascript/integrations/sandboxes/index\",\"oss/javascript/integrations/stores/index\",\"oss/javascript/integrations/document_transformers/index\",\"oss/javascript/integrations/llm_caching/index\"]},{\"group\":\"RAG integrations\",\"icon\":\"database\",\"pages\":[\"oss/javascript/integrations/retrievers/index\",\"oss/javascript/integrations/splitters/index\",\"oss/javascript/integrations/embeddings/index\",\"oss/javascript/integrations/vectorstores/index\",\"oss/javascript/integrations/document_loaders/index\",\"oss/javascript/integrations/stores/index\"]}]},{\"tab\":\"Learn\",\"pages\":[\"oss/javascript/learn\",{\"group\":\"Tutorials\",\"icon\":\"code\",\"pages\":[{\"group\":\"Deep Agents\",\"expanded\":true,\"pages\":[\"oss/javascript/deepagents/deep-research\",\"oss/javascript/deepagents/content-builder\"]},{\"group\":\"LangChain\",\"expanded\":true,\"pages\":[\"oss/javascript/langchain/knowledge-base\",\"oss/javascript/langchain/rag\",\"oss/javascript/langchain/sql-agent\",\"oss/javascript/langchain/voice-agent\"]},{\"group\":\"Multi-agent\",\"expanded\":true,\"pages\":[\"oss/javascript/langchain/multi-agent/subagents-personal-assistant\",\"oss/javascript/langchain/multi-agent/handoffs-customer-support\",\"oss/javascript/langchain/multi-agent/router-knowledge-base\",\"oss/javascript/langchain/multi-agent/skills-sql-assistant\"]},{\"group\":\"LangGraph\",\"expanded\":true,\"pages\":[\"oss/javascript/langgraph/agentic-rag\"]}]},{\"group\":\"Conceptual overviews\",\"icon\":\"book\",\"pages\":[\"oss/javascript/concepts/products\",\"oss/javascript/concepts/providers-and-models\",\"oss/javascript/langchain/component-architecture\",\"oss/javascript/concepts/memory\",\"oss/javascript/concepts/context\",\"oss/javascript/langgraph/graph-api\",\"oss/javascript/langgraph/functional-api\"]},{\"group\":\"LangChain Academy\",\"icon\":\"school\",\"pages\":[\"oss/javascript/langchain/academy\"]},{\"group\":\"Additional resources\",\"icon\":\"list\",\"pages\":[\"oss/javascript/langgraph/case-studies\",\"oss/javascript/langchain/get-help\"]}]},{\"tab\":\"Reference\",\"pages\":[\"oss/javascript/reference/overview\",{\"group\":\"Reference\",\"pages\":[\"oss/javascript/reference/deepagents-javascript\",\"oss/javascript/reference/langchain-javascript\",\"oss/javascript/reference/langgraph-javascript\",\"oss/javascript/reference/integrations-javascript\"]},{\"group\":\"Errors\",\"pages\":[\"oss/javascript/common-errors\"]},{\"group\":\"Releases\",\"pages\":[\"oss/javascript/versioning\",\"oss/javascript/releases/changelog\",{\"group\":\"Releases\",\"pages\":[\"oss/javascript/releases/langchain-v1\",\"oss/javascript/releases/langgraph-v1\"]},{\"group\":\"Migration guides\",\"pages\":[\"oss/javascript/migrate/langchain-v1\",\"oss/javascript/migrate/langgraph-v1\"]}]},{\"group\":\"Policies\",\"pages\":[\"oss/javascript/release-policy\",\"oss/javascript/security-policy\"]}]},{\"tab\":\"Contribute\",\"pages\":[\"oss/javascript/contributing/overview\",{\"group\":\"Contribute\",\"icon\":\"heart-plus\",\"pages\":[\"oss/javascript/contributing/documentation\",\"oss/javascript/contributing/code\",{\"group\":\"Integrations\",\"pages\":[\"oss/javascript/contributing/integrations-langchain\",\"oss/javascript/contributing/implement-langchain\",\"oss/javascript/contributing/standard-tests-langchain\",\"oss/javascript/contributing/publish-langchain\",\"oss/javascript/contributing/comarketing\"]}]}]}]}]}]},\"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\":\"$1a:2:props:children:props:codeblockTheme\",\"latex\":true},\"redirects\":[{\"source\":\"/langsmith/prebuilt-evaluators\",\"destination\":\"/langsmith/evaluators\"},{\"source\":\"/langsmith/deploy-hybrid\",\"destination\":\"/langsmith/hybrid-legacy\"},{\"source\":\"/langsmith/sandbox-templates\",\"destination\":\"/langsmith/sandbox-snapshots\"},{\"source\":\"/langsmith/sandbox-warm-pools\",\"destination\":\"/langsmith/sandbox-snapshots\"},{\"source\":\"/langsmith/custom-run-id\",\"destination\":\"/langsmith/annotate-code#specify-a-custom-run-id\"},{\"source\":\"/langsmith/docker\",\"destination\":\"/langsmith/self-hosted\"},{\"source\":\"/oss/python/langgraph/memory\",\"destination\":\"/oss/python/concepts/memory\"},{\"source\":\"/oss/javascript/langgraph/memory\",\"destination\":\"/oss/javascript/concepts/memory\"},{\"source\":\"/oss/deepagents/memory\",\"destination\":\"/oss/python/deepagents/memory\"},{\"source\":\"/oss/deepagents/long-term-memory\",\"destination\":\"/oss/python/deepagents/memory\"},{\"source\":\"/oss/python/deepagents/long-term-memory\",\"destination\":\"/oss/python/deepagents/memory\"},{\"source\":\"/oss/javascript/deepagents/long-term-memory\",\"destination\":\"/oss/javascript/deepagents/memory\"},{\"source\":\"/oss/python/langgraph/timeout-and-error-handling\",\"destination\":\"/oss/python/langgraph/fault-tolerance\"},{\"source\":\"/oss/javascript/langgraph/timeout-and-error-handling\",\"destination\":\"/oss/javascript/langgraph/fault-tolerance\"},{\"source\":\"/oss/python/langgraph/durable-execution\",\"destination\":\"/oss/python/langgraph/persistence\"},{\"source\":\"/oss/javascript/langgraph/durable-execution\",\"destination\":\"/oss/javascript/langgraph/persistence\"},{\"source\":\"/docs\",\"destination\":\"/\"},{\"source\":\"/langsmith/local-server\",\"destination\":\"/langsmith/local-dev-testing\"},{\"source\":\"/langsmith/alerts-pagerduty\",\"destination\":\"/langsmith/alerts\"},{\"source\":\"/langsmith/run-evaluation-from-prompt-playground\",\"destination\":\"/langsmith/run-evaluation-from-playground\"},{\"source\":\"/langsmith/alerts-webhook\",\"destination\":\"/langsmith/alerts\"},{\"source\":\"/langsmith/architectural-overview\",\"destination\":\"/langsmith/self-hosted\"},{\"source\":\"/langsmith/langsmith-fetch\",\"destination\":\"/langsmith/langsmith-cli\"},{\"source\":\"/langsmith/api-v1-v2-overview\",\"destination\":\"/langsmith/trace-with-api\"},{\"source\":\"/langsmith/endpoint-deprecation\",\"destination\":\"/langsmith/trace-with-api\"},{\"source\":\"/langsmith/endpoint-migration\",\"destination\":\"/langsmith/trace-with-api\"},{\"source\":\"/langsmith/setup-java\",\"destination\":\"https://reference.langchain.com/java/langsmith\"},{\"source\":\"langsmith/agent-builder-visibility\",\"destination\":\"/langsmith/fleet/manage-agent-settings\"},{\"source\":\"langsmith/connect-agent-to-slack.mdx\",\"destination\":\"/langsmith/fleet/slack-app\"},{\"source\":\"langsmith/agent-builder-workspace-vs-private\",\"destination\":\"/langsmith/fleet/manage-agent-settings\"},{\"source\":\"/langsmith/agent-builder\",\"destination\":\"/langsmith/fleet/index\"},{\"source\":\"/langsmith/agent-builder-quickstart\",\"destination\":\"/langsmith/fleet/quickstart\"},{\"source\":\"/langsmith/agent-builder-essentials\",\"destination\":\"/langsmith/fleet/essentials\"},{\"source\":\"/langsmith/agent-builder-templates\",\"destination\":\"/langsmith/fleet/templates\"},{\"source\":\"/langsmith/agent-builder-setup\",\"destination\":\"/langsmith/fleet/workspace-admin\"},{\"source\":\"/langsmith/agent-builder-manage-agent-settings\",\"destination\":\"/langsmith/fleet/manage-agent-settings\"},{\"source\":\"/langsmith/agent-builder-tools\",\"destination\":\"/langsmith/fleet/tools\"},{\"source\":\"/langsmith/agent-builder-triggers\",\"destination\":\"/langsmith/fleet/channels\"},{\"source\":\"/langsmith/fleet/triggers\",\"destination\":\"/langsmith/fleet/channels\"},{\"source\":\"/langsmith/agent-builder-remote-mcp-servers\",\"destination\":\"/langsmith/fleet/remote-mcp-servers\"},{\"source\":\"/langsmith/agent-builder-webhooks\",\"destination\":\"/langsmith/fleet/webhooks\"},{\"source\":\"/langsmith/agent-builder-slack-app\",\"destination\":\"/langsmith/fleet/slack-app\"},{\"source\":\"/langsmith/agent-builder-auth-format\",\"destination\":\"/langsmith/fleet/auth-format\"},{\"source\":\"/langsmith/agent-builder-code\",\"destination\":\"/langsmith/fleet/code\"},{\"source\":\"/langsmith/agent-builder-mcp-framework\",\"destination\":\"/langsmith/fleet/mcp-framework\"},{\"source\":\"/langsmith/agent-builder-pricing-faq\",\"destination\":\"https://www.langchain.com/pricing\"},{\"source\":\"/langsmith/pricing-faq\",\"destination\":\"https://www.langchain.com/pricing\"},{\"source\":\"/langsmith/fleet/pricing-faq\",\"destination\":\"https://www.langchain.com/pricing\"},{\"source\":\"/langsmith/agent-builder-self-hosted\",\"destination\":\"/langsmith/deploy-self-hosted-full-platform#enable-fleet-insights-and-polly\"},{\"source\":\"/langsmith/fleet/self-hosted\",\"destination\":\"/langsmith/deploy-self-hosted-full-platform#enable-fleet-insights-and-polly\"},{\"source\":\"/langsmith/insights-self-hosted\",\"destination\":\"/langsmith/deploy-self-hosted-full-platform#enable-fleet-insights-and-polly\"},{\"source\":\"/langsmith/polly-self-hosted\",\"destination\":\"/langsmith/deploy-self-hosted-full-platform#enable-fleet-insights-and-polly\"},{\"source\":\"/labs/swe/:path*\",\"destination\":\"https://github.com/langchain-ai/open-swe/tree/main/apps/docs\"},{\"source\":\"/langchain\",\"destination\":\"/oss/python/langchain/overview\"},{\"source\":\"/oss/langchain/agents\",\"destination\":\"/oss/python/langchain/agents\"},{\"source\":\"/langchain-academy\",\"destination\":\"https://academy.langchain.com/\"},{\"source\":\"/oss/langchain/academy2\",\"destination\":\"https://academy.langchain.com/\"},{\"source\":\"/oss/langchain/academy3\",\"destination\":\"https://academy.langchain.com/\"},{\"source\":\"/langgraph\",\"destination\":\"/oss/python/langgraph/overview\"},{\"source\":\"/deepagents\",\"destination\":\"/oss/python/deepagents/overview\"},{\"source\":\"/deepagents-cli\",\"destination\":\"/oss/python/deepagents/code/overview\"},{\"source\":\"/deepagents-code\",\"destination\":\"/oss/python/deepagents/code/overview\"},{\"source\":\"/oss/python/deepagents/cli\",\"destination\":\"/oss/python/deepagents/code/overview\"},{\"source\":\"/oss/javascript/deepagents/cli\",\"destination\":\"/oss/javascript/deepagents/code/overview\"},{\"source\":\"/oss/python/deepagents/cli/:path*\",\"destination\":\"/oss/python/deepagents/code/:path*\"},{\"source\":\"/oss/javascript/deepagents/cli/:path*\",\"destination\":\"/oss/javascript/deepagents/code/:path*\"},{\"source\":\"/oss/python/deepagents/cli/overview\",\"destination\":\"/oss/python/deepagents/code/overview\"},{\"source\":\"/oss/python/deepagents/cli/configuration\",\"destination\":\"/oss/python/deepagents/code/configuration\"},{\"source\":\"/oss/python/deepagents/cli/providers\",\"destination\":\"/oss/python/deepagents/code/providers\"},{\"source\":\"/oss/python/deepagents/cli/memory-and-skills\",\"destination\":\"/oss/python/deepagents/code/memory-and-skills\"},{\"source\":\"/oss/python/deepagents/cli/remote-sandboxes\",\"destination\":\"/oss/python/deepagents/code/remote-sandboxes\"},{\"source\":\"/oss/python/deepagents/cli/mcp-tools\",\"destination\":\"/oss/python/deepagents/code/mcp-tools\"},{\"source\":\"/oss/python/deepagents/cli/subagents\",\"destination\":\"/oss/python/deepagents/code/subagents\"},{\"source\":\"/oss/javascript/deepagents/cli/overview\",\"destination\":\"/oss/javascript/deepagents/code/overview\"},{\"source\":\"/oss/javascript/deepagents/cli/configuration\",\"destination\":\"/oss/javascript/deepagents/code/configuration\"},{\"source\":\"/oss/javascript/deepagents/cli/providers\",\"destination\":\"/oss/javascript/deepagents/code/providers\"},{\"source\":\"/oss/javascript/deepagents/cli/memory-and-skills\",\"destination\":\"/oss/javascript/deepagents/code/memory-and-skills\"},{\"source\":\"/oss/javascript/deepagents/cli/remote-sandboxes\",\"destination\":\"/oss/javascript/deepagents/code/remote-sandboxes\"},{\"source\":\"/oss/javascript/deepagents/cli/mcp-tools\",\"destination\":\"/oss/javascript/deepagents/code/mcp-tools\"},{\"source\":\"/oss/javascript/deepagents/cli/subagents\",\"destination\":\"/oss/javascript/deepagents/code/subagents\"},{\"source\":\"/oss/python/deepagents/data-locations\",\"destination\":\"/oss/python/deepagents/code/data-locations\"},{\"source\":\"/oss/javascript/deepagents/data-locations\",\"destination\":\"/oss/javascript/deepagents/code/data-locations\"},{\"source\":\"/oss/python/deepagents/deploy\",\"destination\":\"/langsmith/managed-deep-agents-overview\"},{\"source\":\"/oss/javascript/deepagents/deploy\",\"destination\":\"/langsmith/managed-deep-agents-overview\"},{\"source\":\"/oss/python/deepagents/deploy/overview\",\"destination\":\"/langsmith/managed-deep-agents-overview\"},{\"source\":\"/oss/javascript/deepagents/deploy/overview\",\"destination\":\"/langsmith/managed-deep-agents-overview\"},{\"source\":\"/langsmith/deploy-managed-deep-agent\",\"destination\":\"/langsmith/managed-deep-agents-overview\"},{\"source\":\"/oss/python/langchain/evals\",\"destination\":\"/oss/python/langchain/test/evals\"},{\"source\":\"/oss/javascript/langchain/evals\",\"destination\":\"/oss/javascript/langchain/test/evals\"},{\"source\":\"/oss/python/deepagents/streaming/overview\",\"destination\":\"/oss/python/deepagents/event-streaming\"},{\"source\":\"/oss/javascript/deepagents/streaming/overview\",\"destination\":\"/oss/javascript/deepagents/event-streaming\"},{\"source\":\"/oss/python/deepagents/streaming/frontend\",\"destination\":\"/oss/python/deepagents/frontend/overview\"},{\"source\":\"/oss/javascript/deepagents/streaming/frontend\",\"destination\":\"/oss/javascript/deepagents/frontend/overview\"},{\"source\":\"/langsmith\",\"destination\":\"/langsmith/home\"},{\"source\":\"/js/langchain\",\"destination\":\"/oss/javascript/langchain/overview\"},{\"source\":\"/js/langgraph\",\"destination\":\"/oss/javascript/langgraph/overview\"},{\"source\":\"/python/langchain\",\"destination\":\"/oss/python/langchain/overview\"},{\"source\":\"/python/langgraph\",\"destination\":\"/oss/python/langgraph/overview\"},{\"source\":\"/python/deepagents\",\"destination\":\"/oss/python/deepagents/overview\"},{\"source\":\"/oss/python/contributing/integrations\",\"destination\":\"/oss/python/contributing/integrations-langchain\"},{\"source\":\"/oss/javascript/contributing/integrations\",\"destination\":\"/oss/javascript/contributing/integrations-langchain\"},{\"source\":\"/javascript/langchain\",\"destination\":\"/oss/javascript/langchain/overview\"},{\"source\":\"/javascript/langgraph\",\"destination\":\"/oss/javascript/langgraph/overview\"},{\"source\":\"/langsmith/cloud-architecture-and-scalability\",\"destination\":\"/langsmith/cloud#cloud-architecture-and-scalability\"},{\"source\":\"/langsmith/reference-overview\",\"destination\":\"/langsmith/home\"},{\"source\":\"/langsmith/hosting\",\"destination\":\"/langsmith/platform-setup\"},{\"source\":\"/oss/python/langchain-agents\",\"destination\":\"/oss/python/langchain/agents\"},{\"source\":\"/oss/javascript/langchain-agents\",\"destination\":\"/oss/javascript/langchain/agents\"},{\"source\":\"/oss/python/langchain-models\",\"destination\":\"/oss/python/langchain/models\"},{\"source\":\"/oss/javascript/langchain-models\",\"destination\":\"/oss/javascript/langchain/models\"},{\"source\":\"/oss/python/langchain-messages\",\"destination\":\"/oss/python/langchain/messages\"},{\"source\":\"/oss/javascript/langchain-messages\",\"destination\":\"/oss/javascript/langchain/messages\"},{\"source\":\"/oss/python/langchain-tools\",\"destination\":\"/oss/python/langchain/tools\"},{\"source\":\"/oss/javascript/langchain-tools\",\"destination\":\"/oss/javascript/langchain/tools\"},{\"source\":\"/oss/python/langchain-memory\",\"destination\":\"/oss/python/langchain/short-term-memory\"},{\"source\":\"/oss/javascript/langchain-memory\",\"destination\":\"/oss/javascript/langchain/short-term-memory\"},{\"source\":\"/oss/python/langchain-streaming\",\"destination\":\"/oss/python/langchain/event-streaming\"},{\"source\":\"/oss/javascript/langchain-streaming\",\"destination\":\"/oss/javascript/langchain/event-streaming\"},{\"source\":\"/oss/python/releases-v1\",\"destination\":\"/oss/python/releases/langchain-v1\"},{\"source\":\"/oss/javascript/releases-v1\",\"destination\":\"/oss/javascript/releases/langchain-v1\"},{\"source\":\"/oss/python/langgraph/human-in-the-loop\",\"destination\":\"/oss/python/langgraph/interrupts\"},{\"source\":\"/oss/javascript/langgraph/human-in-the-loop\",\"destination\":\"/oss/javascript/langgraph/interrupts\"},{\"source\":\"/langgraph-platform/index\",\"destination\":\"/langsmith/deployment\"},{\"source\":\"/langsmith/deployments\",\"destination\":\"/langsmith/deployment\"},{\"source\":\"/langsmith/langgraph-platform-logs\",\"destination\":\"/langsmith/manage-trace\"},{\"source\":\"/langsmith/platform-logs\",\"destination\":\"/langsmith/manage-trace\"},{\"source\":\"/langsmith/compare-traces\",\"destination\":\"/langsmith/manage-trace\"},{\"source\":\"/langsmith/share-trace\",\"destination\":\"/langsmith/manage-trace\"},{\"source\":\"/langgraph-platform/deployment-options\",\"destination\":\"/langsmith/platform-setup\"},{\"source\":\"/langgraph-platform/langgraph-studio\",\"destination\":\"/langsmith/studio\"},{\"source\":\"/langgraph-platform/langgraph-cli\",\"destination\":\"/langsmith/cli\"},{\"source\":\"/langsmith/api-ref\",\"destination\":\"/langsmith/smith-api\"},{\"source\":\"/langsmith/js-ts-sdk\",\"destination\":\"/langsmith/smith-js-ts-sdk\"},{\"source\":\"/langsmith/python-sdk\",\"destination\":\"/langsmith/smith-python-sdk\"},{\"source\":\"/langgraph-platform/egress-metrics-metadata\",\"destination\":\"/langsmith/self-host-egress\"},{\"source\":\"/langgraph-platform/why-langgraph\",\"destination\":\"/langsmith/deployment#agent-server\"},{\"source\":\"/langsmith/app-development\",\"destination\":\"/langsmith/deployment#agent-server\"},{\"source\":\"/langgraph-platform/:path*\",\"destination\":\"/langsmith/:path*\"},{\"source\":\"/oss/python/deepagents/index\",\"destination\":\"/oss/python/deepagents/overview\"},{\"source\":\"/oss/python/integrations/document_loaders/azure_blob_storage_container\",\"destination\":\"/oss/python/integrations/document_loaders/azure_blob_storage\"},{\"source\":\"/oss/python/integrations/document_loaders/azure_blob_storage_file\",\"destination\":\"/oss/python/integrations/document_loaders/azure_blob_storage\"},{\"source\":\"oss/python/langgraph/GRAPH_RECURSION_LIMIT\",\"destination\":\"oss/python/langgraph/errors/GRAPH_RECURSION_LIMIT\"},{\"source\":\"oss/python/langgraph/INVALID_CHAT_HISTORY\",\"destination\":\"oss/python/langgraph/errors/INVALID_CHAT_HISTORY\"},{\"source\":\"oss/python/langgraph/INVALID_CONCURRENT_GRAPH_UPDATE\",\"destination\":\"oss/python/langgraph/errors/INVALID_CONCURRENT_GRAPH_UPDATE\"},{\"source\":\"oss/python/langgraph/INVALID_GRAPH_NODE_RETURN_VALUE\",\"destination\":\"oss/python/langgraph/errors/INVALID_GRAPH_NODE_RETURN_VALUE\"},{\"source\":\"oss/python/langgraph/MULTIPLE_SUBGRAPHS\",\"destination\":\"oss/python/langgraph/errors/MULTIPLE_SUBGRAPHS\"},{\"source\":\"oss/python/langgraph/MISSING_CHECKPOINTER\",\"destination\":\"oss/python/langgraph/errors/MISSING_CHECKPOINTER\"},{\"source\":\"oss/javascript/langgraph/GRAPH_RECURSION_LIMIT\",\"destination\":\"oss/javascript/langgraph/errors/GRAPH_RECURSION_LIMIT\"},{\"source\":\"oss/javascript/langgraph/INVALID_CHAT_HISTORY\",\"destination\":\"oss/javascript/langgraph/errors/INVALID_CHAT_HISTORY\"},{\"source\":\"oss/javascript/langgraph/INVALID_CONCURRENT_GRAPH_UPDATE\",\"destination\":\"oss/javascript/langgraph/errors/INVALID_CONCURRENT_GRAPH_UPDATE\"},{\"source\":\"oss/javascript/langgraph/INVALID_GRAPH_NODE_RETURN_VALUE\",\"destination\":\"oss/javascript/langgraph/errors/INVALID_GRAPH_NODE_RETURN_VALUE\"},{\"source\":\"oss/javascript/langgraph/MULTIPLE_SUBGRAPHS\",\"destination\":\"oss/javascript/langgraph/errors/MULTIPLE_SUBGRAPHS\"},{\"source\":\"oss/javascript/langgraph/MISSING_CHECKPOINTER\",\"destination\":\"oss/javascript/langgraph/errors/MISSING_CHECKPOINTER\"},{\"source\":\"oss/python/langgraph/common-errors\",\"destination\":\"oss/python/common-errors\"},{\"source\":\"oss/javascript/langgraph/common-errors\",\"destination\":\"oss/javascript/common-errors\"},{\"source\":\"oss/python/langchain/INVALID_PROMPT_INPUT\",\"destination\":\"oss/python/langchain/errors/INVALID_PROMPT_INPUT\"},{\"source\":\"oss/python/langchain/MODEL_AUTHENTICATION\",\"destination\":\"oss/python/langchain/errors/MODEL_AUTHENTICATION\"},{\"source\":\"oss/python/langchain/MODEL_NOT_FOUND\",\"destination\":\"oss/python/langchain/errors/MODEL_NOT_FOUND\"},{\"source\":\"oss/python/langchain/MODEL_RATE_LIMIT\",\"destination\":\"oss/python/langchain/errors/MODEL_RATE_LIMIT\"},{\"source\":\"oss/python/langchain/MESSAGE_COERCION_FAILURE\",\"destination\":\"oss/python/langchain/errors/MESSAGE_COERCION_FAILURE\"},{\"source\":\"oss/python/langchain/INVALID_TOOL_RESULTS\",\"destination\":\"oss/python/langchain/errors/INVALID_TOOL_RESULTS\"},{\"source\":\"oss/python/langchain/OUTPUT_PARSING_FAILURE\",\"destination\":\"oss/python/langchain/errors/OUTPUT_PARSING_FAILURE\"},{\"source\":\"oss/javascript/langchain/INVALID_PROMPT_INPUT\",\"destination\":\"oss/javascript/langchain/errors/INVALID_PROMPT_INPUT\"},{\"source\":\"oss/javascript/langchain/MODEL_AUTHENTICATION\",\"destination\":\"oss/javascript/langchain/errors/MODEL_AUTHENTICATION\"},{\"source\":\"oss/javascript/langchain/MODEL_NOT_FOUND\",\"destination\":\"oss/javascript/langchain/errors/MODEL_NOT_FOUND\"},{\"source\":\"oss/javascript/langchain/MODEL_RATE_LIMIT\",\"destination\":\"oss/javascript/langchain/errors/MODEL_RATE_LIMIT\"},{\"source\":\"oss/javascript/langchain/MESSAGE_COERCION_FAILURE\",\"destination\":\"oss/javascript/langchain/errors/MESSAGE_COERCION_FAILURE\"},{\"source\":\"oss/javascript/langchain/INVALID_TOOL_RESULTS\",\"destination\":\"oss/javascript/langchain/errors/INVALID_TOOL_RESULTS\"},{\"source\":\"oss/javascript/langchain/OUTPUT_PARSING_FAILURE\",\"destination\":\"oss/javascript/langchain/errors/OUTPUT_PARSING_FAILURE\"},{\"source\":\"/langsmith/langgraph-server\",\"destination\":\"/langsmith/agent-server\"},{\"source\":\"/langsmith/langgraph-server-changelog\",\"destination\":\"/langsmith/agent-server-changelog\"},{\"source\":\"/oss/python/langchain/middleware\",\"destination\":\"/oss/python/langchain/middleware/overview\"},{\"source\":\"/oss/javascript/langchain/middleware\",\"destination\":\"/oss/javascript/langchain/middleware/overview\"},{\"source\":\"/oss/python/langchain/streaming/overview\",\"destination\":\"/oss/python/langchain/streaming\"},{\"source\":\"/oss/javascript/langchain/streaming/overview\",\"destination\":\"/oss/javascript/langchain/streaming\"},{\"source\":\"/oss/python/langchain/streaming/frontend\",\"destination\":\"/oss/python/langchain/frontend/overview\"},{\"source\":\"/oss/javascript/langchain/streaming/frontend\",\"destination\":\"/oss/javascript/langchain/frontend/overview\"},{\"source\":\"/langsmith/use-stream-react\",\"destination\":\"/oss/langchain/frontend/overview\"},{\"source\":\"/oss/python/integrations/tools/toolbox\",\"destination\":\"/oss/python/integrations/tools/mcp_toolbox\"},{\"source\":\"/oss/integrations/tools/toolbox\",\"destination\":\"/oss/integrations/tools/mcp_toolbox\"},{\"source\":\"/oss/python/integrations/tools/gmail\",\"destination\":\"/oss/python/integrations/tools/google_gmail\"},{\"source\":\"/oss/integrations/tools/gmail\",\"destination\":\"/oss/integrations/tools/google_gmail\"},{\"source\":\"/oss/python/integrations/chat_loaders/gmail\",\"destination\":\"/oss/python/integrations/chat_loaders/google_gmail\"},{\"source\":\"/oss/integrations/chat_loaders/gmail\",\"destination\":\"/oss/integrations/chat_loaders/google_gmail\"},{\"source\":\"/oss/python/integrations/vectorstores/scann\",\"destination\":\"/oss/python/integrations/vectorstores/google_scann\"},{\"source\":\"/oss/integrations/vectorstores/scann\",\"destination\":\"/oss/integrations/vectorstores/google_scann\"},{\"source\":\"/oss/javascript/integrations/llms/deep_infra\",\"destination\":\"/oss/integrations/chat/openrouter\"},{\"source\":\"/oss/integrations/llms/deep_infra\",\"destination\":\"/oss/integrations/chat/openrouter\"},{\"source\":\"/oss/javascript/integrations/chat/deep_infra\",\"destination\":\"/oss/integrations/chat/openrouter\"},{\"source\":\"/oss/integrations/chat/deep_infra\",\"destination\":\"/oss/integrations/chat/openrouter\"},{\"source\":\"/oss/javascript/integrations/retrievers/tavily\",\"destination\":\"/oss/integrations/tools/tavily_search\"},{\"source\":\"/oss/integrations/retrievers/tavily\",\"destination\":\"/oss/integrations/tools/tavily_search\"},{\"source\":\"/oss/javascript/integrations/stores/ioredis_storage\",\"destination\":\"/oss/integrations/stores/index\"},{\"source\":\"/oss/integrations/stores/ioredis_storage\",\"destination\":\"/oss/integrations/stores/index\"},{\"source\":\"/oss/javascript/integrations/stores/upstash_redis_storage\",\"destination\":\"/oss/integrations/stores/index\"},{\"source\":\"/oss/integrations/stores/upstash_redis_storage\",\"destination\":\"/oss/integrations/stores/index\"},{\"source\":\"/oss/javascript/integrations/vectorstores/googlevertexai\",\"destination\":\"/oss/integrations/vectorstores/google_vertex_ai_vector_search\"},{\"source\":\"/oss/integrations/vectorstores/googlevertexai\",\"destination\":\"/oss/integrations/vectorstores/google_vertex_ai_vector_search\"},{\"source\":\"/oss/python/integrations/vectorstores/googlevertexai\",\"destination\":\"/oss/python/integrations/vectorstores/google_vertex_ai_vector_search\"},{\"source\":\"/oss/python/integrations/chat/google_vertex_ai_palm\",\"destination\":\"/oss/python/integrations/chat/google_vertex_ai\"},{\"source\":\"/oss/integrations/chat/google_vertex_ai_palm\",\"destination\":\"/oss/integrations/chat/google_vertex_ai\"},{\"source\":\"/oss/python/integrations/text_embedding/google_vertex_ai_palm\",\"destination\":\"/oss/python/integrations/embeddings/google_vertex_ai\"},{\"source\":\"/oss/integrations/text_embedding/google_vertex_ai_palm\",\"destination\":\"/oss/integrations/embeddings/google_vertex_ai\"},{\"source\":\"/oss/python/integrations/llms/google_vertex_ai_palm\",\"destination\":\"/oss/python/integrations/llms/google_vertex_ai\"},{\"source\":\"/oss/integrations/llms/google_vertex_ai_palm\",\"destination\":\"/oss/integrations/llms/google_vertex_ai\"},{\"source\":\"/oss/javascript/integrations/text_embedding/google_generativeai\",\"destination\":\"/oss/javascript/integrations/embeddings/google_generative_ai\"},{\"source\":\"/oss/integrations/text_embedding/google_generativeai\",\"destination\":\"/oss/integrations/embeddings/google_generative_ai\"},{\"source\":\"/oss/python/integrations/text_embedding/:path*\",\"destination\":\"/oss/python/integrations/embeddings/:path*\"},{\"source\":\"/oss/javascript/integrations/text_embedding/:path*\",\"destination\":\"/oss/javascript/integrations/embeddings/:path*\"},{\"source\":\"/oss/integrations/text_embedding/:path*\",\"destination\":\"/oss/integrations/embeddings/:path*\"},{\"source\":\"/langsmith/agent-server-api-ref\",\"destination\":\"/langsmith/server-api-ref\"},{\"source\":\"/oss/python/integrations/llms/google_ai\",\"destination\":\"/oss/python/integrations/llms/google_generative_ai\"},{\"source\":\"/langsmith/composite-evaluators\",\"destination\":\"/langsmith/composite-evaluators-ui\"},{\"source\":\"/langsmith/online-evaluations\",\"destination\":\"/langsmith/online-evaluations-llm-as-judge\"},{\"source\":\"/oss/python/langchain/supervisor\",\"destination\":\"/oss/python/langchain/multi-agent/subagents-personal-assistant\"},{\"source\":\"/oss/javascript/langchain/supervisor\",\"destination\":\"/oss/javascript/langchain/multi-agent/subagents-personal-assistant\"},{\"source\":\"/langsmith/sdk\",\"destination\":\"/langsmith/reference\"},{\"source\":\"/langsmith/code-evaluator\",\"destination\":\"/langsmith/code-evaluator-ui\"},{\"source\":\"/oss/javascript/deepagents/middleware\",\"destination\":\"/oss/javascript/langchain/middleware/built-in\"},{\"source\":\"/oss/python/deepagents/middleware\",\"destination\":\"/oss/python/langchain/middleware/built-in\"},{\"source\":\"/oss/javascript/integrations/chat/azure_chat_openai\",\"destination\":\"/oss/javascript/integrations/chat/azure\"},{\"source\":\"/oss/javascript/integrations/chat/mistralai\",\"destination\":\"/oss/javascript/integrations/chat/mistral\"},{\"source\":\"/oss/javascript/integrations/chat/huggingface\",\"destination\":\"/oss/javascript/integrations/chat\"},{\"source\":\"/oss/javascript/integrations/chat/nvidia_ai_endpoints\",\"destination\":\"/oss/javascript/integrations/chat\"},{\"source\":\"/oss/javascript/integrations/chat/bedrock\",\"destination\":\"/oss/javascript/integrations/chat/bedrock_converse\"},{\"source\":\"/oss/javascript/integrations/llms/bedrock\",\"destination\":\"/oss/javascript/integrations/chat/bedrock_converse\"},{\"source\":\"/oss/javascript/integrations/callbacks/:path*\",\"destination\":\"/oss/javascript/integrations\"},{\"source\":\"/oss/javascript/integrations/callbacks\",\"destination\":\"/oss/javascript/integrations\"},{\"source\":\"/langsmith/index-datasets-for-dynamic-few-shot-example-selection\",\"destination\":\"/langsmith/manage-datasets\"},{\"source\":\"/langsmith/collector-proxy\",\"destination\":\"/langsmith/trace-with-opentelemetry\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier\",\"destination\":\"/langsmith/agent-server-api/crons\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier/create-thread-cron\",\"destination\":\"/langsmith/agent-server-api/crons/create-thread-cron\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier/create-cron\",\"destination\":\"/langsmith/agent-server-api/crons/create-cron\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier/search-crons\",\"destination\":\"/langsmith/agent-server-api/crons/search-crons\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier/count-crons\",\"destination\":\"/langsmith/agent-server-api/crons/count-crons\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier/update-cron\",\"destination\":\"/langsmith/agent-server-api/crons/update-cron\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier/delete-cron\",\"destination\":\"/langsmith/agent-server-api/crons/delete-cron\"},{\"source\":\"/oss/javascript/langchain/frontend/integrations\",\"destination\":\"/oss/javascript/langchain/frontend/integrations/overview\"},{\"source\":\"/oss/python/langchain/frontend/integrations\",\"destination\":\"/oss/python/langchain/frontend/integrations/overview\"},{\"source\":\"/langsmith/fleet/setup\",\"destination\":\"/langsmith/fleet/workspace-admin\"},{\"source\":\"/langsmith/fleet/workspace-settings\",\"destination\":\"/langsmith/fleet/workspace-admin\"},{\"source\":\"/oss/python/langchain/harness\",\"destination\":\"/oss/python/langchain/agents\"},{\"source\":\"/oss/javascript/langchain/harness\",\"destination\":\"/oss/javascript/langchain/agents\"}],\"integrations\":{\"gtm\":{\"tagId\":\"GTM-MBBX68ST\"}},\"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}},\"docsNavWithMetadata\":{\"global\":null,\"products\":[{\"product\":\"Home\",\"icon\":\"home\",\"pages\":[{\"title\":null,\"sidebarTitle\":\"Home\",\"mode\":\"custom\",\"description\":null,\"href\":\"/index\"}]},{\"product\":\"LangSmith\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/observability-icon-dark.png\",\"description\":\"LLM observability, evaluation, and deployment\",\"tabs\":[{\"tab\":\"Get started\",\"pages\":[{\"title\":\"LangSmith docs\",\"sidebarTitle\":\"Overview\",\"mode\":\"wide\",\"description\":null,\"href\":\"/langsmith/home\"},{\"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\":\"Integrations\",\"sidebarTitle\":\"Integrations\",\"icon\":\"plug\",\"url\":\"/langsmith/integrations\",\"description\":null,\"href\":\"/langsmith/get-started-integrations\"},{\"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\":\"Deployment options, access control, data privacy, cost controls, and security compliance for Enterprise users.\",\"mode\":\"wide\",\"icon\":\"building-skyscraper\",\"href\":\"/langsmith/enterprise\"},{\"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\":\"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\":\"Account administration\",\"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\"}]},{\"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\":\"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 deployments.\",\"href\":\"/langsmith/view-usage\"},{\"title\":\"Granular billable usage\",\"sidebarTitle\":\"Granular usage\",\"description\":\"Retrieve detailed trace usage data broken down by workspace, project, user, or API key.\",\"href\":\"/langsmith/granular-usage\"}]},{\"title\":\"Manage your organization using the API\",\"sidebarTitle\":\"Manage organizations using the API\",\"description\":null,\"href\":\"/langsmith/manage-organization-by-api\"},{\"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\":\"Tools\",\"pages\":[{\"title\":\"LangSmith Polly\",\"sidebarTitle\":\"Polly AI assistant\",\"icon\":\"feather\",\"description\":null,\"href\":\"/langsmith/polly\"},{\"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\":\"Sandboxes\",\"icon\":\"box\",\"pages\":[{\"title\":\"Sandboxes overview\",\"sidebarTitle\":\"Overview\",\"description\":\"Use 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 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\"}]}]},{\"group\":\"Additional resources\",\"pages\":[{\"group\":\"Data \u0026 compliance\",\"icon\":\"shield-lock\",\"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\"}]},{\"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\":\"Observability\",\"pages\":[{\"title\":\"LangSmith Observability\",\"sidebarTitle\":\"Overview\",\"description\":\"Instrument your LLM application, investigate traces, and monitor performance in production with LangSmith.\",\"mode\":\"wide\",\"href\":\"/langsmith/observability\"},{\"title\":\"Tracing quickstart\",\"sidebarTitle\":\"Quickstart\",\"description\":\"Add LangSmith tracing to an LLM application in minutes.\",\"icon\":\"rocket\",\"href\":\"/langsmith/observability-quickstart\"},{\"title\":\"Observability concepts\",\"sidebarTitle\":\"Concepts\",\"icon\":\"book\",\"description\":null,\"href\":\"/langsmith/observability-concepts\"},{\"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\":\"Find and fix your agent's failures with LangSmith Engine\",\"sidebarTitle\":\"Engine\",\"description\":\"Automatically detect and resolve recurring issues in your tracing project using the LangSmith Engine.\",\"href\":\"/langsmith/engine\"},{\"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 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 LangChain applications (Python and JS/TS)\",\"sidebarTitle\":\"LangChain\",\"description\":null,\"href\":\"/langsmith/trace-with-langchain\"},{\"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\":null,\"href\":\"/langsmith/trace-with-vercel-ai-sdk\"}]},{\"group\":\"Voice AI frameworks\",\"pages\":[{\"title\":\"Trace LiveKit applications\",\"sidebarTitle\":\"LiveKit\",\"description\":null,\"href\":\"/langsmith/trace-with-livekit\"},{\"title\":\"Trace Pipecat applications\",\"sidebarTitle\":\"Pipecat\",\"description\":null,\"href\":\"/langsmith/trace-with-pipecat\"}]},{\"group\":\"Developer tools\",\"pages\":[{\"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 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\":\"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\"}]},{\"title\":\"Configure threads\",\"sidebarTitle\":\"Threads\",\"description\":null,\"href\":\"/langsmith/threads\"}]},{\"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\"},{\"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 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\"}]}]},{\"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\":\"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, no API key or header configuration required.\",\"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\"},{\"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\":\"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\"},{\"title\":\"LangSmith Engine webhook events\",\"sidebarTitle\":\"Engine webhook events\",\"description\":\"Reference for the webhook events the LangSmith Engine sends when it creates issues or links new traces to existing issues.\",\"href\":\"/langsmith/engine-webhooks\"}]},{\"group\":\"Feedback \u0026 evaluation\",\"pages\":[{\"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\":\"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\":\"Set up 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\":\"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 the Insights Agent\",\"sidebarTitle\":\"Insights\",\"description\":null,\"href\":\"/langsmith/insights\"}]},{\"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\"},{\"title\":\"Trace query syntax\",\"sidebarTitle\":\"Trace query syntax\",\"description\":null,\"href\":\"/langsmith/trace-query-syntax\"}]}]},{\"tab\":\"Evaluation\",\"pages\":[{\"title\":\"LangSmith Evaluation\",\"sidebarTitle\":\"Overview\",\"mode\":\"wide\",\"description\":null,\"href\":\"/langsmith/evaluation\"},{\"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 Polly\",\"sidebarTitle\":\"Polly AI assistant\",\"url\":\"https://docs.langchain.com/langsmith/polly#evaluation\",\"icon\":\"feather\",\"description\":null,\"href\":\"/langsmith/polly-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 an LLM application\",\"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\"}]}]},{\"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\"}]},{\"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/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\":\"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\":\"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 Polly\",\"sidebarTitle\":\"Polly AI assistant\",\"url\":\"https://docs.langchain.com/langsmith/polly#prompt-engineering\",\"icon\":\"feather\",\"description\":null,\"href\":\"/langsmith/polly-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\":\"Context engineering\",\"pages\":[{\"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\"},{\"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\"}]},{\"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\":\"Agent deployment\",\"pages\":[{\"title\":\"LangSmith Deployment\",\"sidebarTitle\":\"Overview\",\"mode\":\"wide\",\"description\":\"Deploy and manage agents with durable execution, real-time streaming, and horizontal scaling.\",\"icon\":\"layout-grid\",\"href\":\"/langsmith/deployment\"},{\"title\":\"Deploy Managed Deep Agents\",\"sidebarTitle\":\"Quickstart (Deep Agents)\",\"icon\":\"rocket\",\"url\":\"/langsmith/managed-deep-agents-quickstart\",\"description\":null,\"href\":\"/langsmith/deployment-quickstart-da\"},{\"title\":\"Deploy your app to cloud\",\"sidebarTitle\":\"Quickstart (LangGraph)\",\"description\":\"Deploy your first application to LangSmith Cloud (AWS and GCP) using the LangGraph CLI.\",\"icon\":\"rocket\",\"href\":\"/langsmith/deployment-quickstart\"},{\"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\"},{\"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\":\"Use cron jobs\",\"sidebarTitle\":\"Cron jobs\",\"description\":null,\"href\":\"/langsmith/cron-jobs\"},{\"group\":\"Tutorials\",\"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\":\"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\":\"Deploy other frameworks (e.g., Strands, CrewAI)\",\"description\":\"Deploy agents built with Strands, CrewAI, or other frameworks to LangSmith using the LangGraph Functional API.\",\"href\":\"/langsmith/deploy-other-frameworks\"},{\"title\":\"How to implement generative user interfaces with LangGraph\",\"sidebarTitle\":\"Implement generative user interfaces with LangGraph\",\"description\":null,\"href\":\"/langsmith/generative-ui-react\"}]}]},{\"group\":\"Core capabilities\",\"pages\":[{\"title\":\"Core capabilities overview\",\"sidebarTitle\":\"Overview\",\"description\":\"Overview of Agent Server core capabilities including streaming, human-in-the-loop, MCP, A2A, distributed tracing, webhooks, and double-texting.\",\"href\":\"/langsmith/core-capabilities\"},{\"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\"},{\"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\":\"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\":\"Use webhooks\",\"sidebarTitle\":\"Webhooks\",\"description\":null,\"href\":\"/langsmith/use-webhooks\"},{\"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\"}]}]},{\"group\":\"Develop agents\",\"pages\":[{\"title\":\"Application structure\",\"sidebarTitle\":\"Application structure\",\"description\":null,\"href\":\"/langsmith/application-structure\"},{\"group\":\"Setup\",\"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\":\"Monorepo support\",\"sidebarTitle\":\"Monorepo support\",\"description\":null,\"href\":\"/langsmith/monorepo-support\"}]},{\"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\"}]},{\"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\"},{\"title\":\"How to interact with a deployment using RemoteGraph\",\"sidebarTitle\":\"Interact with a deployment using RemoteGraph\",\"description\":null,\"href\":\"/langsmith/use-remote-graph\"},{\"title\":\"How to add semantic search to your agent deployment\",\"sidebarTitle\":\"Add semantic search to your agent deployment\",\"description\":null,\"href\":\"/langsmith/semantic-search\"},{\"title\":\"How to add TTLs to your application\",\"sidebarTitle\":\"Add TTLs to your application\",\"description\":null,\"href\":\"/langsmith/configure-ttl\"},{\"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\":\"Configure LangSmith Agent Server for scale\",\"sidebarTitle\":\"Configure Agent Server for scale\",\"description\":null,\"href\":\"/langsmith/agent-server-scale\"},{\"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\":\"Deployment guides\",\"pages\":[{\"group\":\"Managed Deep Agents\",\"icon\":\"robot\",\"tag\":\"PREVIEW\",\"pages\":[{\"title\":\"Managed Deep Agents\",\"sidebarTitle\":\"Overview\",\"description\":\"Overview of Managed Deep Agents private preview features, workflows, and limits.\",\"href\":\"/langsmith/managed-deep-agents-overview\"},{\"title\":\"Managed Deep Agents quickstart\",\"sidebarTitle\":\"Quickstart\",\"description\":\"Deploy a first Managed Deep Agent with the CLI and run it with the REST API.\",\"href\":\"/langsmith/managed-deep-agents-quickstart\"},{\"title\":\"Connect tools to Managed Deep Agents\",\"sidebarTitle\":\"Connect tools\",\"description\":\"Register, connect, and reference MCP tools for Managed Deep Agents.\",\"href\":\"/langsmith/managed-deep-agents-mcp\"},{\"title\":\"Deploy a Managed Deep Agent\",\"sidebarTitle\":\"Deploy an agent\",\"description\":\"Create or update a Managed Deep Agent with the CLI or REST API.\",\"href\":\"/langsmith/managed-deep-agents-deploy\"},{\"title\":\"Run a Managed Deep Agent\",\"sidebarTitle\":\"Run an agent\",\"description\":\"Create threads and stream runs for a Managed Deep Agent.\",\"href\":\"/langsmith/managed-deep-agents-invoke\"},{\"title\":\"Managed Deep Agents CLI reference\",\"sidebarTitle\":\"CLI reference\",\"description\":\"Reference for Managed Deep Agents CLI commands, project files, and deploy behavior.\",\"href\":\"/langsmith/managed-deep-agents-cli\"},{\"title\":\"Managed Deep Agents API reference\",\"sidebarTitle\":\"API reference\",\"description\":\"Common REST commands and generated endpoint references for Managed Deep Agents.\",\"href\":\"/langsmith/managed-deep-agents-api\"}]},{\"title\":\"Deploy on Cloud\",\"sidebarTitle\":\"Cloud\",\"icon\":\"cloud\",\"iconType\":\"solid\",\"description\":\"Create and manage LangSmith Cloud deployments including revisions, logs, metrics, and settings.\",\"href\":\"/langsmith/deploy-to-cloud\"},{\"title\":\"Hybrid\",\"sidebarTitle\":\"Hybrid\",\"icon\":\"cloud\",\"description\":\"Self-host your Agent Servers and send traces to either a self-hosted LangSmith instance or LangSmith SaaS.\",\"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\"},{\"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\":\"Troubleshooting for self-hosted deployments\",\"sidebarTitle\":\"Troubleshooting\",\"description\":\"Diagnostic steps for troubleshooting self-hosted LangSmith Deployment issues before contacting support.\",\"href\":\"/langsmith/diagnostics-self-hosted\"}]},{\"group\":\"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\"}]},{\"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\"},{\"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\":\"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 (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\":\"How to use a custom store\",\"sidebarTitle\":\"Add custom store\",\"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\",\"description\":\"Replace the built-in Postgres checkpointer with a custom BaseCheckpointSaver implementation in your agent deployment.\",\"href\":\"/langsmith/custom-checkpointer\"},{\"title\":\"How to add custom lifespan events\",\"sidebarTitle\":\"Add custom lifespan events\",\"description\":null,\"href\":\"/langsmith/custom-lifespan\"},{\"title\":\"How to add custom middleware\",\"sidebarTitle\":\"Add custom middleware\",\"description\":null,\"href\":\"/langsmith/custom-middleware\"},{\"title\":\"How to add custom routes\",\"sidebarTitle\":\"Add custom routes\",\"description\":null,\"href\":\"/langsmith/custom-routes\"},{\"title\":\"Add encryption at rest\",\"sidebarTitle\":\"Encryption at rest\",\"description\":null,\"href\":\"/langsmith/encryption\"},{\"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\":\"Platform setup\",\"groups\":[{\"group\":\"Overview\",\"pages\":[{\"title\":\"Set up LangSmith\",\"sidebarTitle\":\"Set up LangSmith\",\"mode\":\"wide\",\"description\":null,\"href\":\"/langsmith/platform-setup\"}]},{\"group\":\"Cloud (SaaS)\",\"pages\":[{\"title\":\"Cloud (SaaS)\",\"sidebarTitle\":\"Overview\",\"icon\":\"cloud\",\"iconType\":\"solid\",\"description\":null,\"href\":\"/langsmith/cloud\"}]},{\"group\":\"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\":\"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 Polly\",\"sidebarTitle\":\"Enable additional features\",\"description\":\"Enable LangSmith Deployment, Fleet, Insights, and Polly 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\":\"How to customize the Dockerfile\",\"sidebarTitle\":\"Customize the Dockerfile\",\"description\":null,\"href\":\"/langsmith/custom-docker\"},{\"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\":\"Scripts for management tasks\",\"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\":\"Hybrid (legacy)\",\"pages\":[{\"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\"}]}]},{\"tab\":\"Reference\",\"pages\":[{\"group\":\"General\",\"pages\":[{\"title\":\"LangSmith reference\",\"sidebarTitle\":\"Overview\",\"mode\":\"wide\",\"description\":null,\"href\":\"/langsmith/reference\"},{\"group\":\"LangSmith 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\":\"Read Shared Dataset Examples With Runs\",\"description\":\"Get examples with associated runs from sessions in a dataset that has been shared.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/public/{share_token}/examples/runs\",\"href\":\"/langsmith/smith-api/public/read-shared-dataset-examples-with-runs\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read Shared Delta\",\"description\":\"Fetch the number of regressions/improvements for each example in a dataset, between sessions[0] and sessions[1].\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/public/{share_token}/datasets/runs/delta\",\"href\":\"/langsmith/smith-api/public/read-shared-delta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read Shared Delta Stream\",\"description\":\"Stream feedback deltas for multiple feedback keys.\\n\\nReturns results in chunks as they become available. Each chunk contains\\nresults for one or more feedback keys. Errors for individual chunks are\\nincluded in the response rather than failing the entire operation.\\n\\nResponse format (SSE):\\n    event: data\\n    data: {\\\"feedback_deltas\\\": {\\\"key1\\\": {session_id: {...}}, ...}, \\\"errors\\\": null}\\n\\n    event: data\\n    data: {\\\"feedback_deltas\\\": {\\\"key2\\\": {...}}, \\\"errors\\\": null}\\n\\n    event: end\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/public/{share_token}/datasets/runs/delta/stream\",\"href\":\"/langsmith/smith-api/public/read-shared-delta-stream\",\"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},{\"title\":\"Query Threads\",\"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\",\"autogeneratedByOpenApi\":true},{\"title\":\"Query Single Thread Stats\",\"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\",\"autogeneratedByOpenApi\":true},{\"title\":\"Query Thread Traces\",\"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\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"metrics\",\"pages\":[]},{\"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 session.\",\"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 session.\",\"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 session.\",\"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\":\"Get all sessions.\",\"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 session.\",\"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 sessions.\",\"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\":\"[Beta] Get Insights Jobs\",\"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/[beta]-get-insights-jobs\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Create Insights Job\",\"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/[beta]-create-insights-job\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Get Insights Job Configs\",\"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/[beta]-get-insights-job-configs\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Create Insights Job Config\",\"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/[beta]-create-insights-job-config\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Auto-Generate Insights Job Config\",\"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/[beta]-auto-generate-insights-job-config\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Delete Insights Job Config\",\"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/[beta]-delete-insights-job-config\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Update Insights Job Config\",\"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/[beta]-update-insights-job-config\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Get Insights Job\",\"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/[beta]-get-insights-job\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Delete Insights Job\",\"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/[beta]-delete-insights-job\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Update Insights Job\",\"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/[beta]-update-insights-job\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Get Run Cluster From Insights Job\",\"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/[beta]-get-run-cluster-from-insights-job\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Get Runs From Insights Job\",\"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/[beta]-get-runs-from-insights-job\",\"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\":\"Query runs\",\"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\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get a single run\",\"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/get-a-single-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"List runs in a trace\",\"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\",\"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\":\"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\":\"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\":\"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\\nworkspace_ids filters results to the specified workspaces. Only workspaces\\nthe user has read access to will be included in the results.\",\"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\\nReturns the same data as the granular-usage endpoint but formatted as a\\ndownloadable CSV file. Only workspaces the user has read access to will\\nbe included in the results.\",\"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\":\"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\":\"health\",\"pages\":[]},{\"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 Examples With Runs Grouped\",\"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}/group/runs\",\"href\":\"/langsmith/smith-api/datasets/read-examples-with-runs-grouped\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read Delta\",\"description\":\"Fetch the number of regressions/improvements for each example in a dataset, between sessions[0] and sessions[1].\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets/{dataset_id}/runs/delta\",\"href\":\"/langsmith/smith-api/datasets/read-delta\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read Delta Stream\",\"description\":\"Stream feedback deltas for multiple feedback keys.\\n\\nReturns results in chunks as they become available. Each chunk contains\\nresults for one or more feedback keys. Errors for individual chunks are\\nincluded in the response rather than failing the entire operation.\\n\\nResponse format (SSE):\\n    event: data\\n    data: {\\\"feedback_deltas\\\": {\\\"key1\\\": {session_id: {...}}, ...}, \\\"errors\\\": null}\\n\\n    event: data\\n    data: {\\\"feedback_deltas\\\": {\\\"key2\\\": {...}}, \\\"errors\\\": null}\\n\\n    event: end\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets/{dataset_id}/runs/delta/stream\",\"href\":\"/langsmith/smith-api/datasets/read-delta-stream\",\"autogeneratedByOpenApi\":true},{\"title\":\"Read Grouped Experiments\",\"description\":\"Stream grouped and aggregated experiments.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets/{dataset_id}/experiments/grouped\",\"href\":\"/langsmith/smith-api/datasets/read-grouped-experiments\",\"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\":\"Read Comparative Experiments\",\"description\":\"Get all comparative experiments for a given dataset.\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json get /api/v1/datasets/{dataset_id}/comparative\",\"href\":\"/langsmith/smith-api/datasets/read-comparative-experiments\",\"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\":\"Dataset Handler\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets/playground_experiment/batch\",\"href\":\"/langsmith/smith-api/datasets/dataset-handler\",\"autogeneratedByOpenApi\":true},{\"title\":\"Stream Dataset Handler\",\"description\":null,\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /api/v1/datasets/playground_experiment/stream\",\"href\":\"/langsmith/smith-api/datasets/stream-dataset-handler\",\"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}]},{\"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\":\"$2c\",\"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.\",\"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\":\"Create a new feedback.\\n\\nThis method is invoked under the assumption that the run\\nis already visible in the app, thus already present in DB\",\"deprecated\":null,\"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 all 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\":\"Get all sections for the tenant.\",\"deprecated\":null,\"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\":\"Create a new section.\",\"deprecated\":null,\"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\":\"Get all charts for the tenant.\",\"deprecated\":null,\"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\":\"Get a preview for a chart without actually creating it.\",\"deprecated\":null,\"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\":\"Create a new chart.\",\"deprecated\":null,\"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\":\"Get a single chart by ID.\",\"deprecated\":null,\"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\":\"Delete a chart.\",\"deprecated\":null,\"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\":\"Update a chart.\",\"deprecated\":null,\"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\":\"Get a single section by ID.\",\"deprecated\":null,\"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\":\"Delete a section.\",\"deprecated\":null,\"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\":\"Update a section.\",\"deprecated\":null,\"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\":\"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 loopback HTTP or HTTPS-with-domain 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 static blueprint.\",\"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 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}]},{\"group\":\"Issues\",\"pages\":[{\"title\":\"Get issues-agent (Engine) LCU spend for every tenant in the calling org\",\"description\":\"Returns one row per tenant in the caller's\\norganization, each carrying that tenant's Engine LCU\\nspend over the requested window. The org-wide total\\nis derived by the caller (the UI tile sums the\\n`lcu_total` field across items) so future drill-down\\nsurfaces can render the per-tenant breakdown without\\na backend change. The window defaults to the current\\ncalendar month (UTC) and can be overridden with\\n`start` and `end` (RFC 3339, capped at 31 days). Hours\\nwhere the rate card did not price a (provider, model)\\npair are excluded from each item's `lcu_total` and\\nsurfaced as `lcu_unpriced_row_count` so callers can\\ndetect billing coverage gaps without inflating the\\nspend 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-for-every-tenant-in-the-calling-org\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] List issues\",\"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/[beta]-list-issues\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] List issues agent configs\",\"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/[beta]-list-issues-agent-configs\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Mark issue viewed\",\"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/[beta]-mark-issue-viewed\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Get the issues agent config for a session\",\"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/[beta]-get-the-issues-agent-config-for-a-session\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Create the issues agent for a session\",\"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/[beta]-create-the-issues-agent-for-a-session\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Delete the issues agent for a session\",\"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/[beta]-delete-the-issues-agent-for-a-session\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Update the issues agent config for a session\",\"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/[beta]-update-the-issues-agent-config-for-a-session\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] Save the agent overview for a session\",\"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/[beta]-save-the-agent-overview-for-a-session\",\"autogeneratedByOpenApi\":true},{\"title\":\"[Beta] List viewed issues for a session\",\"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/[beta]-list-viewed-issues-for-a-session\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"beacon\",\"pages\":[]},{\"group\":\"fleet auth\",\"pages\":[]},{\"group\":\"fleet mcp\",\"pages\":[]},{\"group\":\"agents\",\"pages\":[]},{\"group\":\"fleet credentials\",\"pages\":[]},{\"group\":\"fleet integrations\",\"pages\":[]},{\"group\":\"fleet\",\"pages\":[]},{\"group\":\"skills\",\"pages\":[]},{\"group\":\"fleet threads\",\"pages\":[]},{\"group\":\"internal\",\"pages\":[]},{\"group\":\"fleet trigger-templates\",\"pages\":[]},{\"group\":\"fleet triggers\",\"pages\":[]},{\"group\":\"engine-trial\",\"pages\":[{\"title\":\"Respond to Engine trial ending notice\",\"description\":\"Records a user's response to the Engine trial ending modal.\\naction must be \\\"acknowledge\\\", \\\"opt_out\\\", or \\\"mark_seen\\\".\",\"deprecated\":null,\"version\":null,\"openapi\":\"/langsmith/langsmith-platform-openapi.json post /v1/platform/engine/trial-response\",\"href\":\"/langsmith/smith-api/engine-trial/respond-to-engine-trial-ending-notice\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"fleet_webhooks\",\"pages\":[]},{\"group\":\"fleet github-app\",\"pages\":[]},{\"group\":\"fleet usage\",\"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.\",\"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\":\"$2d\",\"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\":\"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}`\\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\":\"nps\",\"pages\":[]},{\"group\":\"sandboxes-internal\",\"pages\":[]}]},{\"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\"},{\"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\"}]},{\"group\":\"LangSmith Deployment\",\"pages\":[{\"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 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\":\"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\":\"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\":null,\"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\":\"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 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}]}]},{\"group\":\"Managed Deep Agents API\",\"pages\":[{\"title\":\"Managed Deep Agents API reference\",\"sidebarTitle\":\"API reference\",\"description\":\"Common REST commands and generated endpoint references for Managed Deep Agents.\",\"href\":\"/langsmith/managed-deep-agents-api\"},{\"group\":\"Agents\",\"pages\":[{\"title\":\"List agents\",\"description\":\"Return Managed Deep Agents owned by the authenticated user. System-created default agents are excluded.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"List agents\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json get /agents\",\"href\":\"/langsmith/managed-deep-agents-api/agents/list-agents\",\"autogeneratedByOpenApi\":true},{\"title\":\"Create an agent\",\"description\":\"Create an agent with metadata, runtime configuration, and an optional file tree. Creation is atomic: either the agent is fully created or no state is persisted.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Create an agent\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json post /agents\",\"href\":\"/langsmith/managed-deep-agents-api/agents/create-agent\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get an agent\",\"description\":\"Return the specified agent, including metadata, permissions, runtime, extras, and the parsed file tree at the latest commit. Pass `include_files=true` to include the raw file map.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Get an agent\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json get /agents/{agent_id}\",\"href\":\"/langsmith/managed-deep-agents-api/agents/get-agent\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete an agent\",\"description\":\"Delete the agent. The call is idempotent: deleting a non-existent agent returns `204`. Deletion does not cascade to the agent's threads — existing threads remain queryable but cannot start new runs (attempts return `502`). Delete threads explicitly when you want to clean them up.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Delete an agent\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json delete /agents/{agent_id}\",\"href\":\"/langsmith/managed-deep-agents-api/agents/delete-agent\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update an agent\",\"description\":\"Update the specified agent. Top-level scalar fields merge field-by-field. Nested objects such as `runtime`, `permissions`, `tools`, `subagents`, `skills`, and `extras` are replaced in full when provided. Providing file-tree fields such as `instructions`, `tools`, `subagents`, `skills`, or `files` creates a new file tree commit.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Update an agent\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json patch /agents/{agent_id}\",\"href\":\"/langsmith/managed-deep-agents-api/agents/update-agent\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Threads\",\"pages\":[{\"title\":\"Create a thread\",\"description\":\"Create a thread bound to a Managed Deep Agent. Use the returned thread ID to start runs.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Create a thread\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json post /threads\",\"href\":\"/langsmith/managed-deep-agents-api/threads/create-thread\",\"autogeneratedByOpenApi\":true},{\"title\":\"Search threads\",\"description\":\"Search threads. Request and response bodies are proxied unchanged to the upstream agent runtime.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Search threads\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json post /threads/search\",\"href\":\"/langsmith/managed-deep-agents-api/threads/search-threads\",\"autogeneratedByOpenApi\":true},{\"title\":\"Count threads\",\"description\":\"Count threads matching the specified criteria. Request and response bodies are proxied unchanged to the upstream agent runtime.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Count threads\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json post /threads/count\",\"href\":\"/langsmith/managed-deep-agents-api/threads/count-threads\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get thread\",\"description\":\"Return thread metadata and status for the given thread ID.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Get thread\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json get /threads/{threadID}\",\"href\":\"/langsmith/managed-deep-agents-api/threads/get-thread\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Runs\",\"pages\":[{\"title\":\"Create a thread run\",\"description\":\"Start a run on the thread. This endpoint is proxied to the upstream agent runtime and accepts its run payload. Include the assistant or agent identifier and run inputs in the request body.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Create a thread run\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json post /threads/{threadID}/runs\",\"href\":\"/langsmith/managed-deep-agents-api/runs/create-thread-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Stream a thread run\",\"description\":\"Start a run on a thread and stream output as server-sent events. The request must use `agent_id`; `assistant_id` is reserved for server-side forwarding and is rejected.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Stream a thread run\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json post /threads/{threadID}/runs/stream\",\"href\":\"/langsmith/managed-deep-agents-api/runs/stream-thread-run\",\"autogeneratedByOpenApi\":true},{\"title\":\"Resolve an interrupt\",\"description\":\"Complete a human-interrupt pause on the thread without sending new input, allowing execution to continue or finish. On success the response has no body.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Resolve an interrupt\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json post /threads/{threadID}/resolve-interrupt\",\"href\":\"/langsmith/managed-deep-agents-api/runs/resolve-interrupt\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"MCP servers\",\"pages\":[{\"title\":\"List MCP servers\",\"description\":\"List MCP servers registered in the caller's workspace.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"List MCP servers\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json get /mcp-servers\",\"href\":\"/langsmith/managed-deep-agents-api/mcp-servers/list-mcp-servers\",\"autogeneratedByOpenApi\":true},{\"title\":\"Register an MCP server\",\"description\":\"Register an MCP server in the caller's workspace. Static-header servers can include credential headers. OAuth servers should set `auth_type=oauth` and `oauth_mode=per_user_dynamic_client`, then register an OAuth provider and start an auth session before use.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Register an MCP server\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json post /mcp-servers\",\"href\":\"/langsmith/managed-deep-agents-api/mcp-servers/create-mcp-server\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get an MCP server\",\"description\":\"Fetch a single MCP server by ID.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Get an MCP server\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json get /mcp-servers/{mcp_server_id}\",\"href\":\"/langsmith/managed-deep-agents-api/mcp-servers/get-mcp-server\",\"autogeneratedByOpenApi\":true},{\"title\":\"Delete an MCP server\",\"description\":\"Delete an MCP server. The call is idempotent: deleting a non-existent server returns `204`. After deletion, agents whose tools reference this server's URL will no longer have the stored headers attached at invocation time.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Delete an MCP server\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json delete /mcp-servers/{mcp_server_id}\",\"href\":\"/langsmith/managed-deep-agents-api/mcp-servers/delete-mcp-server\",\"autogeneratedByOpenApi\":true},{\"title\":\"Update an MCP server\",\"description\":\"Update an MCP server's URL, credential headers, or auth configuration. Passing `headers` replaces the entire stored header array — partial diffs are not supported. Use this endpoint to rotate credentials.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Update an MCP server\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json patch /mcp-servers/{mcp_server_id}\",\"href\":\"/langsmith/managed-deep-agents-api/mcp-servers/update-mcp-server\",\"autogeneratedByOpenApi\":true},{\"title\":\"Register per-user MCP OAuth provider\",\"description\":\"Discovers and registers an OAuth provider for the authenticated user against a Deep Agents MCP server configured with per-user dynamic client mode. Idempotent when a mapping already exists.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Register OAuth provider\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json post /mcp-servers/{mcp_server_id}/oauth-provider\",\"href\":\"/langsmith/managed-deep-agents-api/mcp-servers/register-oauth-provider\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"MCP tools\",\"pages\":[{\"title\":\"List MCP tools\",\"description\":\"Return tools exposed by a registered MCP server. The API serves cached results when fresh; otherwise, it fetches tools from the remote MCP server and caches the response.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"List MCP tools\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json get /mcp/tools\",\"href\":\"/langsmith/managed-deep-agents-api/mcp-tools/list-mcp-tools\",\"autogeneratedByOpenApi\":true}]},{\"group\":\"Auth sessions\",\"pages\":[{\"title\":\"Start an authorization session\",\"description\":\"Start an OAuth authorization session for the caller. If the user is already authorized, the response can be completed immediately. Otherwise, the response includes a verification URL that the user must visit to complete authorization.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Start an auth session\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json post /auth-sessions\",\"href\":\"/langsmith/managed-deep-agents-api/auth-sessions/start-auth-session\",\"autogeneratedByOpenApi\":true},{\"title\":\"Get an authorization session\",\"description\":\"Return the current status of an in-flight authorization session. Use `wait_seconds` to long-poll until the session completes or the wait window expires.\",\"deprecated\":null,\"version\":null,\"sidebarTitle\":\"Get an auth session\",\"openapi\":\"/langsmith/managed-deep-agents-openapi.json get /auth-sessions/{session_id}\",\"href\":\"/langsmith/managed-deep-agents-api/auth-sessions/get-auth-session\",\"autogeneratedByOpenApi\":true}]}]},{\"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\"},{\"title\":\"Environment variables\",\"sidebarTitle\":\"Agent Server environment variables\",\"description\":null,\"href\":\"/langsmith/env-var\"}]},{\"group\":\"Releases\",\"pages\":[{\"title\":\"Agent Server changelog\",\"sidebarTitle\":\"Agent Server changelog\",\"rss\":true,\"description\":null,\"href\":\"/langsmith/agent-server-changelog\"},{\"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\"}]}]}]},{\"product\":\"LangSmith Fleet\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/fleet-icon-dark.png\",\"description\":\"Create helpful AI agents without code\",\"pages\":[{\"title\":\"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-polly\",\"description\":null,\"href\":\"/langsmith/fleet/self-hosted-link\"}]}]},{\"product\":\"Open source\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/langchain-icon.png\",\"description\":\"Build agents with our open source packages\",\"dropdowns\":[{\"dropdown\":\"Python\",\"icon\":{\"style\":\"regular\",\"name\":\"brand-python\"},\"tabs\":[{\"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\":\"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\":\"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\":\"PREVIEW\",\"url\":\"/langsmith/managed-deep-agents-overview\",\"description\":null,\"href\":\"/langsmith/managed-deep-agents\"},{\"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\"}]},{\"group\":\"Core capabilities\",\"pages\":[{\"title\":\"Harness capabilities\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/oss/python/deepagents/harness\"},{\"title\":\"Models\",\"description\":\"Configure model providers and parameters for Deep Agents\",\"href\":\"/oss/python/deepagents/models\"},{\"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\":\"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\":\"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\"},{\"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\":\"Permissions\",\"description\":\"Control filesystem access with declarative permission rules for Deep Agents\",\"href\":\"/oss/python/deepagents/permissions\"},{\"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\":\"Skills\",\"description\":\"Learn how to extend your deep agent's capabilities with skills\",\"href\":\"/oss/python/deepagents/skills\"},{\"title\":\"Sandboxes\",\"sidebarTitle\":\"Sandboxes\",\"description\":\"Execute code in isolated environments with sandbox backends\",\"href\":\"/oss/python/deepagents/sandboxes\"},{\"title\":\"Interpreters\",\"description\":\"Run lightweight code inside Deep Agents to compose tools, orchestrate subagents, and transform structured data\",\"tag\":\"Experimental\",\"href\":\"/oss/python/deepagents/interpreters\"},{\"title\":\"Profiles\",\"description\":\"Package per-provider and per-model defaults that Deep Agents applies when a model is selected\",\"href\":\"/oss/python/deepagents/profiles\"},{\"title\":\"Event streaming\",\"description\":\"Stream subagents, messages, tool calls, and final output from Deep Agents.\",\"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\"},{\"title\":\"Grading rubrics\",\"description\":\"Self-evaluating 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\"}]},{\"group\":\"Deep Agents Code\",\"pages\":[{\"title\":\"Deep Agents Code\",\"sidebarTitle\":\"Overview\",\"description\":\"Terminal coding agent built on the Deep Agents SDK\",\"href\":\"/oss/python/deepagents/code/overview\"},{\"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, Daytona, Modal, Runloop, or AgentCore sandboxes. Install provider extras, 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\"},{\"title\":\"Configuration\",\"sidebarTitle\":\"Configuration\",\"description\":\"Configure Deep Agents Code with config.toml, hooks, and MCP servers\",\"href\":\"/oss/python/deepagents/code/configuration\"},{\"title\":\"MCP tools\",\"sidebarTitle\":\"MCP tools\",\"description\":\"Load additional tools from MCP (Model Context Protocol) servers\",\"href\":\"/oss/python/deepagents/code/mcp-tools\"},{\"title\":\"Data locations\",\"sidebarTitle\":\"App data\",\"description\":\"Where Deep Agents Code stores configuration, sessions, and customization files\",\"href\":\"/oss/python/deepagents/code/data-locations\"}]}]},{\"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\":\"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\":\"Deploy with LangSmith\",\"pages\":[{\"title\":\"LangSmith Deployment\",\"sidebarTitle\":\"Deployment\",\"description\":null,\"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\":null,\"href\":\"/oss/python/langgraph/persistence\"},{\"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\":\"LangSmith Deployment\",\"description\":null,\"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\"}]},{\"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\"}]}]},{\"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\":\"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\"}]},{\"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 deepagents 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 RAG agent with LangChain\",\"sidebarTitle\":\"RAG agent\",\"description\":null,\"href\":\"/oss/python/langchain/rag\"},{\"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\"}]},{\"group\":\"Errors\",\"pages\":[{\"title\":\"Errors\",\"sidebarTitle\":\"Reference\",\"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\"}]}]},{\"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\":\"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\":\"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\":\"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\":\"PREVIEW\",\"url\":\"/langsmith/managed-deep-agents-overview\",\"description\":null,\"href\":\"/langsmith/managed-deep-agents\"},{\"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\"}]},{\"group\":\"Core capabilities\",\"pages\":[{\"title\":\"Harness capabilities\",\"sidebarTitle\":\"Overview\",\"description\":null,\"href\":\"/oss/javascript/deepagents/harness\"},{\"title\":\"Models\",\"description\":\"Configure model providers and parameters for Deep Agents\",\"href\":\"/oss/javascript/deepagents/models\"},{\"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\":\"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\":\"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\"},{\"title\":\"Human-in-the-loop\",\"description\":\"Learn how to configure human approval for sensitive tool operations\",\"href\":\"/oss/javascript/deepagents/human-in-the-loop\"},{\"title\":\"Permissions\",\"description\":\"Control filesystem access with declarative permission rules for Deep Agents\",\"href\":\"/oss/javascript/deepagents/permissions\"},{\"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\":\"Skills\",\"description\":\"Learn how to extend your deep agent's capabilities with skills\",\"href\":\"/oss/javascript/deepagents/skills\"},{\"title\":\"Sandboxes\",\"sidebarTitle\":\"Sandboxes\",\"description\":\"Execute code in isolated environments with sandbox backends\",\"href\":\"/oss/javascript/deepagents/sandboxes\"},{\"title\":\"Interpreters\",\"description\":\"Run lightweight code inside Deep Agents to compose tools, orchestrate subagents, and transform structured data\",\"tag\":\"Experimental\",\"href\":\"/oss/javascript/deepagents/interpreters\"},{\"title\":\"Profiles\",\"description\":\"Package per-provider and per-model defaults that Deep Agents applies when a model is selected\",\"href\":\"/oss/javascript/deepagents/profiles\"},{\"title\":\"Event streaming\",\"description\":\"Stream subagents, messages, tool calls, and final output from Deep Agents.\",\"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\":\"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\"}]},{\"group\":\"Deep Agents Code\",\"pages\":[{\"title\":\"Deep Agents Code\",\"sidebarTitle\":\"Overview\",\"description\":\"Terminal coding agent built on the Deep Agents SDK\",\"href\":\"/oss/javascript/deepagents/code/overview\"},{\"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, Daytona, Modal, Runloop, or AgentCore sandboxes. Install provider extras, 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\"},{\"title\":\"Configuration\",\"sidebarTitle\":\"Configuration\",\"description\":\"Configure Deep Agents Code with config.toml, hooks, and MCP servers\",\"href\":\"/oss/javascript/deepagents/code/configuration\"},{\"title\":\"MCP tools\",\"sidebarTitle\":\"MCP tools\",\"description\":\"Load additional tools from MCP (Model Context Protocol) servers\",\"href\":\"/oss/javascript/deepagents/code/mcp-tools\"},{\"title\":\"Data locations\",\"sidebarTitle\":\"App data\",\"description\":\"Where Deep Agents Code stores configuration, sessions, and customization files\",\"href\":\"/oss/javascript/deepagents/code/data-locations\"}]}]},{\"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\":\"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\":\"Deploy with LangSmith\",\"pages\":[{\"title\":\"LangSmith Deployment\",\"sidebarTitle\":\"Deployment\",\"description\":null,\"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\":null,\"href\":\"/oss/javascript/langgraph/persistence\"},{\"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\":\"LangSmith Deployment\",\"description\":null,\"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\"}]},{\"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\"}]}]},{\"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\":\"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\"}]},{\"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 RAG agent with LangChain\",\"sidebarTitle\":\"RAG agent\",\"description\":null,\"href\":\"/oss/javascript/langchain/rag\"},{\"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/langchain-community\",\"description\":null,\"href\":\"/oss/javascript/reference/integrations-javascript\"}]},{\"group\":\"Errors\",\"pages\":[{\"title\":\"Errors\",\"sidebarTitle\":\"Reference\",\"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\"}]}]}]}]}]}]},\"anonymizedNav\":\"$undefined\"},\"children\":\"$L2e\"}]}]}]}]]}]}]]\n"])</script><script>self.__next_f.push([1,"2f:I[604804,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"LoginButtonProvider\",1]\n"])</script><script>self.__next_f.push([1,"30:I[141180,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"SidebarLoginButtonProvider\",1]\n"])</script><script>self.__next_f.push([1,"31:I[343590,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"NavigationContextController\",1]\n"])</script><script>self.__next_f.push([1,"32:I[378486,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"PageListProvider\"]\n"])</script><script>self.__next_f.push([1,"33:I[742977,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"PrefetchProvider\"]\n"])</script><script>self.__next_f.push([1,"34:I[237978,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"PageModeOverrideProvider\"]\n"])</script><script>self.__next_f.push([1,"35:I[557611,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"Fonts\",1]\n"])</script><script>self.__next_f.push([1,"36:I[330080,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"BannerProvider\",1]\n"])</script><script>self.__next_f.push([1,"37:I[524149,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"ScrollTopScript\",1]\n"])</script><script>self.__next_f.push([1,"38:I[529058,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"LocalStorageAndAnalyticsProviders\",1]\n"])</script><script>self.__next_f.push([1,"39:I[958547,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"2e:[\"$\",\"$L2f\",null,{\"children\":[\"$\",\"$L30\",null,{\"children\":[\"$\",\"$L31\",null,{\"children\":[\"$\",\"$L32\",null,{\"pageListDataMap\":{},\"children\":[\"$\",\"$L33\",null,{\"children\":[\"$\",\"$L34\",null,{\"children\":[[\"$\",\"$L15\",null,{\"fonts\":\"$1a:2:props:children:props:children:4:props:children:props:children:props:children:props:value:docsConfig:fonts\",\"theme\":\"aspen\",\"subdomain\":\"langchain-5e9cc07a\"}],[[\"$\",\"$L14\",null,{\"docsConfig\":\"$1a:2:props:children:props:children:4: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        \"}]],[\"$\",\"$L16\",null,{\"theme\":\"aspen\"}],[\"$\",\"$L35\",null,{\"fonts\":\"$1a:2:props:children:props:children:4:props:children:props:children:props:children:props:value:docsConfig:fonts\",\"children\":[\"$\",\"$L36\",null,{\"bannersByLocale\":{},\"subdomain\":\"langchain-5e9cc07a\",\"children\":[[\"$\",\"$L37\",null,{\"theme\":\"aspen\"}],[\"$\",\"$L38\",null,{\"subdomain\":\"langchain-5e9cc07a\",\"isAtlas\":false,\"children\":[\"$\",\"$L39\",null,{\"toggles\":[{\"name\":\"agent-panel\",\"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\":\"dashboard-editor-theseus\",\"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\":\"disable-workflows-on-credit-exhaustion\",\"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\":\"update-workflow-sqs\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"use-run-task-workflow-instance-queue\",\"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-mintlify-slack\",\"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\":\"atlas-in-onboarding\",\"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\":\"auth-direct-to-cf\",\"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\":\"autumn-webhooks-mar-2026\",\"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\":\"agent_harness_kb\",\"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\":\"cloudflare-cache-invalidation\",\"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\":\"self-serve-direct-to-cf\",\"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\":\"self-serve-sso\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"use-run-task-queue\",\"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\":\"notification-settings\",\"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\":\"direct-chroma-search\",\"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\":\"dashboard-auth-revamp\",\"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\":\"cron-sync-content-with-code\",\"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\":\"workflows-onboarding\",\"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\":\"client-credentials-grant\",\"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\":\"viewer-role\",\"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\":\"tiered-billing\",\"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\":\"onboarding-vercel-harness\",\"enabled\":true,\"variant\":{\"name\":\"disabled\",\"enabled\":false,\"feature_enabled\":true},\"impressionData\":false},{\"name\":\"dashboard-bucketing\",\"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\":\"autumn-billing-mar-2026\",\"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\":\"editor-v7-file-tree\",\"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}],\"children\":\"$L3a\"}]}]]}]}]]]}]}]}]}]}]}]\n"])</script><script>self.__next_f.push([1,"3b:I[604780,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"CaptchaProvider\"]\n"])</script><script>self.__next_f.push([1,"3c:I[601054,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"SearchProvider\",1]\n"])</script><script>self.__next_f.push([1,"3d:I[28330,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"SkipToContent\",1]\n"])</script><script>self.__next_f.push([1,"3e:I[87732,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"AssistantLayoutWrapper\",1]\n"])</script><script>self.__next_f.push([1,"3f:I[118717,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2adbcb4fb4781173.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/a1a872c886e0f85a.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"NotFoundHydrator\",1]\n"])</script><script>self.__next_f.push([1,"3a:[\"$\",\"$L3b\",null,{\"enabled\":false,\"isPreview\":false,\"children\":[\"$\",\"$L3c\",null,{\"subdomain\":\"langchain-5e9cc07a\",\"hasChatPermissions\":false,\"isLoggedInCli\":false,\"assistantConfig\":{\"enableAskAiButton\":false,\"enableAskAiSearchBar\":true,\"deflection\":{\"enabled\":false,\"email\":\"support@langchain.dev\"}},\"starterQuestions\":\"$undefined\",\"children\":[[\"$\",\"$L3d\",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}\"}}],[\"$\",\"$L3e\",null,{\"children\":[[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L12\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[\"$\",\"$L3f\",null,{\"source\":\"multitenant\"}],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}],\"$undefined\"]}]]}]}]\n"])</script><script>self.__next_f.push([1,"48:I[763509,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"ThemeLayout\",1]\n"])</script><script>self.__next_f.push([1,"1f:{\"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\":\"charset\",\"content\":\"utf-8\"}],[\"$\",\"meta\",\"7\",{\"name\":\"og:site_name\",\"content\":\"Docs by LangChain\"}],[\"$\",\"meta\",\"8\",{\"name\":\"canonical\",\"content\":\"https://docs.langchain.com\"}],[\"$\",\"meta\",\"9\",{\"name\":\"google-site-verification\",\"content\":\"9_2KHeJwmEdwgncBRk1MsKxriZz7Sc21EJdbfCxkTEo\"}],[\"$\",\"link\",\"10\",{\"rel\":\"canonical\",\"href\":\"https://docs.langchain.com\"}],[\"$\",\"link\",\"11\",{\"rel\":\"alternate\",\"type\":\"application/xml\",\"href\":\"/sitemap.xml\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:title\",\"content\":\"Home - Docs by LangChain\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:url\",\"content\":\"https://docs.langchain.com\"}],[\"$\",\"meta\",\"14\",{\"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%26darkColor%3D%2523006DDD%26backgroundLight%3D%2523FFFFFF%26backgroundDark%3D%2523030710\u0026w=1200\u0026q=100\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"18\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"19\",{\"name\":\"twitter:title\",\"content\":\"Home - Docs by LangChain\"}],[\"$\",\"meta\",\"20\",{\"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%26darkColor%3D%2523006DDD%26backgroundLight%3D%2523FFFFFF%26backgroundDark%3D%2523030710\u0026w=1200\u0026q=100\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:image:height\",\"content\":\"630\"}],[\"$\",\"link\",\"23\",{\"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\",\"24\",{\"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\"}],\"$L40\",\"$L41\",\"$L42\",\"$L43\",\"$L44\",\"$L45\",\"$L46\",\"$L47\"],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"24:\"$1f:metadata\"\n"])</script><script>self.__next_f.push([1,"1b:[\"$\",\"$L48\",null,{\"theme\":\"aspen\",\"pageMetadata\":{\"title\":null,\"sidebarTitle\":\"Home\",\"mode\":\"custom\",\"description\":null,\"href\":\"/index\"},\"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\":{\"default\":\"system\",\"strict\":false},\"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/\"}},\"navigation\":{\"products\":[{\"product\":\"Home\",\"icon\":\"home\",\"pages\":[\"index\"]},{\"product\":\"LangSmith\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/observability-icon-dark.png\",\"description\":\"LLM observability, evaluation, and deployment\",\"tabs\":[{\"tab\":\"Get started\",\"pages\":[\"langsmith/home\",\"langsmith/create-account-api-key\",\"langsmith/profile-configuration\",\"langsmith/get-started-integrations\",\"langsmith/pricing-plans\",\"langsmith/enterprise\",{\"group\":\"LLM Gateway\",\"tag\":\"Private beta\",\"pages\":[\"langsmith/llm-gateway\",\"langsmith/llm-gateway-spend-policies\",\"langsmith/llm-gateway-redaction\"]},{\"group\":\"Account administration\",\"pages\":[\"langsmith/administration-overview\",{\"group\":\"Workspace setup\",\"pages\":[\"langsmith/set-up-hierarchy\",\"langsmith/workload-isolation\",\"langsmith/set-up-resource-tags\",\"langsmith/model-configurations\"]},{\"group\":\"Users \u0026 access control\",\"pages\":[\"langsmith/user-management\",\"langsmith/rbac\",\"langsmith/abac\",\"langsmith/organization-workspace-operations\",\"langsmith/authentication-methods\",\"langsmith/jit-invite-sso\"]},{\"group\":\"Billing \u0026 usage\",\"pages\":[\"langsmith/billing\",\"langsmith/view-usage\",\"langsmith/granular-usage\"]},\"langsmith/manage-organization-by-api\",\"langsmith/audit-logs\"]},{\"group\":\"Tools\",\"pages\":[\"langsmith/polly\",\"langsmith/langsmith-cli\",\"langsmith/skills\",{\"group\":\"Sandboxes\",\"icon\":\"box\",\"pages\":[\"langsmith/sandboxes\",\"langsmith/sandbox-snapshots\",\"langsmith/sandbox-service-urls\",\"langsmith/sandbox-auth-proxy\",\"langsmith/sandbox-permissions\",\"langsmith/sandbox-cli\",\"langsmith/sandbox-sdk\"]}]},{\"group\":\"Additional resources\",\"pages\":[{\"group\":\"Data \u0026 compliance\",\"icon\":\"shield-lock\",\"pages\":[\"langsmith/shared-responsibility-model\",\"langsmith/data-storage-and-privacy\",\"langsmith/data-purging-compliance\",\"langsmith/scalability-and-resilience\"]},{\"group\":\"FAQ\",\"icon\":\"help-circle\",\"pages\":[\"langsmith/faq\",\"langsmith/regions-faq\"]},\"langsmith/status\"]}]},{\"tab\":\"Observability\",\"pages\":[\"langsmith/observability\",\"langsmith/observability-quickstart\",\"langsmith/observability-concepts\",\"langsmith/observability-llm-tutorial\",\"langsmith/engine\",{\"group\":\"Tracing setup\",\"pages\":[{\"group\":\"Integrations\",\"icon\":\"plug\",\"pages\":[\"langsmith/integrations\",{\"group\":\"LLM providers\",\"pages\":[\"langsmith/trace-anthropic\",\"langsmith/trace-bedrock\",\"langsmith/trace-deepseek\",\"langsmith/trace-with-google-gemini\",\"langsmith/trace-litellm\",\"langsmith/trace-with-mistral\",\"langsmith/trace-openai\",\"langsmith/trace-with-openai-compatible\"]},{\"group\":\"Agent frameworks\",\"pages\":[\"langsmith/trace-with-autogen\",\"langsmith/trace-claude-agent-sdk\",\"langsmith/trace-with-crewai\",\"langsmith/trace-deep-agents\",\"langsmith/trace-with-google-adk\",\"langsmith/trace-with-langchain\",\"langsmith/trace-with-langgraph\",\"langsmith/trace-with-mastra\",\"langsmith/trace-with-microsoft-agent-framework\",\"langsmith/trace-with-openai-agents-sdk\",\"langsmith/trace-with-opentelemetry\",\"langsmith/trace-with-pydantic-ai\",\"langsmith/trace-with-semantic-kernel\",\"langsmith/trace-with-strands-agents\",\"langsmith/trace-with-vercel-ai-sdk\"]},{\"group\":\"Voice AI frameworks\",\"pages\":[\"langsmith/trace-with-livekit\",\"langsmith/trace-with-pipecat\"]},{\"group\":\"Developer tools\",\"pages\":[\"langsmith/trace-claude-code\",\"langsmith/trace-with-codex\",\"langsmith/trace-with-opencode\",\"langsmith/trace-with-instructor\",\"langsmith/trace-with-n8n\",\"langsmith/trace-with-temporal\",\"langsmith/trace-with-vscode-copilot\"]}]},{\"group\":\"Manual instrumentation\",\"pages\":[\"langsmith/annotate-code\",\"langsmith/trace-with-api\",\"langsmith/log-llm-trace\",\"langsmith/log-retriever-trace\",\"langsmith/ls-metadata-parameters\",\"langsmith/upload-files-with-traces\"]},{\"group\":\"Messages view\",\"pages\":[\"langsmith/messages-view-integrations\",\"langsmith/messages-view-trace-format\"]},\"langsmith/threads\"]},{\"group\":\"Configuration \u0026 troubleshooting\",\"pages\":[{\"group\":\"Project \u0026 environment settings\",\"pages\":[\"langsmith/log-traces-to-project\",\"langsmith/trace-without-env-vars\",\"langsmith/conditional-tracing\",\"langsmith/sample-traces\"]},\"langsmith/cost-tracking\",{\"group\":\"Advanced tracing techniques\",\"pages\":[\"langsmith/distributed-tracing\",\"langsmith/access-current-span\",\"langsmith/serverless-environments\",\"langsmith/log-multimodal-traces\",\"langsmith/trace-generator-functions\"]},{\"group\":\"Data \u0026 privacy\",\"pages\":[\"langsmith/add-metadata-tags\",\"langsmith/mask-inputs-outputs\",\"langsmith/otel-gateway-trace-redaction\"]},{\"group\":\"Troubleshooting guides\",\"pages\":[\"langsmith/nest-traces\",\"langsmith/troubleshooting-variable-caching\"]}]},{\"group\":\"Viewing \u0026 managing traces\",\"pages\":[\"langsmith/view-traces\",\"langsmith/filter-traces-in-application\",\"langsmith/configure-input-output-preview\",\"langsmith/manage-trace\",\"langsmith/export-traces\",\"langsmith/query-threads\",\"langsmith/langsmith-remote-mcp\",\"langsmith/langsmith-mcp-server\",{\"group\":\"Bulk export trace data\",\"pages\":[\"langsmith/data-export\",\"langsmith/data-export-destinations\",\"langsmith/data-export-monitor\",\"langsmith/data-export-downstream\",\"langsmith/big-query-bulk-export\"]}]},{\"group\":\"Automations\",\"pages\":[\"langsmith/rules\",\"langsmith/webhooks\",\"langsmith/engine-webhooks\"]},{\"group\":\"Feedback \u0026 evaluation\",\"pages\":[\"langsmith/evaluators\",\"langsmith/attach-user-feedback\",\"langsmith/presigned-feedback-tokens\",{\"group\":\"Set up online evaluators\",\"pages\":[\"langsmith/online-evaluations-llm-as-judge\",\"langsmith/online-evaluations-multi-turn\",\"langsmith/online-evaluations-code\",\"langsmith/online-evaluations-composite\"]}]},{\"group\":\"Monitoring \u0026 alerting\",\"pages\":[\"langsmith/dashboards\",\"langsmith/alerts\",\"langsmith/insights\"]},{\"group\":\"Data type reference\",\"pages\":[\"langsmith/run-data-format\",\"langsmith/feedback-data-format\",\"langsmith/trace-query-syntax\"]}]},{\"tab\":\"Evaluation\",\"pages\":[\"langsmith/evaluation\",\"langsmith/evaluation-quickstart\",\"langsmith/evaluation-concepts\",\"langsmith/evaluation-approaches\",\"langsmith/polly-evaluation\",{\"group\":\"Datasets\",\"pages\":[{\"group\":\"Create a dataset\",\"pages\":[\"langsmith/manage-datasets-in-application\",\"langsmith/manage-datasets-programmatically\"]},\"langsmith/manage-datasets\",\"langsmith/custom-output-rendering\"]},{\"group\":\"Set up evaluations\",\"pages\":[{\"group\":\"Run an evaluation\",\"pages\":[\"langsmith/evaluate-llm-application\",\"langsmith/evaluate-with-opentelemetry\",\"langsmith/run-evaluation-from-playground\",\"langsmith/run-evals-api-only\"]},{\"group\":\"Evaluation types\",\"pages\":[\"langsmith/evaluation-types\",{\"group\":\"UI\",\"pages\":[\"langsmith/llm-as-judge\",\"langsmith/code-evaluator-ui\",\"langsmith/composite-evaluators-ui\"]},{\"group\":\"SDK\",\"pages\":[\"langsmith/llm-as-judge-sdk\",\"langsmith/code-evaluator-sdk\",\"langsmith/composite-evaluators-sdk\",\"langsmith/summary\",\"langsmith/evaluate-pairwise\"]}]},{\"group\":\"Frameworks \u0026 integrations\",\"pages\":[\"langsmith/openevals\",\"langsmith/pytest\",\"langsmith/vitest-jest\"]},{\"group\":\"Evaluation techniques\",\"pages\":[{\"group\":\"Define evaluation target\",\"pages\":[\"langsmith/define-target-function\",\"langsmith/evaluate-on-intermediate-steps\",\"langsmith/langchain-runnable\",\"langsmith/evaluate-graph\",\"langsmith/multi-turn-simulation\",\"langsmith/trajectory-evals\"]},{\"group\":\"Scoring methods\",\"pages\":[\"langsmith/multiple-scores\",\"langsmith/metric-type\"]},{\"group\":\"Experiment configuration\",\"pages\":[\"langsmith/experiment-configuration\",\"langsmith/evaluation-async\",\"langsmith/repetition\",\"langsmith/rate-limiting\",\"langsmith/bind-evaluator-to-dataset\",\"langsmith/evaluate-existing-experiment\",\"langsmith/local\",\"langsmith/read-local-experiment-results\",\"langsmith/evaluate-with-retry\"]},{\"group\":\"Multimodal evaluations\",\"pages\":[\"langsmith/evaluate-with-attachments\"]}]},{\"group\":\"Improve evaluators\",\"pages\":[\"langsmith/improve-judge-evaluator-feedback\",\"langsmith/create-few-shot-evaluators\"]},{\"group\":\"Tutorials\",\"pages\":[\"langsmith/evaluate-chatbot-tutorial\",\"langsmith/evaluate-rag-tutorial\",\"langsmith/test-react-agent-pytest\",\"langsmith/evaluate-complex-agent\",\"langsmith/run-backtests-new-agent\"]}]},{\"group\":\"Analyze experiment results\",\"pages\":[\"langsmith/analyze-an-experiment\",\"langsmith/compare-experiment-results\",\"langsmith/filter-experiments-ui\",\"langsmith/fetch-perf-metrics-experiment\",\"langsmith/upload-existing-experiments\"]},{\"group\":\"Annotation \u0026 human feedback\",\"pages\":[\"langsmith/annotation-queues\",\"langsmith/annotation-queues-sdk\",\"langsmith/assertions\",\"langsmith/set-up-feedback-criteria\",\"langsmith/annotate-traces-inline\",\"langsmith/audit-evaluator-scores\"]},{\"group\":\"Common data types\",\"pages\":[\"langsmith/example-data-format\",\"langsmith/dataset-json-types\",\"langsmith/dataset-transformations\"]}]},{\"tab\":\"Prompt engineering\",\"pages\":[\"langsmith/prompt-engineering\",\"langsmith/prompt-engineering-quickstart\",\"langsmith/prompt-engineering-concepts\",\"langsmith/polly-prompt-engineering\",\"langsmith/playground-model-providers\",{\"group\":\"Create and update prompts\",\"pages\":[\"langsmith/create-a-prompt\",\"langsmith/manage-prompts\",\"langsmith/manage-prompts-programmatically\",\"langsmith/prompt-template-format\",\"langsmith/managing-model-configurations\",\"langsmith/use-tools\",\"langsmith/multimodal-content\",\"langsmith/write-prompt-with-ai\",{\"group\":\"Connect to models\",\"pages\":[\"langsmith/custom-openai-compliant-model\",\"langsmith/custom-endpoint\"]}]},{\"group\":\"Context engineering\",\"pages\":[\"langsmith/use-the-context-hub\",\"langsmith/manage-contexts-sdk\",\"langsmith/context-engineering-concepts\"]},{\"group\":\"Tutorials\",\"pages\":[\"langsmith/optimize-classifier\",\"langsmith/prompt-commit\",\"langsmith/multiple-messages\"]}]},{\"tab\":\"Agent deployment\",\"pages\":[\"langsmith/deployment\",\"langsmith/deployment-quickstart-da\",\"langsmith/deployment-quickstart\",\"langsmith/local-dev-testing\",{\"group\":\"Agent server\",\"pages\":[\"langsmith/agent-server\",{\"group\":\"Assistants\",\"pages\":[\"langsmith/assistants\",\"langsmith/configuration-cloud\"]},\"langsmith/use-threads\",{\"group\":\"Runs\",\"pages\":[\"langsmith/runs\",\"langsmith/background-run\",\"langsmith/same-thread\",\"langsmith/stateless-runs\",\"langsmith/cancel-run\"]},\"langsmith/cron-jobs\",{\"group\":\"Tutorials\",\"pages\":[\"langsmith/agent-server-feedback\",\"langsmith/deploy-google-adk\",\"langsmith/deploy-other-frameworks\",\"langsmith/generative-ui-react\"]}]},{\"group\":\"Core capabilities\",\"pages\":[\"langsmith/core-capabilities\",\"langsmith/streaming\",\"langsmith/add-human-in-the-loop\",\"langsmith/human-in-the-loop-time-travel\",\"langsmith/server-mcp\",\"langsmith/server-a2a\",\"langsmith/agent-server-distributed-tracing\",\"langsmith/use-webhooks\",{\"group\":\"Double-texting\",\"pages\":[\"langsmith/double-texting\",\"langsmith/interrupt-concurrent\",\"langsmith/rollback-concurrent\",\"langsmith/reject-concurrent\",\"langsmith/enqueue-concurrent\"]}]},{\"group\":\"Develop agents\",\"pages\":[\"langsmith/application-structure\",{\"group\":\"Setup\",\"pages\":[\"langsmith/setup-app-requirements-txt\",\"langsmith/setup-pyproject\",\"langsmith/setup-javascript\",\"langsmith/monorepo-support\"]},{\"group\":\"Deployment components\",\"pages\":[\"langsmith/components\",\"langsmith/data-plane\",\"langsmith/control-plane\"]},\"langsmith/graph-rebuild\",\"langsmith/use-remote-graph\",\"langsmith/semantic-search\",\"langsmith/configure-ttl\",\"langsmith/configure-checkpointer\",\"langsmith/agent-server-scale\",\"langsmith/cicd-pipeline-example\"]},{\"group\":\"Deployment guides\",\"pages\":[{\"group\":\"Managed Deep Agents\",\"icon\":\"robot\",\"tag\":\"PREVIEW\",\"pages\":[\"langsmith/managed-deep-agents-overview\",\"langsmith/managed-deep-agents-quickstart\",\"langsmith/managed-deep-agents-mcp\",\"langsmith/managed-deep-agents-deploy\",\"langsmith/managed-deep-agents-invoke\",\"langsmith/managed-deep-agents-cli\",\"langsmith/managed-deep-agents-api\"]},\"langsmith/deploy-to-cloud\",\"langsmith/hybrid\",\"langsmith/deploy-standalone-server\",\"langsmith/deploy-with-control-plane\",\"langsmith/diagnostics-self-hosted\"]},{\"group\":\"Studio\",\"pages\":[\"langsmith/studio\",\"langsmith/quick-start-studio\",\"langsmith/use-studio\",\"langsmith/observability-studio\",\"langsmith/troubleshooting-studio\"]},{\"group\":\"Auth \u0026 access control\",\"pages\":[\"langsmith/auth\",\"langsmith/custom-auth\",\"langsmith/set-up-custom-auth\",\"langsmith/resource-auth\",\"langsmith/add-auth-server\",\"langsmith/openapi-security\",\"langsmith/agent-auth\"]},{\"group\":\"Server customization\",\"pages\":[\"langsmith/caching\",\"langsmith/custom-store\",\"langsmith/custom-checkpointer\",\"langsmith/custom-lifespan\",\"langsmith/custom-middleware\",\"langsmith/custom-routes\",\"langsmith/encryption\",\"langsmith/configurable-headers\",\"langsmith/configurable-logs\"]}]},{\"tab\":\"Platform setup\",\"groups\":[{\"group\":\"Overview\",\"pages\":[\"langsmith/platform-setup\"]},{\"group\":\"Cloud (SaaS)\",\"pages\":[\"langsmith/cloud\"]},{\"group\":\"Self-hosted\",\"pages\":[\"langsmith/self-hosted\",{\"group\":\"Get started by cloud provider\",\"pages\":[\"langsmith/aws-self-hosted\",\"langsmith/azure-self-hosted\",\"langsmith/gcp-self-hosted\"]},{\"group\":\"Setup guides\",\"pages\":[\"langsmith/self-host-dependency-versions\",\"langsmith/kubernetes\",\"langsmith/deploy-self-hosted-full-platform\",{\"group\":\"Manage an installation\",\"pages\":[\"langsmith/self-host-usage\",\"langsmith/self-host-upgrades\",\"langsmith/self-host-disaster-recovery\",\"langsmith/self-host-egress\",\"langsmith/self-host-organization-charts\",\"langsmith/langsmith-managed-clickhouse\",\"langsmith/self-host-ingress\",\"langsmith/self-host-mirroring-images\",\"langsmith/self-host-fips\"]}]},{\"group\":\"Configuration\",\"pages\":[\"langsmith/llm-auth-proxy-self-hosted\",\"langsmith/self-host-environment-variables\",\"langsmith/self-host-scale\",\"langsmith/self-host-ttl\",\"langsmith/custom-docker\",\"langsmith/self-host-playground-environment-settings\",\"langsmith/self-host-ui-customization\",\"langsmith/troubleshooting\"]},{\"group\":\"Connect external services\",\"pages\":[\"langsmith/self-host-blob-storage\",\"langsmith/self-host-external-clickhouse\",\"langsmith/self-host-external-postgres\",\"langsmith/self-host-external-redis\"]},{\"group\":\"Platform auth \u0026 access control\",\"pages\":[\"langsmith/self-host-basic-auth\",\"langsmith/self-host-sso\",\"langsmith/self-host-user-management\",\"langsmith/self-host-custom-tls-certificates\",\"langsmith/self-host-using-an-existing-secret\"]},{\"group\":\"Self-hosted observability\",\"pages\":[\"langsmith/export-backend\",\"langsmith/langsmith-collector\",\"langsmith/observability-stack\",\"langsmith/self-hosted-mission-control\"]},{\"group\":\"Scripts for management tasks\",\"pages\":[\"langsmith/script-delete-a-workspace\",\"langsmith/script-delete-an-organization\",\"langsmith/script-delete-traces\",\"langsmith/script-generate-clickhouse-stats\",\"langsmith/script-generate-query-stats\",\"langsmith/script-running-pg-support-queries\",\"langsmith/script-running-ch-support-queries\"]}]},{\"group\":\"Hybrid (legacy)\",\"pages\":[\"langsmith/hybrid-legacy\"]}]},{\"tab\":\"Reference\",\"pages\":[{\"group\":\"General\",\"pages\":[\"langsmith/reference\",{\"group\":\"LangSmith API\",\"pages\":[\"langsmith/smith-api-ref\",{\"group\":\"System\",\"pages\":[\"langsmith/smith-api/info/get-server-info\",\"langsmith/smith-api/info/get-health-info\",\"langsmith/smith-api/public/get-shared-run\",\"langsmith/smith-api/public/get-shared-run-by-id\",\"langsmith/smith-api/public/query-shared-runs\",\"langsmith/smith-api/public/read-shared-feedbacks\",\"langsmith/smith-api/public/read-shared-dataset\",\"langsmith/smith-api/public/count-shared-examples\",\"langsmith/smith-api/public/read-shared-examples\",\"langsmith/smith-api/public/read-shared-dataset-tracer-sessions\",\"langsmith/smith-api/public/read-shared-dataset-tracer-sessions-bulk\",\"langsmith/smith-api/public/read-shared-dataset-examples-with-runs\",\"langsmith/smith-api/public/read-shared-delta\",\"langsmith/smith-api/public/read-shared-delta-stream\",\"langsmith/smith-api/public/query-shared-dataset-runs\",\"langsmith/smith-api/public/generate-query-for-shared-dataset-runs\",\"langsmith/smith-api/public/stats-shared-dataset-runs\",\"langsmith/smith-api/public/read-shared-dataset-run\",\"langsmith/smith-api/public/read-shared-dataset-feedback\",\"langsmith/smith-api/public/read-shared-comparative-experiments\",\"langsmith/smith-api/public/get-message-json-schema\",\"langsmith/smith-api/public/get-tool-def-json-schema\",\"langsmith/smith-api/ace/execute\",\"langsmith/smith-api/model-price-map/read-model-price-map\",\"langsmith/smith-api/model-price-map/create-new-model-price\",\"langsmith/smith-api/model-price-map/update-model-price\",\"langsmith/smith-api/model-price-map/delete-model-price\",\"langsmith/smith-api/features/list-feature-configurations\",\"langsmith/smith-api/features/set-default-model-for-a-feature\",\"langsmith/smith-api/features/delete-default-model-for-a-feature\",\"langsmith/smith-api/features/disable-a-model-for-a-feature\",\"langsmith/smith-api/features/re-enable-a-disabled-model-for-a-feature\",\"langsmith/smith-api/backfills/restart-a-backfill-job\",\"langsmith/smith-api/threads/query-threads\",\"langsmith/smith-api/threads/query-single-thread-stats\",\"langsmith/smith-api/threads/query-thread-traces\"]},{\"group\":\"metrics\",\"pages\":[]},{\"group\":\"Tracing\",\"pages\":[\"langsmith/smith-api/tracer-sessions/get-tracing-project-prebuilt-dashboard\",\"langsmith/smith-api/tracer-sessions/read-tracer-session\",\"langsmith/smith-api/tracer-sessions/delete-tracer-session\",\"langsmith/smith-api/tracer-sessions/update-tracer-session\",\"langsmith/smith-api/tracer-sessions/read-tracer-sessions\",\"langsmith/smith-api/tracer-sessions/create-tracer-session\",\"langsmith/smith-api/tracer-sessions/delete-tracer-sessions\",\"langsmith/smith-api/tracer-sessions/read-tracer-sessions-runs-metadata\",\"langsmith/smith-api/tracer-sessions/read-filter-views\",\"langsmith/smith-api/tracer-sessions/create-filter-view\",\"langsmith/smith-api/tracer-sessions/read-filter-view\",\"langsmith/smith-api/tracer-sessions/delete-filter-view\",\"langsmith/smith-api/tracer-sessions/update-filter-view\",\"langsmith/smith-api/tracer-sessions/rename-filter-view\",\"langsmith/smith-api/tracer-sessions/[beta]-get-insights-jobs\",\"langsmith/smith-api/tracer-sessions/[beta]-create-insights-job\",\"langsmith/smith-api/tracer-sessions/[beta]-get-insights-job-configs\",\"langsmith/smith-api/tracer-sessions/[beta]-create-insights-job-config\",\"langsmith/smith-api/tracer-sessions/[beta]-auto-generate-insights-job-config\",\"langsmith/smith-api/tracer-sessions/[beta]-delete-insights-job-config\",\"langsmith/smith-api/tracer-sessions/[beta]-update-insights-job-config\",\"langsmith/smith-api/tracer-sessions/[beta]-get-insights-job\",\"langsmith/smith-api/tracer-sessions/[beta]-delete-insights-job\",\"langsmith/smith-api/tracer-sessions/[beta]-update-insights-job\",\"langsmith/smith-api/tracer-sessions/[beta]-get-run-cluster-from-insights-job\",\"langsmith/smith-api/tracer-sessions/[beta]-get-runs-from-insights-job\",\"langsmith/smith-api/run/list-rules\",\"langsmith/smith-api/run/create-rule\",\"langsmith/smith-api/run/validate-rule\",\"langsmith/smith-api/run/delete-rule\",\"langsmith/smith-api/run/update-rule\",\"langsmith/smith-api/run/thread-preview\",\"langsmith/smith-api/run/list-rule-logs\",\"langsmith/smith-api/run/list-rule-logs-v2\",\"langsmith/smith-api/run/get-last-applied-rule\",\"langsmith/smith-api/run/trigger-rule\",\"langsmith/smith-api/run/trigger-rules\",\"langsmith/smith-api/run/read-run\",\"langsmith/smith-api/run/update-run\",\"langsmith/smith-api/run/read-run-share-state\",\"langsmith/smith-api/run/share-run\",\"langsmith/smith-api/run/unshare-run\",\"langsmith/smith-api/run/validate-runs-query\",\"langsmith/smith-api/run/query-runs\",\"langsmith/smith-api/run/generate-query-for-runs\",\"langsmith/smith-api/run/stats-runs\",\"langsmith/smith-api/run/create-run-proxy\",\"langsmith/smith-api/run/create-runs-batch-proxy\",\"langsmith/smith-api/run/create-runs-multipart-proxy\",\"langsmith/smith-api/run/group-runs\",\"langsmith/smith-api/run/stats-group-runs\",\"langsmith/smith-api/run/delete-runs-abac\",\"langsmith/smith-api/run/delete-runs\",\"langsmith/smith-api/runs/create-a-run\",\"langsmith/smith-api/runs/ingest-runs-batch-json\",\"langsmith/smith-api/runs/ingest-runs-multipart\",\"langsmith/smith-api/runs/update-a-run\",\"langsmith/smith-api/sessions/list-agent-versions-for-a-project\",\"langsmith/smith-api/runs/query-runs\",\"langsmith/smith-api/runs/get-a-single-run\",\"langsmith/smith-api/runs/list-runs-in-a-trace\"]},{\"group\":\"Administration\",\"pages\":[\"langsmith/smith-api/workspaces/list-workspaces\",\"langsmith/smith-api/workspaces/create-workspace\",\"langsmith/smith-api/workspaces/delete-workspace\",\"langsmith/smith-api/workspaces/patch-workspace\",\"langsmith/smith-api/workspaces/get-current-workspace-stats\",\"langsmith/smith-api/workspaces/get-current-workspace-usage-limits-info\",\"langsmith/smith-api/workspaces/get-shared-tokens\",\"langsmith/smith-api/workspaces/bulk-unshare-entities\",\"langsmith/smith-api/workspaces/list-current-workspace-secrets\",\"langsmith/smith-api/workspaces/upsert-current-workspace-secrets\",\"langsmith/smith-api/workspaces/get-current-workspace-encrypted-secrets\",\"langsmith/smith-api/workspaces/list-tag-keys\",\"langsmith/smith-api/workspaces/create-tag-key\",\"langsmith/smith-api/workspaces/get-tag-key\",\"langsmith/smith-api/workspaces/delete-tag-key\",\"langsmith/smith-api/workspaces/update-tag-key\",\"langsmith/smith-api/workspaces/list-tag-values\",\"langsmith/smith-api/workspaces/create-tag-value\",\"langsmith/smith-api/workspaces/get-tag-value\",\"langsmith/smith-api/workspaces/delete-tag-value\",\"langsmith/smith-api/workspaces/update-tag-value\",\"langsmith/smith-api/workspaces/list-taggings\",\"langsmith/smith-api/workspaces/create-tagging\",\"langsmith/smith-api/workspaces/delete-tagging\",\"langsmith/smith-api/workspaces/list-tags\",\"langsmith/smith-api/workspaces/list-tags-for-resource\",\"langsmith/smith-api/workspaces/list-tags-for-resources\",\"langsmith/smith-api/audit-logs/get-audit-logs\",\"langsmith/smith-api/ttl-settings/list-ttl-settings\",\"langsmith/smith-api/ttl-settings/upsert-ttl-settings\",\"langsmith/smith-api/orgs/list-ttl-settings\",\"langsmith/smith-api/orgs/upsert-ttl-settings\",\"langsmith/smith-api/orgs/list-organizations\",\"langsmith/smith-api/orgs/create-organization\",\"langsmith/smith-api/orgs/create-customers-and-get-stripe-setup-intent\",\"langsmith/smith-api/orgs/get-organization-info\",\"langsmith/smith-api/orgs/get-current-organization-info\",\"langsmith/smith-api/orgs/update-current-organization-info\",\"langsmith/smith-api/orgs/get-organization-billing-info\",\"langsmith/smith-api/orgs/get-dashboard\",\"langsmith/smith-api/orgs/on-payment-method-created\",\"langsmith/smith-api/orgs/get-company-info\",\"langsmith/smith-api/orgs/set-company-info\",\"langsmith/smith-api/orgs/change-payment-plan\",\"langsmith/smith-api/orgs/list-organization-roles\",\"langsmith/smith-api/orgs/create-organization-roles\",\"langsmith/smith-api/orgs/delete-organization-roles\",\"langsmith/smith-api/orgs/update-organization-roles\",\"langsmith/smith-api/orgs/list-permissions\",\"langsmith/smith-api/orgs/list-pending-organization-invites\",\"langsmith/smith-api/orgs/get-current-org-members\",\"langsmith/smith-api/orgs/add-member-to-current-org\",\"langsmith/smith-api/orgs/get-current-active-org-members\",\"langsmith/smith-api/orgs/get-current-pending-org-members\",\"langsmith/smith-api/orgs/add-members-to-current-org-batch\",\"langsmith/smith-api/orgs/add-basic-auth-members-to-current-org\",\"langsmith/smith-api/orgs/delete-current-org-pending-member\",\"langsmith/smith-api/orgs/delete-pending-organization-invite\",\"langsmith/smith-api/orgs/claim-pending-organization-invite\",\"langsmith/smith-api/orgs/remove-member-from-current-org\",\"langsmith/smith-api/orgs/update-current-org-member\",\"langsmith/smith-api/orgs/update-current-user\",\"langsmith/smith-api/orgs/get-current-sso-settings\",\"langsmith/smith-api/orgs/create-sso-settings\",\"langsmith/smith-api/orgs/delete-sso-settings\",\"langsmith/smith-api/orgs/update-sso-settings\",\"langsmith/smith-api/orgs/update-allowed-login-methods\",\"langsmith/smith-api/orgs/get-org-usage\",\"langsmith/smith-api/orgs/get-granular-usage\",\"langsmith/smith-api/orgs/export-granular-usage-csv\",\"langsmith/smith-api/orgs/get-current-user-login-methods\",\"langsmith/smith-api/orgs/create-stripe-checkout-sessions-endpoint\",\"langsmith/smith-api/orgs/create-stripe-account-links-endpoint\",\"langsmith/smith-api/orgs/list-org-service-keys\",\"langsmith/smith-api/orgs/create-org-service-key\",\"langsmith/smith-api/orgs/delete-org-service-key\",\"langsmith/smith-api/orgs/update-org-service-key\",\"langsmith/smith-api/orgs/list-org-personal-access-tokens\",\"langsmith/smith-api/orgs/create-org-personal-access-token\",\"langsmith/smith-api/orgs/delete-org-personal-access-token\",\"langsmith/smith-api/orgs/set-default-sso-provision\",\"langsmith/smith-api/auth/login\",\"langsmith/smith-api/auth/send-sso-email-confirmation\",\"langsmith/smith-api/auth/check-sso-email-verification-status\",\"langsmith/smith-api/auth/confirm-sso-user-email\",\"langsmith/smith-api/auth/get-sso-settings\",\"langsmith/smith-api/auth/lookup-sso-by-email\",\"langsmith/smith-api/api-key/get-api-keys\",\"langsmith/smith-api/api-key/generate-api-key\",\"langsmith/smith-api/api-key/delete-api-key\",\"langsmith/smith-api/api-key/get-personal-access-tokens\",\"langsmith/smith-api/api-key/generate-personal-access-token\",\"langsmith/smith-api/api-key/delete-personal-access-token\",\"langsmith/smith-api/tenant/list-tenants\",\"langsmith/smith-api/tenant/create-tenant\",\"langsmith/smith-api/me/get-onboarding-state\",\"langsmith/smith-api/me/create-onboarding-state\",\"langsmith/smith-api/me/update-onboarding-state-field\",\"langsmith/smith-api/me/get-ls-user-id\",\"langsmith/smith-api/service-accounts/get-service-accounts\",\"langsmith/smith-api/service-accounts/create-service-account\",\"langsmith/smith-api/service-accounts/delete-service-account\",\"langsmith/smith-api/workspaces/list-pending-workspace-invites\",\"langsmith/smith-api/workspaces/delete-pending-workspace-invite\",\"langsmith/smith-api/workspaces/claim-pending-workspace-invite\",\"langsmith/smith-api/workspaces/get-current-workspace-members\",\"langsmith/smith-api/workspaces/add-member-to-current-workspace\",\"langsmith/smith-api/workspaces/get-current-active-workspace-members\",\"langsmith/smith-api/workspaces/get-current-pending-workspace-members\",\"langsmith/smith-api/workspaces/add-members-to-current-workspace-batch\",\"langsmith/smith-api/workspaces/delete-current-workspace-member\",\"langsmith/smith-api/workspaces/patch-current-workspace-member\",\"langsmith/smith-api/workspaces/delete-current-workspace-pending-member\",\"langsmith/smith-api/usage-limits/list-usage-limits\",\"langsmith/smith-api/usage-limits/upsert-usage-limit\",\"langsmith/smith-api/usage-limits/list-org-usage-limits\",\"langsmith/smith-api/usage-limits/delete-usage-limit\",\"langsmith/smith-api/auth/get-public-auth-info\",\"langsmith/smith-api/aws_marketplace/aws-marketplace-fulfillment-url-registration\",\"langsmith/smith-api/me/get-the-authenticated-users-provider-user-id\",\"langsmith/smith-api/data_planes/list-data-planes-for-the-current-organization\",\"langsmith/smith-api/data_planes/create-a-new-data-plane\",\"langsmith/smith-api/access_policies/list-access-policies\",\"langsmith/smith-api/access_policies/create-an-access-policy\",\"langsmith/smith-api/access_policies/attach-access-policies-to-a-role\",\"langsmith/smith-api/access_policies/get-an-access-policy\",\"langsmith/smith-api/access_policies/delete-an-access-policy\",\"langsmith/smith-api/organizations/get-current-organization-info\",\"langsmith/smith-api/orgs/list-org-members-with-workspace-roles\",\"langsmith/smith-api/scim-tokens/list-scim-tokens\",\"langsmith/smith-api/scim-tokens/create-a-scim-token\",\"langsmith/smith-api/scim-tokens/get-a-scim-token\",\"langsmith/smith-api/scim-tokens/delete-a-scim-token\",\"langsmith/smith-api/scim-tokens/update-a-scim-token\",\"langsmith/smith-api/ttl-settings/get-workspace-ttl-settings\",\"langsmith/smith-api/ttl-settings/update-workspace-ttl-settings\"]},{\"group\":\"health\",\"pages\":[]},{\"group\":\"Datasets\",\"pages\":[\"langsmith/smith-api/examples/count-examples\",\"langsmith/smith-api/examples/read-example\",\"langsmith/smith-api/examples/delete-example\",\"langsmith/smith-api/examples/update-example\",\"langsmith/smith-api/examples/read-examples\",\"langsmith/smith-api/examples/create-example\",\"langsmith/smith-api/examples/delete-examples\",\"langsmith/smith-api/examples/create-examples\",\"langsmith/smith-api/examples/legacy-update-examples\",\"langsmith/smith-api/examples/upload-examples-from-csv\",\"langsmith/smith-api/examples/validate-example\",\"langsmith/smith-api/examples/validate-examples\",\"langsmith/smith-api/datasets/read-datasets\",\"langsmith/smith-api/datasets/create-dataset\",\"langsmith/smith-api/datasets/delete-datasets\",\"langsmith/smith-api/datasets/read-datasets-stream\",\"langsmith/smith-api/datasets/read-dataset\",\"langsmith/smith-api/datasets/delete-dataset\",\"langsmith/smith-api/datasets/update-dataset\",\"langsmith/smith-api/datasets/upload-csv-dataset\",\"langsmith/smith-api/datasets/upload-experiment\",\"langsmith/smith-api/datasets/get-dataset-versions\",\"langsmith/smith-api/datasets/diff-dataset-versions\",\"langsmith/smith-api/datasets/get-dataset-version\",\"langsmith/smith-api/datasets/update-dataset-version\",\"langsmith/smith-api/datasets/download-dataset-openai\",\"langsmith/smith-api/datasets/download-dataset-openai-ft\",\"langsmith/smith-api/datasets/download-dataset-csv\",\"langsmith/smith-api/datasets/download-dataset-jsonl\",\"langsmith/smith-api/datasets/read-examples-with-runs\",\"langsmith/smith-api/datasets/read-examples-with-runs-grouped\",\"langsmith/smith-api/datasets/read-delta\",\"langsmith/smith-api/datasets/read-delta-stream\",\"langsmith/smith-api/datasets/read-grouped-experiments\",\"langsmith/smith-api/datasets/read-dataset-share-state\",\"langsmith/smith-api/datasets/share-dataset\",\"langsmith/smith-api/datasets/unshare-dataset\",\"langsmith/smith-api/datasets/read-comparative-experiments\",\"langsmith/smith-api/datasets/create-comparative-experiment\",\"langsmith/smith-api/datasets/delete-comparative-experiment\",\"langsmith/smith-api/datasets/clone-dataset\",\"langsmith/smith-api/datasets/get-dataset-splits\",\"langsmith/smith-api/datasets/update-dataset-splits\",\"langsmith/smith-api/datasets/generate\",\"langsmith/smith-api/datasets/dataset-handler\",\"langsmith/smith-api/datasets/stream-dataset-handler\",\"langsmith/smith-api/datasets/studio-experiment\",\"langsmith/smith-api/examples/hard-delete-examples\",\"langsmith/smith-api/examples/upload-examples\",\"langsmith/smith-api/examples/update-examples\"]},{\"group\":\"Evaluation\",\"pages\":[\"langsmith/smith-api/experiments/evaluate-experiment-adhoc\",\"langsmith/smith-api/experiment-view-overrides/get-experiment-view-override-configurations-for-a-dataset\",\"langsmith/smith-api/experiment-view-overrides/create-new-experiment-view-override-configuration-for-a-dataset\",\"langsmith/smith-api/experiment-view-overrides/get-experiment-view-override-configuration-by-specific-id\",\"langsmith/smith-api/experiment-view-overrides/delete-experiment-view-override-configuration\",\"langsmith/smith-api/experiment-view-overrides/update-existing-experiment-view-override-configuration\",\"langsmith/smith-api/evaluators/list-evaluators\",\"langsmith/smith-api/evaluators/create-evaluator\",\"langsmith/smith-api/evaluators/bulk-delete-evaluators\",\"langsmith/smith-api/evaluators/get-evaluator-spend\",\"langsmith/smith-api/evaluators/get-evaluator\",\"langsmith/smith-api/evaluators/delete-evaluator\",\"langsmith/smith-api/evaluators/update-evaluator\"]},{\"group\":\"Feedback \u0026 Annotation\",\"pages\":[\"langsmith/smith-api/feedback/list-feedback-formula-ep\",\"langsmith/smith-api/feedback/create-feedback-formula-ep\",\"langsmith/smith-api/feedback/get-feedback-formula-ep\",\"langsmith/smith-api/feedback/update-feedback-formula-ep\",\"langsmith/smith-api/feedback/delete-feedback-formula-endpoint\",\"langsmith/smith-api/feedback/read-feedback\",\"langsmith/smith-api/feedback/delete-feedback\",\"langsmith/smith-api/feedback/update-feedback\",\"langsmith/smith-api/feedback/read-feedbacks\",\"langsmith/smith-api/feedback/create-feedback\",\"langsmith/smith-api/feedback/eagerly-create-feedback\",\"langsmith/smith-api/feedback/list-feedback-ingest-tokens\",\"langsmith/smith-api/feedback/create-feedback-ingest-token\",\"langsmith/smith-api/feedback/create-feedback-with-token-get\",\"langsmith/smith-api/feedback/create-feedback-with-token-post\",\"langsmith/smith-api/annotation-queues/get-annotation-queues\",\"langsmith/smith-api/annotation-queues/create-annotation-queue\",\"langsmith/smith-api/annotation-queues/delete-annotation-queues\",\"langsmith/smith-api/annotation-queues/populate-annotation-queue\",\"langsmith/smith-api/annotation-queues/get-annotation-queue\",\"langsmith/smith-api/annotation-queues/delete-annotation-queue\",\"langsmith/smith-api/annotation-queues/update-annotation-queue\",\"langsmith/smith-api/annotation-queues/get-runs-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/add-runs-to-annotation-queue\",\"langsmith/smith-api/annotation-queues/add-runs-to-annotation-queue-by-key\",\"langsmith/smith-api/annotation-queues/export-annotation-queue-archived-runs\",\"langsmith/smith-api/annotation-queues/get-run-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/get-annotation-queues-for-run\",\"langsmith/smith-api/annotation-queues/delete-run-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/update-run-in-annotation-queue\",\"langsmith/smith-api/annotation-queues/delete-runs-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/get-total-size-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/get-total-archived-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/get-size-from-annotation-queue\",\"langsmith/smith-api/annotation-queues/create-identity-annotation-queue-run-status\",\"langsmith/smith-api/annotation-queues/resolve-annotation-queue-run\",\"langsmith/smith-api/feedback-configs/list-feedback-configs-endpoint\",\"langsmith/smith-api/feedback-configs/create-feedback-config-endpoint\",\"langsmith/smith-api/feedback-configs/delete-feedback-config-endpoint\",\"langsmith/smith-api/feedback-configs/update-feedback-config-endpoint\",\"langsmith/smith-api/annotation_queues/add-a-reviewer-to-an-annotation-queue\",\"langsmith/smith-api/annotation_queues/remove-a-reviewer-from-an-annotation-queue\"]},{\"group\":\"Monitoring\",\"pages\":[\"langsmith/smith-api/bulk-exports/get-bulk-exports\",\"langsmith/smith-api/bulk-exports/create-bulk-export\",\"langsmith/smith-api/bulk-exports/get-bulk-export-destinations\",\"langsmith/smith-api/bulk-exports/create-bulk-export-destination\",\"langsmith/smith-api/bulk-exports/get-bulk-export-runs-filtered\",\"langsmith/smith-api/bulk-exports/get-bulk-export\",\"langsmith/smith-api/bulk-exports/cancel-bulk-export\",\"langsmith/smith-api/bulk-exports/get-bulk-export-destination\",\"langsmith/smith-api/bulk-exports/update-bulk-export-destination\",\"langsmith/smith-api/bulk-exports/get-bulk-export-runs\",\"langsmith/smith-api/bulk-exports/get-bulk-export-run\",\"langsmith/smith-api/charts/clone-section\",\"langsmith/smith-api/charts/read-sections\",\"langsmith/smith-api/charts/create-section\",\"langsmith/smith-api/charts/read-charts\",\"langsmith/smith-api/charts/read-chart-preview\",\"langsmith/smith-api/charts/create-chart\",\"langsmith/smith-api/charts/read-single-chart\",\"langsmith/smith-api/charts/delete-chart\",\"langsmith/smith-api/charts/update-chart\",\"langsmith/smith-api/charts/read-single-section\",\"langsmith/smith-api/charts/delete-section\",\"langsmith/smith-api/charts/update-section\",\"langsmith/smith-api/charts/org-read-sections\",\"langsmith/smith-api/charts/org-create-section\",\"langsmith/smith-api/charts/org-read-charts\",\"langsmith/smith-api/charts/org-read-chart-preview\",\"langsmith/smith-api/charts/org-create-chart\",\"langsmith/smith-api/charts/org-read-single-chart\",\"langsmith/smith-api/charts/org-delete-chart\",\"langsmith/smith-api/charts/org-update-chart\",\"langsmith/smith-api/charts/org-read-single-section\",\"langsmith/smith-api/charts/org-delete-section\",\"langsmith/smith-api/charts/org-update-section\",\"langsmith/smith-api/alert_rules/create-an-alert-rule\",\"langsmith/smith-api/alert_rules/test-an-alert-action-to-determine-if-configuration-is-valid\",\"langsmith/smith-api/alert_rules/get-an-alert-rule\",\"langsmith/smith-api/alert_rules/delete-an-alert-rule\",\"langsmith/smith-api/alert_rules/update-an-alert-rule\"]},{\"group\":\"Prompts \u0026 Playground\",\"pages\":[\"langsmith/smith-api/prompts/invoke-prompt\",\"langsmith/smith-api/prompts/prompt-canvas\",\"langsmith/smith-api/prompt-webhooks/list-prompt-webhooks\",\"langsmith/smith-api/prompt-webhooks/create-prompt-webhook\",\"langsmith/smith-api/prompt-webhooks/get-prompt-webhook\",\"langsmith/smith-api/prompt-webhooks/delete-prompt-webhook\",\"langsmith/smith-api/prompt-webhooks/update-prompt-webhook\",\"langsmith/smith-api/prompt-webhooks/test-prompt-webhook\",\"langsmith/smith-api/playground-settings/list-playground-settings\",\"langsmith/smith-api/playground-settings/create-playground-settings\",\"langsmith/smith-api/playground-settings/get-playground-settings\",\"langsmith/smith-api/playground-settings/delete-playground-settings\",\"langsmith/smith-api/playground-settings/update-playground-settings\",\"langsmith/smith-api/hub_environments/list-hub-environments\",\"langsmith/smith-api/hub_environments/create-hub-environments-model\",\"langsmith/smith-api/hub_environments/delete-hub-environments-model\",\"langsmith/smith-api/hub_environments/update-hub-environments-model\",\"langsmith/smith-api/commits/list-commits\",\"langsmith/smith-api/commits/create-a-commit\",\"langsmith/smith-api/commits/get-a-commit\",\"langsmith/smith-api/tag-transitions/get-tag-transition-history\",\"langsmith/smith-api/directories/get-directory-contents\",\"langsmith/smith-api/directories/delete-directory-repository\",\"langsmith/smith-api/directories/create-directory-commit\"]},{\"group\":\"Integrations \u0026 Tools\",\"pages\":[\"langsmith/smith-api/mcp/get-tools\",\"langsmith/smith-api/mcp/invalidate-tools-cache\",\"langsmith/smith-api/mcp/proxy-get\",\"langsmith/smith-api/mcp/proxy\",\"langsmith/smith-api/oauth/get-oauth2-authorization-server-metadata\",\"langsmith/smith-api/oauth/initiate-oauth2-authorization\",\"langsmith/smith-api/oauth/approve-oauth2-authorization-request\",\"langsmith/smith-api/oauth/authorize-a-device-code\",\"langsmith/smith-api/oauth/request-oauth2-device-authorization\",\"langsmith/smith-api/oauth/register-an-oauth2-dynamic-client\",\"langsmith/smith-api/oauth/revoke-an-oauth2-token\",\"langsmith/smith-api/oauth/exchange-grant-for-oauth2-tokens\",\"langsmith/smith-api/integrations/get-agent-builder-integrations-settings\",\"langsmith/smith-api/integrations/update-agent-builder-integrations-settings\",\"langsmith/smith-api/mcp_vendors/list-mcp-vendors\",\"langsmith/smith-api/mcp_vendors/get-mcp-vendor\",\"langsmith/smith-api/mcp_vendors/get-vendor-account\",\"langsmith/smith-api/mcp_vendors/list-mcp-servers-for-a-vendor\",\"langsmith/smith-api/mcp_vendors/get-vendor-settings\",\"langsmith/smith-api/mcp_vendors/replace-vendor-settings\",\"langsmith/smith-api/mcp_vendors/create-vendor-settings\",\"langsmith/smith-api/mcp_vendors/delete-vendor-settings\",\"langsmith/smith-api/mcp_vendors/list-tools-for-a-vendor\",\"langsmith/smith-api/tools/list-tools\",\"langsmith/smith-api/tools/create-a-tool\",\"langsmith/smith-api/tools/get-a-tool-by-id\",\"langsmith/smith-api/tools/delete-a-tool-by-id\",\"langsmith/smith-api/tools/update-a-tool-by-id\",\"langsmith/smith-api/tools/get-a-tool-by-handle\",\"langsmith/smith-api/tools/delete-a-tool-by-handle\",\"langsmith/smith-api/tools/update-a-tool-by-handle\"]},{\"group\":\"Prompt Hub\",\"pages\":[\"langsmith/smith-api/settings/get-settings\",\"langsmith/smith-api/settings/set-tenant-handle\",\"langsmith/smith-api/repos/list-repos\",\"langsmith/smith-api/repos/create-repo\",\"langsmith/smith-api/repos/delete-repos\",\"langsmith/smith-api/repos/get-repo\",\"langsmith/smith-api/repos/delete-repo\",\"langsmith/smith-api/repos/update-repo\",\"langsmith/smith-api/repos/fork-repo\",\"langsmith/smith-api/repos/list-repo-tags\",\"langsmith/smith-api/repos/optimize-prompt-job\",\"langsmith/smith-api/likes/like-repo\",\"langsmith/smith-api/comments/get-comments\",\"langsmith/smith-api/comments/create-comment\",\"langsmith/smith-api/comments/get-sub-comments\",\"langsmith/smith-api/comments/create-sub-comment\",\"langsmith/smith-api/comments/like-comment\",\"langsmith/smith-api/comments/unlike-comment\",\"langsmith/smith-api/tags/get-tags\",\"langsmith/smith-api/tags/create-tag\",\"langsmith/smith-api/tags/get-tag\",\"langsmith/smith-api/tags/delete-tag\",\"langsmith/smith-api/tags/update-tag\",\"langsmith/smith-api/ownerships/list-repo-owners\",\"langsmith/smith-api/ownerships/add-repo-owner\",\"langsmith/smith-api/ownerships/remove-repo-owner\",\"langsmith/smith-api/optimization-jobs/list-jobs\",\"langsmith/smith-api/optimization-jobs/create-job\",\"langsmith/smith-api/optimization-jobs/get-job\",\"langsmith/smith-api/optimization-jobs/delete-job\",\"langsmith/smith-api/optimization-jobs/update-job\",\"langsmith/smith-api/optimization-jobs/list-job-logs\",\"langsmith/smith-api/optimization-jobs/create-log\",\"langsmith/smith-api/optimization-jobs/get-log\",\"langsmith/smith-api/optimization-jobs/delete-log\"]},{\"group\":\"Sandboxes\",\"pages\":[\"langsmith/smith-api/sandboxes/get-sandbox-access-decision\",\"langsmith/smith-api/sandboxes/list-sandboxes\",\"langsmith/smith-api/sandboxes/create-a-sandbox\",\"langsmith/smith-api/sandboxes/batch-delete-sandboxes\",\"langsmith/smith-api/sandboxes/get-a-sandbox\",\"langsmith/smith-api/sandboxes/delete-a-sandbox\",\"langsmith/smith-api/sandboxes/update-a-sandbox\",\"langsmith/smith-api/sandboxes/generate-a-service-access-token\",\"langsmith/smith-api/sandboxes/capture-a-snapshot-from-a-sandbox\",\"langsmith/smith-api/sandboxes/start-a-sandbox\",\"langsmith/smith-api/sandboxes/get-sandbox-status\",\"langsmith/smith-api/sandboxes/stop-a-sandbox\",\"langsmith/smith-api/sandboxes/list-snapshots\",\"langsmith/smith-api/sandboxes/create-a-snapshot\",\"langsmith/smith-api/sandboxes/get-a-snapshot\",\"langsmith/smith-api/sandboxes/delete-a-snapshot\",\"langsmith/smith-api/sandboxes/get-sandbox-resource-usage\"]},{\"group\":\"Issues\",\"pages\":[\"langsmith/smith-api/issues-agent/get-issues-agent-engine-lcu-spend-for-every-tenant-in-the-calling-org\",\"langsmith/smith-api/issues/[beta]-list-issues\",\"langsmith/smith-api/issues-agent/[beta]-list-issues-agent-configs\",\"langsmith/smith-api/issues/[beta]-mark-issue-viewed\",\"langsmith/smith-api/issues-agent/[beta]-get-the-issues-agent-config-for-a-session\",\"langsmith/smith-api/issues-agent/[beta]-create-the-issues-agent-for-a-session\",\"langsmith/smith-api/issues-agent/[beta]-delete-the-issues-agent-for-a-session\",\"langsmith/smith-api/issues-agent/[beta]-update-the-issues-agent-config-for-a-session\",\"langsmith/smith-api/issues-agent/[beta]-save-the-agent-overview-for-a-session\",\"langsmith/smith-api/issues/[beta]-list-viewed-issues-for-a-session\"]},{\"group\":\"beacon\",\"pages\":[]},{\"group\":\"fleet auth\",\"pages\":[]},{\"group\":\"fleet mcp\",\"pages\":[]},{\"group\":\"agents\",\"pages\":[]},{\"group\":\"fleet credentials\",\"pages\":[]},{\"group\":\"fleet integrations\",\"pages\":[]},{\"group\":\"fleet\",\"pages\":[]},{\"group\":\"skills\",\"pages\":[]},{\"group\":\"fleet threads\",\"pages\":[]},{\"group\":\"internal\",\"pages\":[]},{\"group\":\"fleet trigger-templates\",\"pages\":[]},{\"group\":\"fleet triggers\",\"pages\":[]},{\"group\":\"engine-trial\",\"pages\":[\"langsmith/smith-api/engine-trial/respond-to-engine-trial-ending-notice\"]},{\"group\":\"fleet_webhooks\",\"pages\":[]},{\"group\":\"fleet github-app\",\"pages\":[]},{\"group\":\"fleet usage\",\"pages\":[]},{\"group\":\"LLM Gateway\",\"pages\":[\"langsmith/smith-api/gateway-policies/list-gateway-policies\",\"langsmith/smith-api/gateway-policies/create-a-gateway-policy\",\"langsmith/smith-api/gateway-policies/get-a-gateway-policy\",\"langsmith/smith-api/gateway-policies/delete-a-gateway-policy\",\"langsmith/smith-api/gateway-policies/update-a-gateway-policy\"]},{\"group\":\"nps\",\"pages\":[]},{\"group\":\"sandboxes-internal\",\"pages\":[]}]},\"langsmith/smith-python-sdk\",\"langsmith/smith-js-ts-sdk\",\"langsmith/smith-go-sdk\",\"langsmith/smith-java-sdk\",\"langsmith/langgraph-python-sdk\",\"langsmith/langgraph-js-ts-sdk\"]},{\"group\":\"LangSmith Deployment\",\"pages\":[{\"group\":\"Agent Server API\",\"pages\":[\"langsmith/server-api-ref\",{\"group\":\"Assistants\",\"pages\":[\"langsmith/agent-server-api/assistants/create-assistant\",\"langsmith/agent-server-api/assistants/search-assistants\",\"langsmith/agent-server-api/assistants/count-assistants\",\"langsmith/agent-server-api/assistants/get-assistant\",\"langsmith/agent-server-api/assistants/delete-assistant\",\"langsmith/agent-server-api/assistants/patch-assistant\",\"langsmith/agent-server-api/assistants/get-assistant-graph\",\"langsmith/agent-server-api/assistants/get-assistant-subgraphs\",\"langsmith/agent-server-api/assistants/get-assistant-subgraphs-by-namespace\",\"langsmith/agent-server-api/assistants/get-assistant-schemas\",\"langsmith/agent-server-api/assistants/get-assistant-versions\",\"langsmith/agent-server-api/assistants/set-latest-assistant-version\"]},{\"group\":\"Threads\",\"pages\":[\"langsmith/agent-server-api/threads/create-thread\",\"langsmith/agent-server-api/threads/search-threads\",\"langsmith/agent-server-api/threads/count-threads\",\"langsmith/agent-server-api/threads/prune-threads\",\"langsmith/agent-server-api/threads/get-thread-state\",\"langsmith/agent-server-api/threads/update-thread-state\",\"langsmith/agent-server-api/threads/get-thread-state-at-checkpoint\",\"langsmith/agent-server-api/threads/get-thread-state-at-checkpoint-1\",\"langsmith/agent-server-api/threads/get-thread-history\",\"langsmith/agent-server-api/threads/get-thread-history-post\",\"langsmith/agent-server-api/threads/copy-thread\",\"langsmith/agent-server-api/threads/get-thread\",\"langsmith/agent-server-api/threads/delete-thread\",\"langsmith/agent-server-api/threads/patch-thread\",\"langsmith/agent-server-api/threads/join-thread-stream\"]},{\"group\":\"Streaming\",\"pages\":[\"langsmith/agent-server-api/streaming/protocol-v2-event-stream-sse\",\"langsmith/agent-server-api/streaming/protocol-v2-command\"]},{\"group\":\"Thread Runs\",\"pages\":[\"langsmith/agent-server-api/thread-runs/list-runs\",\"langsmith/agent-server-api/thread-runs/create-background-run\",\"langsmith/agent-server-api/thread-runs/create-run-stream-output\",\"langsmith/agent-server-api/thread-runs/create-run-wait-for-output\",\"langsmith/agent-server-api/thread-runs/get-run\",\"langsmith/agent-server-api/thread-runs/delete-run\",\"langsmith/agent-server-api/thread-runs/join-run\",\"langsmith/agent-server-api/thread-runs/join-run-stream\",\"langsmith/agent-server-api/thread-runs/cancel-run\",\"langsmith/agent-server-api/thread-runs/cancel-runs\"]},{\"group\":\"Crons\",\"pages\":[\"langsmith/agent-server-api/crons/create-thread-cron\",\"langsmith/agent-server-api/crons/create-cron\",\"langsmith/agent-server-api/crons/search-crons\",\"langsmith/agent-server-api/crons/count-crons\",\"langsmith/agent-server-api/crons/get-cron\",\"langsmith/agent-server-api/crons/delete-cron\",\"langsmith/agent-server-api/crons/update-cron\"]},{\"group\":\"Stateless Runs\",\"pages\":[\"langsmith/agent-server-api/stateless-runs/create-run-stream-output\",\"langsmith/agent-server-api/stateless-runs/create-run-wait-for-output\",\"langsmith/agent-server-api/stateless-runs/create-background-run\",\"langsmith/agent-server-api/stateless-runs/create-run-batch\"]},{\"group\":\"Store\",\"pages\":[\"langsmith/agent-server-api/store/retrieve-a-single-item\",\"langsmith/agent-server-api/store/store-or-update-an-item\",\"langsmith/agent-server-api/store/delete-an-item\",\"langsmith/agent-server-api/store/search-or-list-items-within-a-namespace-prefix\",\"langsmith/agent-server-api/store/list-namespaces-with-optional-match-conditions\"]},{\"group\":\"A2A\",\"pages\":[\"langsmith/agent-server-api/a2a/a2a-json-rpc\"]},{\"group\":\"MCP\",\"pages\":[\"langsmith/agent-server-api/mcp/mcp-get\",\"langsmith/agent-server-api/mcp/mcp-post\",\"langsmith/agent-server-api/mcp/terminate-session\"]},{\"group\":\"System\",\"pages\":[\"langsmith/agent-server-api/system/server-information\",\"langsmith/agent-server-api/system/system-metrics\",\"langsmith/agent-server-api/system/api-documentation\",\"langsmith/agent-server-api/system/health-check\"]}]},{\"group\":\"Control Plane API\",\"pages\":[\"langsmith/api-ref-control-plane\",{\"group\":\"Integrations (v1)\",\"pages\":[\"api-reference/integrations-v1/list-github-integrations\",\"api-reference/integrations-v1/list-github-repositories\",\"api-reference/integrations-v1/list-forge-github-integrations\",\"api-reference/integrations-v1/list-forge-github-repositories\"]},{\"group\":\"Deployments (v2)\",\"pages\":[\"api-reference/deployments-v2/list-deployments\",\"api-reference/deployments-v2/create-deployment\",\"api-reference/deployments-v2/delete-deployments\",\"api-reference/deployments-v2/get-deployment\",\"api-reference/deployments-v2/delete-deployment\",\"api-reference/deployments-v2/patch-deployment\",\"api-reference/deployments-v2/list-revisions\",\"api-reference/deployments-v2/get-revision\",\"api-reference/deployments-v2/redeploy-revision\"]},{\"group\":\"Listeners (v2)\",\"pages\":[\"api-reference/listeners-v2/list-listeners\",\"api-reference/listeners-v2/create-listener\",\"api-reference/listeners-v2/get-listener\",\"api-reference/listeners-v2/delete-listener\",\"api-reference/listeners-v2/patch-listener\"]},{\"group\":\"Auth Service (v2)\",\"pages\":[\"api-reference/auth-service-v2/list-oauth-providers\",\"api-reference/auth-service-v2/create-oauth-provider\",\"api-reference/auth-service-v2/oauth-setup-callback\",\"api-reference/auth-service-v2/oauth-callback-get\",\"api-reference/auth-service-v2/oauth-callback\",\"api-reference/auth-service-v2/authenticate\",\"api-reference/auth-service-v2/wait-for-auth-completion\",\"api-reference/auth-service-v2/create-mcp-oauth-provider\",\"api-reference/auth-service-v2/get-oauth-provider\",\"api-reference/auth-service-v2/delete-oauth-provider\",\"api-reference/auth-service-v2/update-oauth-provider\",\"api-reference/auth-service-v2/list-oauth-tokens-for-user\",\"api-reference/auth-service-v2/delete-oauth-tokens-for-user\",\"api-reference/auth-service-v2/update-token-label\",\"api-reference/auth-service-v2/delete-single-oauth-token\",\"api-reference/auth-service-v2/check-oauth-token-exists\",\"api-reference/auth-service-v2/check-workspace-slack-tokens-exist\",\"api-reference/auth-service-v2/revoke-all-slack-tokens-for-workspace\"]},{\"group\":\"Agent Connections (v2)\",\"pages\":[\"api-reference/agent-connections-v2/list-connections\",\"api-reference/agent-connections-v2/create-connection\",\"api-reference/agent-connections-v2/remove-connection\"]}]},{\"group\":\"Managed Deep Agents API\",\"pages\":[\"langsmith/managed-deep-agents-api\",{\"group\":\"Agents\",\"pages\":[\"langsmith/managed-deep-agents-api/agents/list-agents\",\"langsmith/managed-deep-agents-api/agents/create-agent\",\"langsmith/managed-deep-agents-api/agents/get-agent\",\"langsmith/managed-deep-agents-api/agents/delete-agent\",\"langsmith/managed-deep-agents-api/agents/update-agent\"]},{\"group\":\"Threads\",\"pages\":[\"langsmith/managed-deep-agents-api/threads/create-thread\",\"langsmith/managed-deep-agents-api/threads/search-threads\",\"langsmith/managed-deep-agents-api/threads/count-threads\",\"langsmith/managed-deep-agents-api/threads/get-thread\"]},{\"group\":\"Runs\",\"pages\":[\"langsmith/managed-deep-agents-api/runs/create-thread-run\",\"langsmith/managed-deep-agents-api/runs/stream-thread-run\",\"langsmith/managed-deep-agents-api/runs/resolve-interrupt\"]},{\"group\":\"MCP servers\",\"pages\":[\"langsmith/managed-deep-agents-api/mcp-servers/list-mcp-servers\",\"langsmith/managed-deep-agents-api/mcp-servers/create-mcp-server\",\"langsmith/managed-deep-agents-api/mcp-servers/get-mcp-server\",\"langsmith/managed-deep-agents-api/mcp-servers/delete-mcp-server\",\"langsmith/managed-deep-agents-api/mcp-servers/update-mcp-server\",\"langsmith/managed-deep-agents-api/mcp-servers/register-oauth-provider\"]},{\"group\":\"MCP tools\",\"pages\":[\"langsmith/managed-deep-agents-api/mcp-tools/list-mcp-tools\"]},{\"group\":\"Auth sessions\",\"pages\":[\"langsmith/managed-deep-agents-api/auth-sessions/start-auth-session\",\"langsmith/managed-deep-agents-api/auth-sessions/get-auth-session\"]}]},\"langsmith/smith-deployments-sdk\",\"langsmith/cli\",\"langsmith/remote-graph\",\"langsmith/env-var\"]},{\"group\":\"Releases\",\"pages\":[\"langsmith/agent-server-changelog\",\"langsmith/self-hosted-changelog\",\"langsmith/release-versions\"]}]}]},{\"product\":\"LangSmith Fleet\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/fleet-icon-dark.png\",\"description\":\"Create helpful AI agents without code\",\"pages\":[\"langsmith/fleet/index\",{\"group\":\"Get started\",\"pages\":[\"langsmith/fleet/quickstart\",\"langsmith/fleet/essentials\",\"langsmith/fleet/templates\",\"langsmith/fleet/comparison\"]},{\"group\":\"Configure\",\"pages\":[\"langsmith/fleet/workspace-admin\",\"langsmith/fleet/agent-identity\",\"langsmith/fleet/manage-agent-settings\",\"langsmith/fleet/computer-use\"]},{\"group\":\"Tools and automation\",\"pages\":[\"langsmith/fleet/tools\",\"langsmith/fleet/channels\",\"langsmith/fleet/schedules\",\"langsmith/fleet/skills\",\"langsmith/fleet/slack-app\",\"langsmith/fleet/teams-app\",\"langsmith/fleet/remote-mcp-servers\",\"langsmith/fleet/arcade\",\"langsmith/fleet/salesforce\"]},{\"group\":\"Advanced\",\"pages\":[\"langsmith/fleet/code\",\"langsmith/fleet/mcp-framework\",\"langsmith/fleet/webhooks\",\"langsmith/fleet/auth-format\"]},{\"group\":\"Additional resources\",\"pages\":[\"langsmith/fleet/access-and-oversight\",\"langsmith/fleet/self-hosted-link\"]}]},{\"product\":\"Open source\",\"icon\":\"https://mintlify.s3.us-west-1.amazonaws.com/langchain-5e9cc07a/images/brand/langchain-icon.png\",\"description\":\"Build agents with our open source packages\",\"dropdowns\":[{\"dropdown\":\"Python\",\"icon\":{\"style\":\"regular\",\"name\":\"brand-python\"},\"tabs\":[{\"tab\":\"Deep Agents\",\"pages\":[\"oss/python/deepagents/overview\",{\"group\":\"Get started\",\"pages\":[\"oss/python/deepagents/quickstart\",\"oss/python/deepagents/customization\",\"oss/python/deepagents/comparison\",\"oss/python/deepagents/changelog-py\"]},{\"group\":\"Deployment\",\"pages\":[\"langsmith/managed-deep-agents\",\"oss/python/deepagents/going-to-production\"]},{\"group\":\"Core capabilities\",\"pages\":[\"oss/python/deepagents/harness\",\"oss/python/deepagents/models\",\"oss/python/deepagents/context-engineering\",\"oss/python/deepagents/backends\",\"oss/python/deepagents/subagents\",\"oss/python/deepagents/async-subagents\",\"oss/python/deepagents/human-in-the-loop\",\"oss/python/deepagents/permissions\",\"oss/python/deepagents/memory\",\"oss/python/deepagents/skills\",\"oss/python/deepagents/sandboxes\",\"oss/python/deepagents/interpreters\",\"oss/python/deepagents/profiles\",\"oss/python/deepagents/event-streaming\",\"oss/python/deepagents/streaming\",\"oss/python/deepagents/rubric\"]},{\"group\":\"Frontend\",\"pages\":[\"oss/python/deepagents/frontend/overview\",{\"group\":\"Patterns\",\"pages\":[\"oss/python/deepagents/frontend/subagent-streaming\",\"oss/python/deepagents/frontend/todo-list\",\"oss/python/deepagents/frontend/sandbox\"]}]},{\"group\":\"Protocols\",\"pages\":[\"oss/python/deepagents/acp\",\"oss/python/deepagents/mcp\",\"oss/python/deepagents/a2a\"]},{\"group\":\"Deep Agents Code\",\"pages\":[\"oss/python/deepagents/code/overview\",\"oss/python/deepagents/code/memory-and-skills\",\"oss/python/deepagents/code/remote-sandboxes\",\"oss/python/deepagents/code/subagents\",\"oss/python/deepagents/code/providers\",\"oss/python/deepagents/code/configuration\",\"oss/python/deepagents/code/mcp-tools\",\"oss/python/deepagents/code/data-locations\"]}]},{\"tab\":\"LangChain\",\"pages\":[\"oss/python/langchain/overview\",{\"group\":\"Get started\",\"pages\":[\"oss/python/langchain/install\",\"oss/python/langchain/quickstart\",\"oss/python/langchain/changelog-py\",\"oss/python/langchain/philosophy\"]},{\"group\":\"Core components\",\"pages\":[\"oss/python/langchain/agents\",\"oss/python/langchain/models\",\"oss/python/langchain/messages\",\"oss/python/langchain/tools\",\"oss/python/langchain/short-term-memory\",\"oss/python/langchain/event-streaming\",\"oss/python/langchain/streaming\",\"oss/python/langchain/structured-output\"]},{\"group\":\"Middleware\",\"pages\":[\"oss/python/langchain/middleware/overview\",\"oss/python/langchain/middleware/built-in\",\"oss/python/langchain/middleware/custom\"]},{\"group\":\"Frontend\",\"pages\":[\"oss/python/langchain/frontend/overview\",{\"group\":\"Patterns\",\"pages\":[\"oss/python/langchain/frontend/markdown-messages\",\"oss/python/langchain/frontend/tool-calling\",\"oss/python/langchain/frontend/human-in-the-loop\",\"oss/python/langchain/frontend/branching-chat\",\"oss/python/langchain/frontend/reasoning-tokens\",\"oss/python/langchain/frontend/structured-output\",\"oss/python/langchain/frontend/message-queues\",\"oss/python/langchain/frontend/join-rejoin\",\"oss/python/langchain/frontend/time-travel\",\"oss/python/langchain/frontend/generative-ui\"]},{\"group\":\"Integrations\",\"pages\":[\"oss/python/langchain/frontend/integrations/overview\",\"oss/python/langchain/frontend/integrations/copilotkit\",\"oss/python/langchain/frontend/integrations/ai-elements\",\"oss/python/langchain/frontend/integrations/assistant-ui\",\"oss/python/langchain/frontend/integrations/openui\"]}]},{\"group\":\"Advanced usage\",\"pages\":[\"oss/python/langchain/guardrails\",\"oss/python/langchain/runtime\",\"oss/python/langchain/context-engineering\",\"oss/python/langchain/mcp\",\"oss/python/langchain/human-in-the-loop\",{\"group\":\"Multi-agent\",\"pages\":[\"oss/python/langchain/multi-agent/index\",\"oss/python/langchain/multi-agent/subagents\",\"oss/python/langchain/multi-agent/handoffs\",\"oss/python/langchain/multi-agent/skills\",\"oss/python/langchain/multi-agent/router\",\"oss/python/langchain/multi-agent/custom-workflow\"]},\"oss/python/langchain/retrieval\",\"oss/python/langchain/long-term-memory\"]},{\"group\":\"Agent development\",\"pages\":[\"oss/python/langchain/studio\",{\"group\":\"Test\",\"pages\":[\"oss/python/langchain/test/index\",\"oss/python/langchain/test/unit-testing\",\"oss/python/langchain/test/integration-testing\",\"oss/python/langchain/test/evals\"]},\"oss/python/langchain/ui\"]},{\"group\":\"Deploy with LangSmith\",\"pages\":[\"oss/python/langchain/deploy\",\"oss/python/langchain/observability\"]}]},{\"tab\":\"LangGraph\",\"pages\":[\"oss/python/langgraph/overview\",{\"group\":\"Get started\",\"pages\":[\"oss/python/langgraph/install\",\"oss/python/langgraph/quickstart\",\"oss/python/langgraph/local-server\",\"oss/python/langgraph/changelog-py\",\"oss/python/langgraph/thinking-in-langgraph\",\"oss/python/langgraph/workflows-agents\"]},{\"group\":\"Capabilities\",\"pages\":[\"oss/python/langgraph/persistence\",\"oss/python/langgraph/fault-tolerance\",\"oss/python/langgraph/event-streaming\",\"oss/python/langgraph/streaming\",\"oss/python/langgraph/interrupts\",\"oss/python/langgraph/use-time-travel\",\"oss/python/langgraph/add-memory\",\"oss/python/langgraph/use-subgraphs\"]},{\"group\":\"Production\",\"pages\":[\"oss/python/langgraph/application-structure\",\"oss/python/langgraph/test\",\"oss/python/langgraph/backward-compatibility\",\"oss/python/langgraph/studio\",\"oss/python/langgraph/ui\",\"oss/python/langgraph/deploy\",\"oss/python/langgraph/observability\"]},{\"group\":\"Frontend\",\"pages\":[\"oss/python/langgraph/frontend/overview\",\"oss/python/langgraph/frontend/graph-execution\"]},{\"group\":\"LangGraph APIs\",\"pages\":[{\"group\":\"Graph API\",\"pages\":[\"oss/python/langgraph/choosing-apis\",\"oss/python/langgraph/graph-api\",\"oss/python/langgraph/use-graph-api\"]},{\"group\":\"Functional API\",\"pages\":[\"oss/python/langgraph/functional-api\",\"oss/python/langgraph/use-functional-api\"]},\"oss/python/langgraph/pregel\"]}]},{\"tab\":\"Integrations\",\"pages\":[\"oss/python/integrations/providers/overview\",\"oss/python/integrations/providers/all_providers\",{\"group\":\"Popular Providers\",\"icon\":\"users-group\",\"pages\":[\"oss/python/integrations/providers/openai\",\"oss/python/integrations/providers/anthropic\",\"oss/python/integrations/providers/google\",\"oss/python/integrations/providers/aws\",\"oss/python/integrations/providers/nvidia\",\"oss/python/integrations/providers/huggingface\",\"oss/python/integrations/providers/microsoft\",\"oss/python/integrations/providers/ollama\",\"oss/python/integrations/providers/groq\",\"oss/python/integrations/providers/fireworks\"]},{\"group\":\"Integrations by component\",\"icon\":\"plug\",\"pages\":[\"oss/python/integrations/chat/index\",\"oss/python/integrations/tools/index\",\"oss/python/integrations/middleware/index\",\"oss/python/integrations/sandboxes/index\",\"oss/python/integrations/checkpointers/index\",\"oss/python/integrations/retrievers/index\",\"oss/python/integrations/splitters/index\",\"oss/python/integrations/embeddings/index\",\"oss/python/integrations/vectorstores/index\",\"oss/python/integrations/document_loaders/index\"]}]},{\"tab\":\"Learn\",\"pages\":[\"oss/python/learn\",{\"group\":\"Tutorials\",\"icon\":\"code\",\"pages\":[{\"group\":\"Deep Agents\",\"expanded\":true,\"pages\":[\"oss/python/deepagents/data-analysis\",\"oss/python/deepagents/deep-research\",\"oss/python/deepagents/content-builder\"]},{\"group\":\"LangChain\",\"expanded\":true,\"pages\":[\"oss/python/langchain/deep-agent-from-scratch\",\"oss/python/langchain/knowledge-base\",\"oss/python/langchain/rag\",\"oss/python/langchain/sql-agent\",\"oss/python/langchain/voice-agent\"]},{\"group\":\"Multi-agent\",\"expanded\":true,\"pages\":[\"oss/python/langchain/multi-agent/subagents-personal-assistant\",\"oss/python/langchain/multi-agent/handoffs-customer-support\",\"oss/python/langchain/multi-agent/router-knowledge-base\",\"oss/python/langchain/multi-agent/skills-sql-assistant\"]},{\"group\":\"LangGraph\",\"expanded\":true,\"pages\":[\"oss/python/langgraph/agentic-rag\",\"oss/python/langgraph/sql-agent\"]}]},{\"group\":\"Conceptual overviews\",\"icon\":\"book\",\"pages\":[\"oss/python/concepts/products\",\"oss/python/concepts/providers-and-models\",\"oss/python/langchain/component-architecture\",\"oss/python/concepts/memory\",\"oss/python/concepts/context\",\"oss/python/langgraph/graph-api\",\"oss/python/langgraph/functional-api\"]},{\"group\":\"Additional resources\",\"icon\":\"list\",\"pages\":[\"oss/python/langchain/academy\",\"oss/python/langgraph/case-studies\",\"oss/python/langchain/get-help\"]}]},{\"tab\":\"Reference\",\"pages\":[\"oss/python/reference/overview\",{\"group\":\"Reference\",\"pages\":[\"oss/python/reference/deepagents-python\",\"oss/python/reference/langchain-python\",\"oss/python/reference/langgraph-python\",\"oss/python/reference/integrations-python\"]},{\"group\":\"Errors\",\"pages\":[\"oss/python/common-errors\"]},{\"group\":\"Releases\",\"pages\":[\"oss/python/versioning\",\"oss/python/releases/changelog\",{\"group\":\"Releases\",\"pages\":[\"oss/python/releases/langchain-v1\",\"oss/python/releases/langgraph-v1\"]},{\"group\":\"Migration guides\",\"pages\":[\"oss/python/migrate/langchain-v1\",\"oss/python/migrate/langgraph-v1\"]}]},{\"group\":\"Policies\",\"pages\":[\"oss/python/release-policy\",\"oss/python/security-policy\"]}]},{\"tab\":\"Contribute\",\"pages\":[\"oss/python/contributing/overview\",{\"group\":\"Contribute\",\"icon\":\"heart-plus\",\"pages\":[\"oss/python/contributing/documentation\",\"oss/python/contributing/code\",{\"group\":\"Integrations\",\"pages\":[\"oss/python/contributing/integrations-langchain\",\"oss/python/contributing/implement-langchain\",\"oss/python/contributing/standard-tests-langchain\",\"oss/python/contributing/publish-langchain\",\"oss/python/contributing/comarketing\"]}]}]}]},{\"dropdown\":\"TypeScript\",\"icon\":{\"style\":\"regular\",\"name\":\"brand-typescript\"},\"tabs\":[{\"tab\":\"Deep Agents\",\"pages\":[\"oss/javascript/deepagents/overview\",{\"group\":\"Get started\",\"pages\":[\"oss/javascript/deepagents/quickstart\",\"oss/javascript/deepagents/customization\",\"oss/javascript/deepagents/comparison\",\"oss/javascript/deepagents/changelog-js\"]},{\"group\":\"Deployment\",\"pages\":[\"langsmith/managed-deep-agents\",\"oss/javascript/deepagents/going-to-production\"]},{\"group\":\"Core capabilities\",\"pages\":[\"oss/javascript/deepagents/harness\",\"oss/javascript/deepagents/models\",\"oss/javascript/deepagents/context-engineering\",\"oss/javascript/deepagents/backends\",\"oss/javascript/deepagents/subagents\",\"oss/javascript/deepagents/async-subagents\",\"oss/javascript/deepagents/human-in-the-loop\",\"oss/javascript/deepagents/permissions\",\"oss/javascript/deepagents/memory\",\"oss/javascript/deepagents/skills\",\"oss/javascript/deepagents/sandboxes\",\"oss/javascript/deepagents/interpreters\",\"oss/javascript/deepagents/profiles\",\"oss/javascript/deepagents/event-streaming\",\"oss/javascript/deepagents/streaming\"]},{\"group\":\"Frontend\",\"pages\":[\"oss/javascript/deepagents/frontend/overview\",{\"group\":\"Patterns\",\"pages\":[\"oss/javascript/deepagents/frontend/subagent-streaming\",\"oss/javascript/deepagents/frontend/todo-list\",\"oss/javascript/deepagents/frontend/sandbox\"]}]},{\"group\":\"Protocols\",\"pages\":[\"oss/javascript/deepagents/acp\",\"oss/javascript/deepagents/mcp\",\"oss/javascript/deepagents/a2a\"]},{\"group\":\"Deep Agents Code\",\"pages\":[\"oss/javascript/deepagents/code/overview\",\"oss/javascript/deepagents/code/memory-and-skills\",\"oss/javascript/deepagents/code/remote-sandboxes\",\"oss/javascript/deepagents/code/subagents\",\"oss/javascript/deepagents/code/providers\",\"oss/javascript/deepagents/code/configuration\",\"oss/javascript/deepagents/code/mcp-tools\",\"oss/javascript/deepagents/code/data-locations\"]}]},{\"tab\":\"LangChain\",\"pages\":[\"oss/javascript/langchain/overview\",{\"group\":\"Get started\",\"pages\":[\"oss/javascript/langchain/install\",\"oss/javascript/langchain/quickstart\",\"oss/javascript/langchain/changelog-js\",\"oss/javascript/langchain/philosophy\"]},{\"group\":\"Core components\",\"pages\":[\"oss/javascript/langchain/agents\",\"oss/javascript/langchain/models\",\"oss/javascript/langchain/messages\",\"oss/javascript/langchain/tools\",\"oss/javascript/langchain/short-term-memory\",\"oss/javascript/langchain/event-streaming\",\"oss/javascript/langchain/streaming\",\"oss/javascript/langchain/structured-output\"]},{\"group\":\"Middleware\",\"pages\":[\"oss/javascript/langchain/middleware/overview\",\"oss/javascript/langchain/middleware/built-in\",\"oss/javascript/langchain/middleware/custom\"]},{\"group\":\"Frontend\",\"pages\":[\"oss/javascript/langchain/frontend/overview\",{\"group\":\"Patterns\",\"pages\":[\"oss/javascript/langchain/frontend/markdown-messages\",\"oss/javascript/langchain/frontend/tool-calling\",\"oss/javascript/langchain/frontend/human-in-the-loop\",\"oss/javascript/langchain/frontend/branching-chat\",\"oss/javascript/langchain/frontend/reasoning-tokens\",\"oss/javascript/langchain/frontend/structured-output\",\"oss/javascript/langchain/frontend/message-queues\",\"oss/javascript/langchain/frontend/join-rejoin\",\"oss/javascript/langchain/frontend/time-travel\",\"oss/javascript/langchain/frontend/generative-ui\"]},{\"group\":\"Integrations\",\"pages\":[\"oss/javascript/langchain/frontend/integrations/overview\",\"oss/javascript/langchain/frontend/integrations/copilotkit\",\"oss/javascript/langchain/frontend/integrations/ai-elements\",\"oss/javascript/langchain/frontend/integrations/assistant-ui\",\"oss/javascript/langchain/frontend/integrations/openui\"]}]},{\"group\":\"Advanced usage\",\"pages\":[\"oss/javascript/langchain/guardrails\",\"oss/javascript/langchain/runtime\",\"oss/javascript/langchain/context-engineering\",\"oss/javascript/langchain/mcp\",\"oss/javascript/langchain/human-in-the-loop\",{\"group\":\"Multi-agent\",\"pages\":[\"oss/javascript/langchain/multi-agent/index\",\"oss/javascript/langchain/multi-agent/subagents\",\"oss/javascript/langchain/multi-agent/handoffs\",\"oss/javascript/langchain/multi-agent/skills\",\"oss/javascript/langchain/multi-agent/router\",\"oss/javascript/langchain/multi-agent/custom-workflow\"]},\"oss/javascript/langchain/retrieval\",\"oss/javascript/langchain/long-term-memory\"]},{\"group\":\"Agent development\",\"pages\":[\"oss/javascript/langchain/studio\",{\"group\":\"Test\",\"pages\":[\"oss/javascript/langchain/test/index\",\"oss/javascript/langchain/test/unit-testing\",\"oss/javascript/langchain/test/integration-testing\",\"oss/javascript/langchain/test/evals\"]},\"oss/javascript/langchain/ui\"]},{\"group\":\"Deploy with LangSmith\",\"pages\":[\"oss/javascript/langchain/deploy\",\"oss/javascript/langchain/observability\"]}]},{\"tab\":\"LangGraph\",\"pages\":[\"oss/javascript/langgraph/overview\",{\"group\":\"Get started\",\"pages\":[\"oss/javascript/langgraph/install\",\"oss/javascript/langgraph/quickstart\",\"oss/javascript/langgraph/local-server\",\"oss/javascript/langgraph/changelog-js\",\"oss/javascript/langgraph/thinking-in-langgraph\",\"oss/javascript/langgraph/workflows-agents\"]},{\"group\":\"Capabilities\",\"pages\":[\"oss/javascript/langgraph/persistence\",\"oss/javascript/langgraph/event-streaming\",\"oss/javascript/langgraph/streaming\",\"oss/javascript/langgraph/interrupts\",\"oss/javascript/langgraph/use-time-travel\",\"oss/javascript/langgraph/add-memory\",\"oss/javascript/langgraph/use-subgraphs\"]},{\"group\":\"Production\",\"pages\":[\"oss/javascript/langgraph/application-structure\",\"oss/javascript/langgraph/test\",\"oss/javascript/langgraph/backward-compatibility\",\"oss/javascript/langgraph/studio\",\"oss/javascript/langgraph/ui\",\"oss/javascript/langgraph/deploy\",\"oss/javascript/langgraph/observability\"]},{\"group\":\"Frontend\",\"pages\":[\"oss/javascript/langgraph/frontend/overview\",\"oss/javascript/langgraph/frontend/graph-execution\"]},{\"group\":\"LangGraph APIs\",\"pages\":[{\"group\":\"Graph API\",\"pages\":[\"oss/javascript/langgraph/choosing-apis\",\"oss/javascript/langgraph/graph-api\",\"oss/javascript/langgraph/use-graph-api\"]},{\"group\":\"Functional API\",\"pages\":[\"oss/javascript/langgraph/functional-api\",\"oss/javascript/langgraph/use-functional-api\"]},\"oss/javascript/langgraph/pregel\"]}]},{\"tab\":\"Integrations\",\"pages\":[\"oss/javascript/integrations/providers/overview\",\"oss/javascript/integrations/providers/all_providers\",{\"group\":\"Popular Providers\",\"icon\":\"users-group\",\"pages\":[{\"group\":\"OpenAI\",\"pages\":[\"oss/javascript/integrations/providers/openai\",\"oss/javascript/integrations/chat/openai\",\"oss/javascript/integrations/embeddings/openai\",\"oss/javascript/integrations/tools/openai\"]},{\"group\":\"Anthropic\",\"pages\":[\"oss/javascript/integrations/providers/anthropic\",\"oss/javascript/integrations/chat/anthropic\",\"oss/javascript/integrations/tools/anthropic\"]},{\"group\":\"Google\",\"pages\":[\"oss/javascript/integrations/providers/google\",\"oss/javascript/integrations/chat/google\",\"oss/javascript/integrations/tools/google\",\"oss/javascript/integrations/chat/google_generative_ai\",\"oss/javascript/integrations/chat/google_vertex_ai\"]},{\"group\":\"AWS\",\"pages\":[\"oss/javascript/integrations/providers/aws\",\"oss/javascript/integrations/chat/bedrock_converse\",\"oss/javascript/integrations/embeddings/bedrock\"]},{\"group\":\"Microsoft\",\"pages\":[\"oss/javascript/integrations/providers/microsoft\",\"oss/javascript/integrations/chat/azure\",\"oss/javascript/integrations/embeddings/azure_openai\"]}]},{\"group\":\"General integrations\",\"icon\":\"plug\",\"pages\":[\"oss/javascript/integrations/chat/index\",\"oss/javascript/integrations/tools/index\",\"oss/javascript/integrations/llms/index\",\"oss/javascript/integrations/middleware/index\",\"oss/javascript/integrations/sandboxes/index\",\"oss/javascript/integrations/stores/index\",\"oss/javascript/integrations/document_transformers/index\",\"oss/javascript/integrations/llm_caching/index\"]},{\"group\":\"RAG integrations\",\"icon\":\"database\",\"pages\":[\"oss/javascript/integrations/retrievers/index\",\"oss/javascript/integrations/splitters/index\",\"oss/javascript/integrations/embeddings/index\",\"oss/javascript/integrations/vectorstores/index\",\"oss/javascript/integrations/document_loaders/index\",\"oss/javascript/integrations/stores/index\"]}]},{\"tab\":\"Learn\",\"pages\":[\"oss/javascript/learn\",{\"group\":\"Tutorials\",\"icon\":\"code\",\"pages\":[{\"group\":\"Deep Agents\",\"expanded\":true,\"pages\":[\"oss/javascript/deepagents/deep-research\",\"oss/javascript/deepagents/content-builder\"]},{\"group\":\"LangChain\",\"expanded\":true,\"pages\":[\"oss/javascript/langchain/knowledge-base\",\"oss/javascript/langchain/rag\",\"oss/javascript/langchain/sql-agent\",\"oss/javascript/langchain/voice-agent\"]},{\"group\":\"Multi-agent\",\"expanded\":true,\"pages\":[\"oss/javascript/langchain/multi-agent/subagents-personal-assistant\",\"oss/javascript/langchain/multi-agent/handoffs-customer-support\",\"oss/javascript/langchain/multi-agent/router-knowledge-base\",\"oss/javascript/langchain/multi-agent/skills-sql-assistant\"]},{\"group\":\"LangGraph\",\"expanded\":true,\"pages\":[\"oss/javascript/langgraph/agentic-rag\"]}]},{\"group\":\"Conceptual overviews\",\"icon\":\"book\",\"pages\":[\"oss/javascript/concepts/products\",\"oss/javascript/concepts/providers-and-models\",\"oss/javascript/langchain/component-architecture\",\"oss/javascript/concepts/memory\",\"oss/javascript/concepts/context\",\"oss/javascript/langgraph/graph-api\",\"oss/javascript/langgraph/functional-api\"]},{\"group\":\"LangChain Academy\",\"icon\":\"school\",\"pages\":[\"oss/javascript/langchain/academy\"]},{\"group\":\"Additional resources\",\"icon\":\"list\",\"pages\":[\"oss/javascript/langgraph/case-studies\",\"oss/javascript/langchain/get-help\"]}]},{\"tab\":\"Reference\",\"pages\":[\"oss/javascript/reference/overview\",{\"group\":\"Reference\",\"pages\":[\"oss/javascript/reference/deepagents-javascript\",\"oss/javascript/reference/langchain-javascript\",\"oss/javascript/reference/langgraph-javascript\",\"oss/javascript/reference/integrations-javascript\"]},{\"group\":\"Errors\",\"pages\":[\"oss/javascript/common-errors\"]},{\"group\":\"Releases\",\"pages\":[\"oss/javascript/versioning\",\"oss/javascript/releases/changelog\",{\"group\":\"Releases\",\"pages\":[\"oss/javascript/releases/langchain-v1\",\"oss/javascript/releases/langgraph-v1\"]},{\"group\":\"Migration guides\",\"pages\":[\"oss/javascript/migrate/langchain-v1\",\"oss/javascript/migrate/langgraph-v1\"]}]},{\"group\":\"Policies\",\"pages\":[\"oss/javascript/release-policy\",\"oss/javascript/security-policy\"]}]},{\"tab\":\"Contribute\",\"pages\":[\"oss/javascript/contributing/overview\",{\"group\":\"Contribute\",\"icon\":\"heart-plus\",\"pages\":[\"oss/javascript/contributing/documentation\",\"oss/javascript/contributing/code\",{\"group\":\"Integrations\",\"pages\":[\"oss/javascript/contributing/integrations-langchain\",\"oss/javascript/contributing/implement-langchain\",\"oss/javascript/contributing/standard-tests-langchain\",\"oss/javascript/contributing/publish-langchain\",\"oss/javascript/contributing/comarketing\"]}]}]}]}]}]},\"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\":{\"theme\":{\"light\":\"catppuccin-latte\",\"dark\":\"catppuccin-mocha\"}},\"latex\":true},\"redirects\":[{\"source\":\"/langsmith/prebuilt-evaluators\",\"destination\":\"/langsmith/evaluators\"},{\"source\":\"/langsmith/deploy-hybrid\",\"destination\":\"/langsmith/hybrid-legacy\"},{\"source\":\"/langsmith/sandbox-templates\",\"destination\":\"/langsmith/sandbox-snapshots\"},{\"source\":\"/langsmith/sandbox-warm-pools\",\"destination\":\"/langsmith/sandbox-snapshots\"},{\"source\":\"/langsmith/custom-run-id\",\"destination\":\"/langsmith/annotate-code#specify-a-custom-run-id\"},{\"source\":\"/langsmith/docker\",\"destination\":\"/langsmith/self-hosted\"},{\"source\":\"/oss/python/langgraph/memory\",\"destination\":\"/oss/python/concepts/memory\"},{\"source\":\"/oss/javascript/langgraph/memory\",\"destination\":\"/oss/javascript/concepts/memory\"},{\"source\":\"/oss/deepagents/memory\",\"destination\":\"/oss/python/deepagents/memory\"},{\"source\":\"/oss/deepagents/long-term-memory\",\"destination\":\"/oss/python/deepagents/memory\"},{\"source\":\"/oss/python/deepagents/long-term-memory\",\"destination\":\"/oss/python/deepagents/memory\"},{\"source\":\"/oss/javascript/deepagents/long-term-memory\",\"destination\":\"/oss/javascript/deepagents/memory\"},{\"source\":\"/oss/python/langgraph/timeout-and-error-handling\",\"destination\":\"/oss/python/langgraph/fault-tolerance\"},{\"source\":\"/oss/javascript/langgraph/timeout-and-error-handling\",\"destination\":\"/oss/javascript/langgraph/fault-tolerance\"},{\"source\":\"/oss/python/langgraph/durable-execution\",\"destination\":\"/oss/python/langgraph/persistence\"},{\"source\":\"/oss/javascript/langgraph/durable-execution\",\"destination\":\"/oss/javascript/langgraph/persistence\"},{\"source\":\"/docs\",\"destination\":\"/\"},{\"source\":\"/langsmith/local-server\",\"destination\":\"/langsmith/local-dev-testing\"},{\"source\":\"/langsmith/alerts-pagerduty\",\"destination\":\"/langsmith/alerts\"},{\"source\":\"/langsmith/run-evaluation-from-prompt-playground\",\"destination\":\"/langsmith/run-evaluation-from-playground\"},{\"source\":\"/langsmith/alerts-webhook\",\"destination\":\"/langsmith/alerts\"},{\"source\":\"/langsmith/architectural-overview\",\"destination\":\"/langsmith/self-hosted\"},{\"source\":\"/langsmith/langsmith-fetch\",\"destination\":\"/langsmith/langsmith-cli\"},{\"source\":\"/langsmith/api-v1-v2-overview\",\"destination\":\"/langsmith/trace-with-api\"},{\"source\":\"/langsmith/endpoint-deprecation\",\"destination\":\"/langsmith/trace-with-api\"},{\"source\":\"/langsmith/endpoint-migration\",\"destination\":\"/langsmith/trace-with-api\"},{\"source\":\"/langsmith/setup-java\",\"destination\":\"https://reference.langchain.com/java/langsmith\"},{\"source\":\"langsmith/agent-builder-visibility\",\"destination\":\"/langsmith/fleet/manage-agent-settings\"},{\"source\":\"langsmith/connect-agent-to-slack.mdx\",\"destination\":\"/langsmith/fleet/slack-app\"},{\"source\":\"langsmith/agent-builder-workspace-vs-private\",\"destination\":\"/langsmith/fleet/manage-agent-settings\"},{\"source\":\"/langsmith/agent-builder\",\"destination\":\"/langsmith/fleet/index\"},{\"source\":\"/langsmith/agent-builder-quickstart\",\"destination\":\"/langsmith/fleet/quickstart\"},{\"source\":\"/langsmith/agent-builder-essentials\",\"destination\":\"/langsmith/fleet/essentials\"},{\"source\":\"/langsmith/agent-builder-templates\",\"destination\":\"/langsmith/fleet/templates\"},{\"source\":\"/langsmith/agent-builder-setup\",\"destination\":\"/langsmith/fleet/workspace-admin\"},{\"source\":\"/langsmith/agent-builder-manage-agent-settings\",\"destination\":\"/langsmith/fleet/manage-agent-settings\"},{\"source\":\"/langsmith/agent-builder-tools\",\"destination\":\"/langsmith/fleet/tools\"},{\"source\":\"/langsmith/agent-builder-triggers\",\"destination\":\"/langsmith/fleet/channels\"},{\"source\":\"/langsmith/fleet/triggers\",\"destination\":\"/langsmith/fleet/channels\"},{\"source\":\"/langsmith/agent-builder-remote-mcp-servers\",\"destination\":\"/langsmith/fleet/remote-mcp-servers\"},{\"source\":\"/langsmith/agent-builder-webhooks\",\"destination\":\"/langsmith/fleet/webhooks\"},{\"source\":\"/langsmith/agent-builder-slack-app\",\"destination\":\"/langsmith/fleet/slack-app\"},{\"source\":\"/langsmith/agent-builder-auth-format\",\"destination\":\"/langsmith/fleet/auth-format\"},{\"source\":\"/langsmith/agent-builder-code\",\"destination\":\"/langsmith/fleet/code\"},{\"source\":\"/langsmith/agent-builder-mcp-framework\",\"destination\":\"/langsmith/fleet/mcp-framework\"},{\"source\":\"/langsmith/agent-builder-pricing-faq\",\"destination\":\"https://www.langchain.com/pricing\"},{\"source\":\"/langsmith/pricing-faq\",\"destination\":\"https://www.langchain.com/pricing\"},{\"source\":\"/langsmith/fleet/pricing-faq\",\"destination\":\"https://www.langchain.com/pricing\"},{\"source\":\"/langsmith/agent-builder-self-hosted\",\"destination\":\"/langsmith/deploy-self-hosted-full-platform#enable-fleet-insights-and-polly\"},{\"source\":\"/langsmith/fleet/self-hosted\",\"destination\":\"/langsmith/deploy-self-hosted-full-platform#enable-fleet-insights-and-polly\"},{\"source\":\"/langsmith/insights-self-hosted\",\"destination\":\"/langsmith/deploy-self-hosted-full-platform#enable-fleet-insights-and-polly\"},{\"source\":\"/langsmith/polly-self-hosted\",\"destination\":\"/langsmith/deploy-self-hosted-full-platform#enable-fleet-insights-and-polly\"},{\"source\":\"/labs/swe/:path*\",\"destination\":\"https://github.com/langchain-ai/open-swe/tree/main/apps/docs\"},{\"source\":\"/langchain\",\"destination\":\"/oss/python/langchain/overview\"},{\"source\":\"/oss/langchain/agents\",\"destination\":\"/oss/python/langchain/agents\"},{\"source\":\"/langchain-academy\",\"destination\":\"https://academy.langchain.com/\"},{\"source\":\"/oss/langchain/academy2\",\"destination\":\"https://academy.langchain.com/\"},{\"source\":\"/oss/langchain/academy3\",\"destination\":\"https://academy.langchain.com/\"},{\"source\":\"/langgraph\",\"destination\":\"/oss/python/langgraph/overview\"},{\"source\":\"/deepagents\",\"destination\":\"/oss/python/deepagents/overview\"},{\"source\":\"/deepagents-cli\",\"destination\":\"/oss/python/deepagents/code/overview\"},{\"source\":\"/deepagents-code\",\"destination\":\"/oss/python/deepagents/code/overview\"},{\"source\":\"/oss/python/deepagents/cli\",\"destination\":\"/oss/python/deepagents/code/overview\"},{\"source\":\"/oss/javascript/deepagents/cli\",\"destination\":\"/oss/javascript/deepagents/code/overview\"},{\"source\":\"/oss/python/deepagents/cli/:path*\",\"destination\":\"/oss/python/deepagents/code/:path*\"},{\"source\":\"/oss/javascript/deepagents/cli/:path*\",\"destination\":\"/oss/javascript/deepagents/code/:path*\"},{\"source\":\"/oss/python/deepagents/cli/overview\",\"destination\":\"/oss/python/deepagents/code/overview\"},{\"source\":\"/oss/python/deepagents/cli/configuration\",\"destination\":\"/oss/python/deepagents/code/configuration\"},{\"source\":\"/oss/python/deepagents/cli/providers\",\"destination\":\"/oss/python/deepagents/code/providers\"},{\"source\":\"/oss/python/deepagents/cli/memory-and-skills\",\"destination\":\"/oss/python/deepagents/code/memory-and-skills\"},{\"source\":\"/oss/python/deepagents/cli/remote-sandboxes\",\"destination\":\"/oss/python/deepagents/code/remote-sandboxes\"},{\"source\":\"/oss/python/deepagents/cli/mcp-tools\",\"destination\":\"/oss/python/deepagents/code/mcp-tools\"},{\"source\":\"/oss/python/deepagents/cli/subagents\",\"destination\":\"/oss/python/deepagents/code/subagents\"},{\"source\":\"/oss/javascript/deepagents/cli/overview\",\"destination\":\"/oss/javascript/deepagents/code/overview\"},{\"source\":\"/oss/javascript/deepagents/cli/configuration\",\"destination\":\"/oss/javascript/deepagents/code/configuration\"},{\"source\":\"/oss/javascript/deepagents/cli/providers\",\"destination\":\"/oss/javascript/deepagents/code/providers\"},{\"source\":\"/oss/javascript/deepagents/cli/memory-and-skills\",\"destination\":\"/oss/javascript/deepagents/code/memory-and-skills\"},{\"source\":\"/oss/javascript/deepagents/cli/remote-sandboxes\",\"destination\":\"/oss/javascript/deepagents/code/remote-sandboxes\"},{\"source\":\"/oss/javascript/deepagents/cli/mcp-tools\",\"destination\":\"/oss/javascript/deepagents/code/mcp-tools\"},{\"source\":\"/oss/javascript/deepagents/cli/subagents\",\"destination\":\"/oss/javascript/deepagents/code/subagents\"},{\"source\":\"/oss/python/deepagents/data-locations\",\"destination\":\"/oss/python/deepagents/code/data-locations\"},{\"source\":\"/oss/javascript/deepagents/data-locations\",\"destination\":\"/oss/javascript/deepagents/code/data-locations\"},{\"source\":\"/oss/python/deepagents/deploy\",\"destination\":\"/langsmith/managed-deep-agents-overview\"},{\"source\":\"/oss/javascript/deepagents/deploy\",\"destination\":\"/langsmith/managed-deep-agents-overview\"},{\"source\":\"/oss/python/deepagents/deploy/overview\",\"destination\":\"/langsmith/managed-deep-agents-overview\"},{\"source\":\"/oss/javascript/deepagents/deploy/overview\",\"destination\":\"/langsmith/managed-deep-agents-overview\"},{\"source\":\"/langsmith/deploy-managed-deep-agent\",\"destination\":\"/langsmith/managed-deep-agents-overview\"},{\"source\":\"/oss/python/langchain/evals\",\"destination\":\"/oss/python/langchain/test/evals\"},{\"source\":\"/oss/javascript/langchain/evals\",\"destination\":\"/oss/javascript/langchain/test/evals\"},{\"source\":\"/oss/python/deepagents/streaming/overview\",\"destination\":\"/oss/python/deepagents/event-streaming\"},{\"source\":\"/oss/javascript/deepagents/streaming/overview\",\"destination\":\"/oss/javascript/deepagents/event-streaming\"},{\"source\":\"/oss/python/deepagents/streaming/frontend\",\"destination\":\"/oss/python/deepagents/frontend/overview\"},{\"source\":\"/oss/javascript/deepagents/streaming/frontend\",\"destination\":\"/oss/javascript/deepagents/frontend/overview\"},{\"source\":\"/langsmith\",\"destination\":\"/langsmith/home\"},{\"source\":\"/js/langchain\",\"destination\":\"/oss/javascript/langchain/overview\"},{\"source\":\"/js/langgraph\",\"destination\":\"/oss/javascript/langgraph/overview\"},{\"source\":\"/python/langchain\",\"destination\":\"/oss/python/langchain/overview\"},{\"source\":\"/python/langgraph\",\"destination\":\"/oss/python/langgraph/overview\"},{\"source\":\"/python/deepagents\",\"destination\":\"/oss/python/deepagents/overview\"},{\"source\":\"/oss/python/contributing/integrations\",\"destination\":\"/oss/python/contributing/integrations-langchain\"},{\"source\":\"/oss/javascript/contributing/integrations\",\"destination\":\"/oss/javascript/contributing/integrations-langchain\"},{\"source\":\"/javascript/langchain\",\"destination\":\"/oss/javascript/langchain/overview\"},{\"source\":\"/javascript/langgraph\",\"destination\":\"/oss/javascript/langgraph/overview\"},{\"source\":\"/langsmith/cloud-architecture-and-scalability\",\"destination\":\"/langsmith/cloud#cloud-architecture-and-scalability\"},{\"source\":\"/langsmith/reference-overview\",\"destination\":\"/langsmith/home\"},{\"source\":\"/langsmith/hosting\",\"destination\":\"/langsmith/platform-setup\"},{\"source\":\"/oss/python/langchain-agents\",\"destination\":\"/oss/python/langchain/agents\"},{\"source\":\"/oss/javascript/langchain-agents\",\"destination\":\"/oss/javascript/langchain/agents\"},{\"source\":\"/oss/python/langchain-models\",\"destination\":\"/oss/python/langchain/models\"},{\"source\":\"/oss/javascript/langchain-models\",\"destination\":\"/oss/javascript/langchain/models\"},{\"source\":\"/oss/python/langchain-messages\",\"destination\":\"/oss/python/langchain/messages\"},{\"source\":\"/oss/javascript/langchain-messages\",\"destination\":\"/oss/javascript/langchain/messages\"},{\"source\":\"/oss/python/langchain-tools\",\"destination\":\"/oss/python/langchain/tools\"},{\"source\":\"/oss/javascript/langchain-tools\",\"destination\":\"/oss/javascript/langchain/tools\"},{\"source\":\"/oss/python/langchain-memory\",\"destination\":\"/oss/python/langchain/short-term-memory\"},{\"source\":\"/oss/javascript/langchain-memory\",\"destination\":\"/oss/javascript/langchain/short-term-memory\"},{\"source\":\"/oss/python/langchain-streaming\",\"destination\":\"/oss/python/langchain/event-streaming\"},{\"source\":\"/oss/javascript/langchain-streaming\",\"destination\":\"/oss/javascript/langchain/event-streaming\"},{\"source\":\"/oss/python/releases-v1\",\"destination\":\"/oss/python/releases/langchain-v1\"},{\"source\":\"/oss/javascript/releases-v1\",\"destination\":\"/oss/javascript/releases/langchain-v1\"},{\"source\":\"/oss/python/langgraph/human-in-the-loop\",\"destination\":\"/oss/python/langgraph/interrupts\"},{\"source\":\"/oss/javascript/langgraph/human-in-the-loop\",\"destination\":\"/oss/javascript/langgraph/interrupts\"},{\"source\":\"/langgraph-platform/index\",\"destination\":\"/langsmith/deployment\"},{\"source\":\"/langsmith/deployments\",\"destination\":\"/langsmith/deployment\"},{\"source\":\"/langsmith/langgraph-platform-logs\",\"destination\":\"/langsmith/manage-trace\"},{\"source\":\"/langsmith/platform-logs\",\"destination\":\"/langsmith/manage-trace\"},{\"source\":\"/langsmith/compare-traces\",\"destination\":\"/langsmith/manage-trace\"},{\"source\":\"/langsmith/share-trace\",\"destination\":\"/langsmith/manage-trace\"},{\"source\":\"/langgraph-platform/deployment-options\",\"destination\":\"/langsmith/platform-setup\"},{\"source\":\"/langgraph-platform/langgraph-studio\",\"destination\":\"/langsmith/studio\"},{\"source\":\"/langgraph-platform/langgraph-cli\",\"destination\":\"/langsmith/cli\"},{\"source\":\"/langsmith/api-ref\",\"destination\":\"/langsmith/smith-api\"},{\"source\":\"/langsmith/js-ts-sdk\",\"destination\":\"/langsmith/smith-js-ts-sdk\"},{\"source\":\"/langsmith/python-sdk\",\"destination\":\"/langsmith/smith-python-sdk\"},{\"source\":\"/langgraph-platform/egress-metrics-metadata\",\"destination\":\"/langsmith/self-host-egress\"},{\"source\":\"/langgraph-platform/why-langgraph\",\"destination\":\"/langsmith/deployment#agent-server\"},{\"source\":\"/langsmith/app-development\",\"destination\":\"/langsmith/deployment#agent-server\"},{\"source\":\"/langgraph-platform/:path*\",\"destination\":\"/langsmith/:path*\"},{\"source\":\"/oss/python/deepagents/index\",\"destination\":\"/oss/python/deepagents/overview\"},{\"source\":\"/oss/python/integrations/document_loaders/azure_blob_storage_container\",\"destination\":\"/oss/python/integrations/document_loaders/azure_blob_storage\"},{\"source\":\"/oss/python/integrations/document_loaders/azure_blob_storage_file\",\"destination\":\"/oss/python/integrations/document_loaders/azure_blob_storage\"},{\"source\":\"oss/python/langgraph/GRAPH_RECURSION_LIMIT\",\"destination\":\"oss/python/langgraph/errors/GRAPH_RECURSION_LIMIT\"},{\"source\":\"oss/python/langgraph/INVALID_CHAT_HISTORY\",\"destination\":\"oss/python/langgraph/errors/INVALID_CHAT_HISTORY\"},{\"source\":\"oss/python/langgraph/INVALID_CONCURRENT_GRAPH_UPDATE\",\"destination\":\"oss/python/langgraph/errors/INVALID_CONCURRENT_GRAPH_UPDATE\"},{\"source\":\"oss/python/langgraph/INVALID_GRAPH_NODE_RETURN_VALUE\",\"destination\":\"oss/python/langgraph/errors/INVALID_GRAPH_NODE_RETURN_VALUE\"},{\"source\":\"oss/python/langgraph/MULTIPLE_SUBGRAPHS\",\"destination\":\"oss/python/langgraph/errors/MULTIPLE_SUBGRAPHS\"},{\"source\":\"oss/python/langgraph/MISSING_CHECKPOINTER\",\"destination\":\"oss/python/langgraph/errors/MISSING_CHECKPOINTER\"},{\"source\":\"oss/javascript/langgraph/GRAPH_RECURSION_LIMIT\",\"destination\":\"oss/javascript/langgraph/errors/GRAPH_RECURSION_LIMIT\"},{\"source\":\"oss/javascript/langgraph/INVALID_CHAT_HISTORY\",\"destination\":\"oss/javascript/langgraph/errors/INVALID_CHAT_HISTORY\"},{\"source\":\"oss/javascript/langgraph/INVALID_CONCURRENT_GRAPH_UPDATE\",\"destination\":\"oss/javascript/langgraph/errors/INVALID_CONCURRENT_GRAPH_UPDATE\"},{\"source\":\"oss/javascript/langgraph/INVALID_GRAPH_NODE_RETURN_VALUE\",\"destination\":\"oss/javascript/langgraph/errors/INVALID_GRAPH_NODE_RETURN_VALUE\"},{\"source\":\"oss/javascript/langgraph/MULTIPLE_SUBGRAPHS\",\"destination\":\"oss/javascript/langgraph/errors/MULTIPLE_SUBGRAPHS\"},{\"source\":\"oss/javascript/langgraph/MISSING_CHECKPOINTER\",\"destination\":\"oss/javascript/langgraph/errors/MISSING_CHECKPOINTER\"},{\"source\":\"oss/python/langgraph/common-errors\",\"destination\":\"oss/python/common-errors\"},{\"source\":\"oss/javascript/langgraph/common-errors\",\"destination\":\"oss/javascript/common-errors\"},{\"source\":\"oss/python/langchain/INVALID_PROMPT_INPUT\",\"destination\":\"oss/python/langchain/errors/INVALID_PROMPT_INPUT\"},{\"source\":\"oss/python/langchain/MODEL_AUTHENTICATION\",\"destination\":\"oss/python/langchain/errors/MODEL_AUTHENTICATION\"},{\"source\":\"oss/python/langchain/MODEL_NOT_FOUND\",\"destination\":\"oss/python/langchain/errors/MODEL_NOT_FOUND\"},{\"source\":\"oss/python/langchain/MODEL_RATE_LIMIT\",\"destination\":\"oss/python/langchain/errors/MODEL_RATE_LIMIT\"},{\"source\":\"oss/python/langchain/MESSAGE_COERCION_FAILURE\",\"destination\":\"oss/python/langchain/errors/MESSAGE_COERCION_FAILURE\"},{\"source\":\"oss/python/langchain/INVALID_TOOL_RESULTS\",\"destination\":\"oss/python/langchain/errors/INVALID_TOOL_RESULTS\"},{\"source\":\"oss/python/langchain/OUTPUT_PARSING_FAILURE\",\"destination\":\"oss/python/langchain/errors/OUTPUT_PARSING_FAILURE\"},{\"source\":\"oss/javascript/langchain/INVALID_PROMPT_INPUT\",\"destination\":\"oss/javascript/langchain/errors/INVALID_PROMPT_INPUT\"},{\"source\":\"oss/javascript/langchain/MODEL_AUTHENTICATION\",\"destination\":\"oss/javascript/langchain/errors/MODEL_AUTHENTICATION\"},{\"source\":\"oss/javascript/langchain/MODEL_NOT_FOUND\",\"destination\":\"oss/javascript/langchain/errors/MODEL_NOT_FOUND\"},{\"source\":\"oss/javascript/langchain/MODEL_RATE_LIMIT\",\"destination\":\"oss/javascript/langchain/errors/MODEL_RATE_LIMIT\"},{\"source\":\"oss/javascript/langchain/MESSAGE_COERCION_FAILURE\",\"destination\":\"oss/javascript/langchain/errors/MESSAGE_COERCION_FAILURE\"},{\"source\":\"oss/javascript/langchain/INVALID_TOOL_RESULTS\",\"destination\":\"oss/javascript/langchain/errors/INVALID_TOOL_RESULTS\"},{\"source\":\"oss/javascript/langchain/OUTPUT_PARSING_FAILURE\",\"destination\":\"oss/javascript/langchain/errors/OUTPUT_PARSING_FAILURE\"},{\"source\":\"/langsmith/langgraph-server\",\"destination\":\"/langsmith/agent-server\"},{\"source\":\"/langsmith/langgraph-server-changelog\",\"destination\":\"/langsmith/agent-server-changelog\"},{\"source\":\"/oss/python/langchain/middleware\",\"destination\":\"/oss/python/langchain/middleware/overview\"},{\"source\":\"/oss/javascript/langchain/middleware\",\"destination\":\"/oss/javascript/langchain/middleware/overview\"},{\"source\":\"/oss/python/langchain/streaming/overview\",\"destination\":\"/oss/python/langchain/streaming\"},{\"source\":\"/oss/javascript/langchain/streaming/overview\",\"destination\":\"/oss/javascript/langchain/streaming\"},{\"source\":\"/oss/python/langchain/streaming/frontend\",\"destination\":\"/oss/python/langchain/frontend/overview\"},{\"source\":\"/oss/javascript/langchain/streaming/frontend\",\"destination\":\"/oss/javascript/langchain/frontend/overview\"},{\"source\":\"/langsmith/use-stream-react\",\"destination\":\"/oss/langchain/frontend/overview\"},{\"source\":\"/oss/python/integrations/tools/toolbox\",\"destination\":\"/oss/python/integrations/tools/mcp_toolbox\"},{\"source\":\"/oss/integrations/tools/toolbox\",\"destination\":\"/oss/integrations/tools/mcp_toolbox\"},{\"source\":\"/oss/python/integrations/tools/gmail\",\"destination\":\"/oss/python/integrations/tools/google_gmail\"},{\"source\":\"/oss/integrations/tools/gmail\",\"destination\":\"/oss/integrations/tools/google_gmail\"},{\"source\":\"/oss/python/integrations/chat_loaders/gmail\",\"destination\":\"/oss/python/integrations/chat_loaders/google_gmail\"},{\"source\":\"/oss/integrations/chat_loaders/gmail\",\"destination\":\"/oss/integrations/chat_loaders/google_gmail\"},{\"source\":\"/oss/python/integrations/vectorstores/scann\",\"destination\":\"/oss/python/integrations/vectorstores/google_scann\"},{\"source\":\"/oss/integrations/vectorstores/scann\",\"destination\":\"/oss/integrations/vectorstores/google_scann\"},{\"source\":\"/oss/javascript/integrations/llms/deep_infra\",\"destination\":\"/oss/integrations/chat/openrouter\"},{\"source\":\"/oss/integrations/llms/deep_infra\",\"destination\":\"/oss/integrations/chat/openrouter\"},{\"source\":\"/oss/javascript/integrations/chat/deep_infra\",\"destination\":\"/oss/integrations/chat/openrouter\"},{\"source\":\"/oss/integrations/chat/deep_infra\",\"destination\":\"/oss/integrations/chat/openrouter\"},{\"source\":\"/oss/javascript/integrations/retrievers/tavily\",\"destination\":\"/oss/integrations/tools/tavily_search\"},{\"source\":\"/oss/integrations/retrievers/tavily\",\"destination\":\"/oss/integrations/tools/tavily_search\"},{\"source\":\"/oss/javascript/integrations/stores/ioredis_storage\",\"destination\":\"/oss/integrations/stores/index\"},{\"source\":\"/oss/integrations/stores/ioredis_storage\",\"destination\":\"/oss/integrations/stores/index\"},{\"source\":\"/oss/javascript/integrations/stores/upstash_redis_storage\",\"destination\":\"/oss/integrations/stores/index\"},{\"source\":\"/oss/integrations/stores/upstash_redis_storage\",\"destination\":\"/oss/integrations/stores/index\"},{\"source\":\"/oss/javascript/integrations/vectorstores/googlevertexai\",\"destination\":\"/oss/integrations/vectorstores/google_vertex_ai_vector_search\"},{\"source\":\"/oss/integrations/vectorstores/googlevertexai\",\"destination\":\"/oss/integrations/vectorstores/google_vertex_ai_vector_search\"},{\"source\":\"/oss/python/integrations/vectorstores/googlevertexai\",\"destination\":\"/oss/python/integrations/vectorstores/google_vertex_ai_vector_search\"},{\"source\":\"/oss/python/integrations/chat/google_vertex_ai_palm\",\"destination\":\"/oss/python/integrations/chat/google_vertex_ai\"},{\"source\":\"/oss/integrations/chat/google_vertex_ai_palm\",\"destination\":\"/oss/integrations/chat/google_vertex_ai\"},{\"source\":\"/oss/python/integrations/text_embedding/google_vertex_ai_palm\",\"destination\":\"/oss/python/integrations/embeddings/google_vertex_ai\"},{\"source\":\"/oss/integrations/text_embedding/google_vertex_ai_palm\",\"destination\":\"/oss/integrations/embeddings/google_vertex_ai\"},{\"source\":\"/oss/python/integrations/llms/google_vertex_ai_palm\",\"destination\":\"/oss/python/integrations/llms/google_vertex_ai\"},{\"source\":\"/oss/integrations/llms/google_vertex_ai_palm\",\"destination\":\"/oss/integrations/llms/google_vertex_ai\"},{\"source\":\"/oss/javascript/integrations/text_embedding/google_generativeai\",\"destination\":\"/oss/javascript/integrations/embeddings/google_generative_ai\"},{\"source\":\"/oss/integrations/text_embedding/google_generativeai\",\"destination\":\"/oss/integrations/embeddings/google_generative_ai\"},{\"source\":\"/oss/python/integrations/text_embedding/:path*\",\"destination\":\"/oss/python/integrations/embeddings/:path*\"},{\"source\":\"/oss/javascript/integrations/text_embedding/:path*\",\"destination\":\"/oss/javascript/integrations/embeddings/:path*\"},{\"source\":\"/oss/integrations/text_embedding/:path*\",\"destination\":\"/oss/integrations/embeddings/:path*\"},{\"source\":\"/langsmith/agent-server-api-ref\",\"destination\":\"/langsmith/server-api-ref\"},{\"source\":\"/oss/python/integrations/llms/google_ai\",\"destination\":\"/oss/python/integrations/llms/google_generative_ai\"},{\"source\":\"/langsmith/composite-evaluators\",\"destination\":\"/langsmith/composite-evaluators-ui\"},{\"source\":\"/langsmith/online-evaluations\",\"destination\":\"/langsmith/online-evaluations-llm-as-judge\"},{\"source\":\"/oss/python/langchain/supervisor\",\"destination\":\"/oss/python/langchain/multi-agent/subagents-personal-assistant\"},{\"source\":\"/oss/javascript/langchain/supervisor\",\"destination\":\"/oss/javascript/langchain/multi-agent/subagents-personal-assistant\"},{\"source\":\"/langsmith/sdk\",\"destination\":\"/langsmith/reference\"},{\"source\":\"/langsmith/code-evaluator\",\"destination\":\"/langsmith/code-evaluator-ui\"},{\"source\":\"/oss/javascript/deepagents/middleware\",\"destination\":\"/oss/javascript/langchain/middleware/built-in\"},{\"source\":\"/oss/python/deepagents/middleware\",\"destination\":\"/oss/python/langchain/middleware/built-in\"},{\"source\":\"/oss/javascript/integrations/chat/azure_chat_openai\",\"destination\":\"/oss/javascript/integrations/chat/azure\"},{\"source\":\"/oss/javascript/integrations/chat/mistralai\",\"destination\":\"/oss/javascript/integrations/chat/mistral\"},{\"source\":\"/oss/javascript/integrations/chat/huggingface\",\"destination\":\"/oss/javascript/integrations/chat\"},{\"source\":\"/oss/javascript/integrations/chat/nvidia_ai_endpoints\",\"destination\":\"/oss/javascript/integrations/chat\"},{\"source\":\"/oss/javascript/integrations/chat/bedrock\",\"destination\":\"/oss/javascript/integrations/chat/bedrock_converse\"},{\"source\":\"/oss/javascript/integrations/llms/bedrock\",\"destination\":\"/oss/javascript/integrations/chat/bedrock_converse\"},{\"source\":\"/oss/javascript/integrations/callbacks/:path*\",\"destination\":\"/oss/javascript/integrations\"},{\"source\":\"/oss/javascript/integrations/callbacks\",\"destination\":\"/oss/javascript/integrations\"},{\"source\":\"/langsmith/index-datasets-for-dynamic-few-shot-example-selection\",\"destination\":\"/langsmith/manage-datasets\"},{\"source\":\"/langsmith/collector-proxy\",\"destination\":\"/langsmith/trace-with-opentelemetry\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier\",\"destination\":\"/langsmith/agent-server-api/crons\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier/create-thread-cron\",\"destination\":\"/langsmith/agent-server-api/crons/create-thread-cron\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier/create-cron\",\"destination\":\"/langsmith/agent-server-api/crons/create-cron\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier/search-crons\",\"destination\":\"/langsmith/agent-server-api/crons/search-crons\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier/count-crons\",\"destination\":\"/langsmith/agent-server-api/crons/count-crons\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier/update-cron\",\"destination\":\"/langsmith/agent-server-api/crons/update-cron\"},{\"source\":\"/langsmith/agent-server-api/crons-plus-tier/delete-cron\",\"destination\":\"/langsmith/agent-server-api/crons/delete-cron\"},{\"source\":\"/oss/javascript/langchain/frontend/integrations\",\"destination\":\"/oss/javascript/langchain/frontend/integrations/overview\"},{\"source\":\"/oss/python/langchain/frontend/integrations\",\"destination\":\"/oss/python/langchain/frontend/integrations/overview\"},{\"source\":\"/langsmith/fleet/setup\",\"destination\":\"/langsmith/fleet/workspace-admin\"},{\"source\":\"/langsmith/fleet/workspace-settings\",\"destination\":\"/langsmith/fleet/workspace-admin\"},{\"source\":\"/oss/python/langchain/harness\",\"destination\":\"/oss/python/langchain/agents\"},{\"source\":\"/oss/javascript/langchain/harness\",\"destination\":\"/oss/javascript/langchain/agents\"}],\"integrations\":{\"gtm\":{\"tagId\":\"GTM-MBBX68ST\"}},\"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}},\"children\":\"$L49\"}]\n"])</script><script>self.__next_f.push([1,"4a:I[27201,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"IconMark\"]\n"])</script><script>self.__next_f.push([1,"4b:I[91557,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"ApiReferenceProvider\",1]\n"])</script><script>self.__next_f.push([1,"4c:I[91557,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"PageProvider\",1]\n"])</script><script>self.__next_f.push([1,"4d:I[91557,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"OpenApiProvider\",1]\n"])</script><script>self.__next_f.push([1,"4e:I[525343,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"TabSyncContextProvider\"]\n"])</script><script>self.__next_f.push([1,"4f:I[228341,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"PageModeUpdater\"]\n"])</script><script>self.__next_f.push([1,"50:I[524149,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"FooterAndSidebarScrollScript\",1]\n"])</script><script>self.__next_f.push([1,"51:I[575126,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"Background\",1]\n"])</script><script>self.__next_f.push([1,"40:[\"$\",\"link\",\"25\",{\"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)\"}]\n41:[\"$\",\"link\",\"26\",{\"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)\"}]\n42:[\"$\",\"link\",\"27\",{\"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)\"}]\n43:[\"$\",\"link\",\"28\",{\"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)\"}]\n44:[\"$\",\"link\",\"29\",{\"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)\"}]\n45:[\"$\",\"link\",\"30\",{\"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)\"}]\n46:[\"$\",\"link\",\"31\",{\"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)\"}]\n47:[\"$\",\"$L4a\",\"32\",{}]\n52:T55f6,"])</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/* 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/* 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"])</script><script>self.__next_f.push([1,"49:[\"$\",\"$L4b\",null,{\"value\":{\"apiReferenceData\":{}},\"children\":[\"$\",\"$L4c\",null,{\"value\":{\"pageMetadata\":\"$1b:props:pageMetadata\",\"lastModified\":\"2026-06-02T20:51:45.729Z\",\"originalFileLocation\":\"index.mdx\",\"description\":null,\"mdxExtracts\":{\"tableOfContents\":[],\"codeExamples\":{}},\"pageType\":\"$undefined\",\"panelMdxSource\":\"$undefined\",\"panelMdxSourceWithNoJs\":\"$undefined\",\"contextualStarterQuestions\":\"$undefined\",\"relatedPages\":\"$undefined\"},\"children\":[\"$\",\"$L4d\",null,{\"pageMetadata\":\"$1b:props:pageMetadata\",\"docsConfig\":\"$1b:props:docsConfig\",\"mdxExtracts\":\"$49:props:children:props:value:mdxExtracts\",\"openApiReferenceData\":\"$undefined\",\"children\":[\"$\",\"$L4e\",null,{\"children\":[[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"document.documentElement.setAttribute('data-page-mode', \\\"custom\\\");\"}}],[\"$\",\"$L4f\",null,{\"mode\":\"custom\"}]],[\"$\",\"$L50\",null,{\"theme\":\"aspen\"}],[\"$\",\"$L51\",null,{\"docsConfig\":\"$1b:props:docsConfig\",\"pageMetadata\":\"$1b:props:pageMetadata\"}],[[\"$\",\"style\",\"0\",{\"data-custom-css-index\":0,\"data-custom-css-path\":\"style.css\",\"dangerouslySetInnerHTML\":{\"__html\":\"$52\"}}]],\"$L53\",\"$L54\"]}]}]}]}]\n"])</script><script>self.__next_f.push([1,"55:I[36098,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"CustomJsFiles\",1]\n"])</script><script>self.__next_f.push([1,"58:I[530359,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"MDXContentController\",1]\n"])</script><script>self.__next_f.push([1,"59:I[448287,[\"/mintlify-assets/_next/static/chunks/321c1fa0f04d01df.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/b664fc8bb1e7ab0d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/180779e36c80c072.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/90079180db6f14a4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/6fd3acb5d5a9a0e5.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/07eb678ee01a9cdf.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/57e3934b0bef01f4.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/3ae78219be6fb618.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/01abcb00a098f205.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/2d697d73ad838347.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/9fd168a8c914b31d.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/86ee9c3686040dec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/247f8594ded6e6f1.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/edf583267c695d7e.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/1bd7be7be64a4288.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/190e2d29d3b2239b.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/8ac85ad01b314a92.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/13ebb4257dd3a545.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/55341d0a0dea6975.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/df769b4893ef4c07.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/29397ad77e53cfec.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/43aa73f24f774161.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/50b0605e940052b8.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/c4ca391d9aeeafee.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\",\"/mintlify-assets/_next/static/chunks/e92309faf83811de.js?dpl=dpl_J3jZeLg2uNQRsEocBbwjJLxTDqJA\"],\"default\",1]\n"])</script><script>self.__next_f.push([1,"56:T1154,"])</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 user clicks the language dropdown, this redirects them to the equivalent\n * page in the target language (preserving the section hash) instead of the default\n * overview page.\n *\n * How it works:\n * 1. Click listener detects language toggle clicks and stores current URL+hash\n * 2. History API interception (pushState/replaceState) and popstate/hashchange\n *    listeners detect when Mintlify's client-side routing changes the path\n * 3. On path change, check if we're switching languages and redirect to equivalent page\n */\n\n(function () {\n  \"use strict\";\n\n  const PYTHON_PREFIX = \"/oss/python/\";\n  const JS_PREFIX = \"/oss/javascript/\";\n\n  // Selector for language dropdown items (Python/TypeScript links)\n  const LANGUAGE_TOGGLE_SELECTOR = \"[data-dropdown-item]\";\n\n  let previousUrl = null;\n\n  /**\n   * Convert a path from one language to another\n   * e.g., /oss/javascript/foo → /oss/python/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   * 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   * Store current URL (path + hash) in memory\n   * Only stores language-specific pages\n   */\n  function updateCurrent() {\n    const lang = getPathLanguage(location.pathname);\n    if (lang) {\n      previousUrl = location.pathname + location.hash;\n    }\n  }\n\n  /**\n   * Check if we should redirect to an equivalent page in a different language\n   * This runs after every path change detected by the MutationObserver\n   */\n  function checkRedirect() {\n    const currentLang = getPathLanguage(location.pathname);\n    if (!currentLang) return;\n\n    if (!previousUrl) {\n      updateCurrent();\n      return;\n    }\n\n    // Split path and hash (e.g., \"/oss/python/foo#bar\" → [\"/oss/python/foo\", \"bar\"])\n    const [prevPath, prevHash = \"\"] = previousUrl.split(\"#\");\n    const prevLang = getPathLanguage(prevPath);\n\n    // Only redirect if we're switching between languages\n    if (prevLang \u0026\u0026 prevLang !== currentLang) {\n      const equivalentPath = getEquivalentPath(prevPath, currentLang);\n\n      if (equivalentPath \u0026\u0026 equivalentPath !== location.pathname) {\n        // Clear previous URL before redirect to prevent redirect loops\n        previousUrl = null;\n\n        // Redirect with the hash from the previous page\n        location.replace(equivalentPath + (prevHash ? \"#\" + prevHash : \"\"));\n        return;\n      }\n    }\n\n    // If no redirect needed, store current location for next navigation\n    updateCurrent();\n  }\n\n  // Store current URL when language toggle is clicked\n  // This captures the hash before Mintlify's client-side routing changes the page\n  document.addEventListener(\n    \"click\",\n    function (e) {\n      const toggle = e.target.closest(LANGUAGE_TOGGLE_SELECTOR);\n      if (toggle) {\n        updateCurrent();\n      }\n    },\n    true,\n  );\n\n  // Watch for URL changes via History API (used by Mintlify's client-side routing)\n  // This is more efficient than MutationObserver - only fires on actual URL changes\n  let lastPath = location.pathname;\n\n  function onPathChange() {\n    if (location.pathname !== lastPath) {\n      lastPath = location.pathname;\n      checkRedirect();\n    }\n  }\n\n  // Handle back/forward navigation\n  window.addEventListener(\"popstate\", onPathChange);\n\n  // Handle hash changes (when user clicks anchor links)\n  window.addEventListener(\"hashchange\", onPathChange);\n\n  // Intercept pushState/replaceState calls\n  const originalPushState = history.pushState;\n  const originalReplaceState = history.replaceState;\n\n  history.pushState = function (...args) {\n    originalPushState.apply(this, args);\n    onPathChange();\n  };\n\n  history.replaceState = function (...args) {\n    originalReplaceState.apply(this, args);\n    onPathChange();\n  };\n\n  // Run initial check in case user landed here via language toggle\n  checkRedirect();\n})();\n"])</script><script>self.__next_f.push([1,"57: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,"53:[\"$\",\"$L55\",null,{\"customJsDisabled\":false,\"jsFiles\":[{\"_id\":\"6938e4ee6ff4dc51e1026e37\",\"subdomain\":\"langchain-5e9cc07a\",\"filePath\":\"language-toggle.js\",\"__v\":0,\"content\":\"$56\"},{\"_id\":\"69c881f67ba705a281634d8b\",\"subdomain\":\"langchain-5e9cc07a\",\"filePath\":\"ChatLangChainEmbed.js\",\"__v\":0,\"content\":\"$57\"}]}]\n5a:T6acd,"])</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    a: \"a\",\n    p: \"p\",\n    strong: \"strong\",\n    ..._provideComponents(),\n    ...props.components\n  }, {Callout, Card, CardGroup, Tab, Tabs} = _components;\n  if (!Callout) _missingMdxReference(\"Callout\", true);\n  if (!Card) _missingMdxReference(\"Card\", true);\n  if (!CardGroup) _missingMdxReference(\"CardGroup\", true);\n  if (!Tab) _missingMdxReference(\"Tab\", true);\n  if (!Tabs) _missingMdxReference(\"Tabs\", 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: \"Documentation\"\n      }), _jsx(_components.p, {\n        children: \"LangChain is the platform for agent engineering. AI teams at Clay, Rippling, Cloudflare, Workday, and more trust LangChain’s products to engineer reliable agents.\"\n      }), _jsx(\"h2\", {\n        class: \"flex whitespace-pre-wrap group font-semibold\",\n        children: \"LangSmith\"\n      }), _jsxs(_components.p, {\n        children: [_jsx(_components.a, {\n          href: \"/langsmith/home\",\n          children: _jsx(_components.strong, {\n            children: \"LangSmith\"\n          })\n        }), \" is a platform that helps AI teams use live production data for continuous testing and improvement. LangSmith provides:\"]\n      }), _jsxs(CardGroup, {\n        cols: 3,\n        children: [_jsx(Card, {\n          title: \"Observability\",\n          href: \"/langsmith/observability\",\n          icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=ccbc183bca2a5e4ca78d30149e3836cc\",\n          cta: \"Learn more\",\n          \"data-og-width\": \"200\",\n          width: \"200\",\n          \"data-og-height\": \"200\",\n          height: \"200\",\n          \"data-path\": \"images/brand/observability-icon-dark.png\",\n          \"data-optimize\": \"true\",\n          \"data-opv\": \"3\",\n          srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=56bb5d247bd33a2be771f2d0efbce128 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=47522f55ce7c28a7c15d507b46b850b9 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=8b875586d0ad9b545122a2bb2b851641 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=d543ebdbceba19fe3cb7f3ba105b88ca 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=1b2b18bb7e633ba0ccd19032ff4d871d 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=3b71434022d7729dfd8465eb70393f7d 2500w\",\n          children: _jsx(_components.p, {\n            children: \"See exactly how your agent thinks and acts with detailed tracing and aggregate trend metrics.\"\n          })\n        }), _jsx(Card, {\n          title: \"Engine\",\n          href: \"/langsmith/engine\",\n          icon: \"engine\",\n          cta: \"Learn more\",\n          children: _jsx(_components.p, {\n            children: \"Automatically detect and resolve recurring issues in your tracing projects.\"\n          })\n        }), _jsx(Card, {\n          title: \"Evaluation\",\n          href: \"/langsmith/evaluation\",\n          icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=4918f932fff73a33d6a24e2fcf68f6a4\",\n          cta: \"Learn more\",\n          \"data-og-width\": \"200\",\n          width: \"200\",\n          \"data-og-height\": \"200\",\n          height: \"200\",\n          \"data-path\": \"images/brand/evaluation-icon-dark.png\",\n          \"data-optimize\": \"true\",\n          \"data-opv\": \"3\",\n          srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=7dfee48620929bffab47560bfa8aa964 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=c4d4efc89cbb199b192962160816e25a 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=0f8b7eb7c789151dc726f7c80437f875 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=75cafaa44a90dbcde430b6df902ba6b0 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=feec4a2493ae4c1dc07eb1f296a2383c 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=6b9d8ba303d289b28a2af3df6ea840cd 2500w\",\n          children: _jsx(_components.p, {\n            children: \"Test and score agent behavior on production data or offline datasets to continuously improve performance.\"\n          })\n        }), _jsx(Card, {\n          title: \"Prompt Engineering\",\n          href: \"/langsmith/prompt-engineering\",\n          icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=eaa7ac978bebe5a7cd84d8eeaaef84c2\",\n          cta: \"Learn more\",\n          \"data-og-width\": \"200\",\n          width: \"200\",\n          \"data-og-height\": \"200\",\n          height: \"200\",\n          \"data-path\": \"images/brand/prompt-engineering-icon.png\",\n          \"data-optimize\": \"true\",\n          \"data-opv\": \"3\",\n          srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=35e07532488732f9f14bf8a192b85a54 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=799d208a250eaf9aaa1e00d72cfabb99 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=9ad345ee0c20624393981efaa075251d 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=af787959e7aab8f41d32821bcbcb1ef2 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=8798287cdc43c25498586c17e72a0506 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=3e2448ffea1c723c532046b339f30f54 2500w\",\n          children: _jsx(_components.p, {\n            children: \"Iterate on prompts with version control, prompt optimization, and collaboration features.\"\n          })\n        }), _jsx(Card, {\n          title: \"Deployment\",\n          href: \"/langsmith/deployment\",\n          icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=024e3712d388bfa55f4f160cc9d6a85b\",\n          cta: \"Learn more\",\n          \"data-og-width\": \"200\",\n          width: \"200\",\n          \"data-og-height\": \"200\",\n          height: \"200\",\n          \"data-path\": \"images/brand/deployment-icon-dark.png\",\n          \"data-optimize\": \"true\",\n          \"data-opv\": \"3\",\n          srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=d72da313a75de2ed3769e4e6594f91c5 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=292eb251107135290070a52dcfda5d8b 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=3a12277efbcf38c85b9790445370ba73 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=4764d19688497da1f54c3b028ef54b60 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=f5e717e53cf9541a1ee8b9979e16a7a1 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=df65861d68661c6b7e73b06262840185 2500w\",\n          children: _jsx(_components.p, {\n            children: \"Ship your agent in one click, using scalable infrastructure built for long-running tasks.\"\n          })\n        }), _jsx(Card, {\n          title: \"LLM Gateway (Private beta)\",\n          href: \"/langsmith/llm-gateway\",\n          icon: \"route\",\n          cta: \"Learn more\",\n          children: _jsx(_components.p, {\n            children: \"Proxy LLM calls to enforce spend limits, redact sensitive data, and centrally manage provider credentials.\"\n          })\n        })]\n      }), _jsx(Callout, {\n        icon: \"shield-lock\",\n        color: \"#4F46E5\",\n        iconType: \"regular\",\n        children: _jsxs(_components.p, {\n          children: [\"LangSmith meets the highest standards of data security and privacy with HIPAA, SOC 2 Type 2, and GDPR compliance. \", _jsx(_components.a, {\n            href: \"https://www.langchain.com/contact-sales\",\n            children: \"Meet with our team\"\n          }), \" to learn more or visit our \", _jsx(_components.a, {\n            href: \"https://trust.langchain.com/\",\n            children: \"Trust Center\"\n          }), \".\"]\n        })\n      }), _jsx(\"h2\", {\n        class: \"flex whitespace-pre-wrap group font-semibold\",\n        children: \"LangSmith Fleet\"\n      }), _jsx(Card, {\n        title: \"Fleet\",\n        href: \"/langsmith/fleet/index\",\n        icon: \"https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=98e3bbb4ae01325a8ff867e80681778f\",\n        cta: \"Learn more\",\n        \"data-og-width\": \"203\",\n        width: \"203\",\n        \"data-og-height\": \"203\",\n        height: \"203\",\n        \"data-path\": \"images/brand/fleet-icon-dark.png\",\n        \"data-optimize\": \"true\",\n        \"data-opv\": \"3\",\n        srcset: \"https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=4906c5f9a83fe9a658b2b9f10a3e1532 280w, https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=bd29cf9fe86e0041633078d1c5aaa2ac 560w, https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=263ee479185b0ea027e304bc833ece09 840w, https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=e155f8b1199dc555e89d0a75f322bbd9 1100w, https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=433b8dc8deb8bafb5ea3b40cc8054b2d 1650w, https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=454d8d08875faddf04759515aa447548 2500w\",\n        children: _jsx(_components.p, {\n          children: \"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.\"\n        })\n      }), _jsx(\"h2\", {\n        class: \"flex whitespace-pre-wrap group font-semibold\",\n        children: \"Open source agent frameworks\"\n      }), _jsxs(Tabs, {\n        children: [_jsx(Tab, {\n          title: \"Python\",\n          icon: \"brand-python\",\n          id: \"python\",\n          children: _jsxs(CardGroup, {\n            cols: 3,\n            children: [_jsx(Card, {\n              title: \"Deep Agents (Python)\",\n              href: \"/oss/python/deepagents/overview\",\n              icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=1cc68f66a9e7550331cc0875f1ba53af\",\n              cta: \"Learn more\",\n              \"data-og-width\": \"195\",\n              width: \"195\",\n              \"data-og-height\": \"195\",\n              height: \"195\",\n              \"data-path\": \"images/brand/deep-agents-icon.png\",\n              \"data-optimize\": \"true\",\n              \"data-opv\": \"3\",\n              srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=ab80a5369665fbb7c0611cc9b5f9e546 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=b1ee7e02c85a8e7c7e969a25cd75d042 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=8830a5f9ec2cac597f179f90f3015e73 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=f51738a33a087523225d100c0ed34fce 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e2e4b9c414ac1245afd242060674f45f 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=5aeff949af56bba9f3b84e21f041f138 2500w\",\n              children: _jsx(_components.p, {\n                children: \"Quickly build agents that can tackle any task.\"\n              })\n            }), _jsx(Card, {\n              title: \"LangChain (Python)\",\n              href: \"/oss/python/langchain/overview\",\n              icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=663b30f85baf99ad708b97e05da2a5a4\",\n              cta: \"Learn more\",\n              \"data-og-width\": \"195\",\n              width: \"195\",\n              \"data-og-height\": \"195\",\n              height: \"195\",\n              \"data-path\": \"images/brand/langchain-icon.png\",\n              \"data-optimize\": \"true\",\n              \"data-opv\": \"3\",\n              srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=4263baaca5af7cca9b66e6cf7e7275ec 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=d63278d5fca457dadbea87e913e302ac 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=881c154ca65d9f3416b4ba0f1391d7e3 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e120a2386912d276fe0327ef434b6e93 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e97bdaee5b71ca6a6ca1bcee10648318 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=0f0b77b1d205f42ece4b7b4e30cfd683 2500w\",\n              children: _jsx(_components.p, {\n                children: \"Customize the building blocks of your agents.\"\n              })\n            }), _jsx(Card, {\n              title: \"LangGraph (Python)\",\n              href: \"/oss/python/langgraph/overview\",\n              icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=b997e1a7487d507a36556eedbfd99f81\",\n              cta: \"Learn more\",\n              \"data-og-width\": \"195\",\n              width: \"195\",\n              \"data-og-height\": \"195\",\n              height: \"195\",\n              \"data-path\": \"images/brand/langgraph-icon.png\",\n              \"data-optimize\": \"true\",\n              \"data-opv\": \"3\",\n              srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=7ce50cb2f662a53f23ed06b1e51fb6eb 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=f8d76a16f7c96d71b4f7cb85cca1b28a 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=b9a4a0430d6f7e039a7cb9d0b709e418 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=21236dcfdcb2f400b1eb6e96618ba663 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=640d065bc416e63cc29bb9620c02cb59 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e36218bc21c11fc945e2f3dcf5b006fa 2500w\",\n              children: _jsx(_components.p, {\n                children: \"Control every step of your custom agent with low-level orchestration, memory, and human-in-the-loop support.\"\n              })\n            })]\n          })\n        }), _jsx(Tab, {\n          title: \"TypeScript\",\n          icon: \"brand-typescript\",\n          id: \"typescript\",\n          children: _jsxs(CardGroup, {\n            cols: 3,\n            children: [_jsx(Card, {\n              title: \"Deep Agents (TypeScript)\",\n              href: \"/oss/javascript/deepagents/overview\",\n              icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=1cc68f66a9e7550331cc0875f1ba53af\",\n              cta: \"Learn more\",\n              \"data-og-width\": \"195\",\n              width: \"195\",\n              \"data-og-height\": \"195\",\n              height: \"195\",\n              \"data-path\": \"images/brand/deep-agents-icon.png\",\n              \"data-optimize\": \"true\",\n              \"data-opv\": \"3\",\n              srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=ab80a5369665fbb7c0611cc9b5f9e546 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=b1ee7e02c85a8e7c7e969a25cd75d042 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=8830a5f9ec2cac597f179f90f3015e73 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=f51738a33a087523225d100c0ed34fce 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e2e4b9c414ac1245afd242060674f45f 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=5aeff949af56bba9f3b84e21f041f138 2500w\",\n              children: _jsx(_components.p, {\n                children: \"Quickly build agents that can tackle any task.\"\n              })\n            }), _jsx(Card, {\n              title: \"LangChain (TypeScript)\",\n              href: \"/oss/javascript/langchain/overview\",\n              icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=663b30f85baf99ad708b97e05da2a5a4\",\n              cta: \"Learn more\",\n              \"data-og-width\": \"195\",\n              width: \"195\",\n              \"data-og-height\": \"195\",\n              height: \"195\",\n              \"data-path\": \"images/brand/langchain-icon.png\",\n              \"data-optimize\": \"true\",\n              \"data-opv\": \"3\",\n              srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=4263baaca5af7cca9b66e6cf7e7275ec 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=d63278d5fca457dadbea87e913e302ac 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=881c154ca65d9f3416b4ba0f1391d7e3 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e120a2386912d276fe0327ef434b6e93 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e97bdaee5b71ca6a6ca1bcee10648318 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=0f0b77b1d205f42ece4b7b4e30cfd683 2500w\",\n              children: _jsx(_components.p, {\n                children: \"Customize the building blocks of your agents.\"\n              })\n            }), _jsx(Card, {\n              title: \"LangGraph (TypeScript)\",\n              href: \"/oss/javascript/langgraph/overview\",\n              icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=b997e1a7487d507a36556eedbfd99f81\",\n              cta: \"Learn more\",\n              \"data-og-width\": \"195\",\n              width: \"195\",\n              \"data-og-height\": \"195\",\n              height: \"195\",\n              \"data-path\": \"images/brand/langgraph-icon.png\",\n              \"data-optimize\": \"true\",\n              \"data-opv\": \"3\",\n              srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=7ce50cb2f662a53f23ed06b1e51fb6eb 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=f8d76a16f7c96d71b4f7cb85cca1b28a 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=b9a4a0430d6f7e039a7cb9d0b709e418 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=21236dcfdcb2f400b1eb6e96618ba663 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=640d065bc416e63cc29bb9620c02cb59 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e36218bc21c11fc945e2f3dcf5b006fa 2500w\",\n              children: _jsx(_components.p, {\n                children: \"Control every step of your custom agent with low-level orchestration, memory, and human-in-the-loop support.\"\n              })\n            })]\n          })\n        })]\n      }), _jsx(\"h2\", {\n        class: \"flex whitespace-pre-wrap group font-semibold\",\n        children: \"Get started\"\n      }), _jsxs(CardGroup, {\n        cols: 4,\n        children: [_jsx(Card, {\n          title: \"Build your first agent with LangChain\",\n          icon: \"settings\",\n          href: \"/oss/python/langchain/quickstart\",\n          cta: \"Get started\"\n        }), _jsx(Card, {\n          title: \"Sign up for LangSmith\",\n          icon: \"tools\",\n          href: \"https://smith.langchain.com?utm_source=docs\u0026utm_medium=cta\u0026utm_campaign=langsmith-signup\u0026utm_content=home-card\",\n          cta: \"Try LangSmith\"\n        }), _jsx(Card, {\n          title: \"Build an advanced agent with LangGraph\",\n          icon: \"robot\",\n          href: \"/oss/python/langgraph/quickstart\",\n          cta: \"Get started\"\n        }), _jsx(Card, {\n          title: \"Enroll in LangChain Academy\",\n          icon: \"school\",\n          href: \"https://academy.langchain.com/\",\n          cta: \"Get started\"\n        })]\n      }), _jsx(\"h2\", {\n        class: \"flex whitespace-pre-wrap group font-semibold\",\n        children: \"Additional resources\"\n      }), _jsxs(CardGroup, {\n        cols: 4,\n        children: [_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: \"Community Slack\",\n          icon: \"brand-slack\",\n          href: \"https://www.langchain.com/join-community\",\n          cta: \"Join\",\n          children: _jsx(_components.p, {\n            children: \"Connect with other builders and get quick help.\"\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: \"LangSmith status\",\n          icon: \"tools\",\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        })]\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,"5b:T6acd,"])</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    a: \"a\",\n    p: \"p\",\n    strong: \"strong\",\n    ..._provideComponents(),\n    ...props.components\n  }, {Callout, Card, CardGroup, Tab, Tabs} = _components;\n  if (!Callout) _missingMdxReference(\"Callout\", true);\n  if (!Card) _missingMdxReference(\"Card\", true);\n  if (!CardGroup) _missingMdxReference(\"CardGroup\", true);\n  if (!Tab) _missingMdxReference(\"Tab\", true);\n  if (!Tabs) _missingMdxReference(\"Tabs\", 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: \"Documentation\"\n      }), _jsx(_components.p, {\n        children: \"LangChain is the platform for agent engineering. AI teams at Clay, Rippling, Cloudflare, Workday, and more trust LangChain’s products to engineer reliable agents.\"\n      }), _jsx(\"h2\", {\n        class: \"flex whitespace-pre-wrap group font-semibold\",\n        children: \"LangSmith\"\n      }), _jsxs(_components.p, {\n        children: [_jsx(_components.a, {\n          href: \"/langsmith/home\",\n          children: _jsx(_components.strong, {\n            children: \"LangSmith\"\n          })\n        }), \" is a platform that helps AI teams use live production data for continuous testing and improvement. LangSmith provides:\"]\n      }), _jsxs(CardGroup, {\n        cols: 3,\n        children: [_jsx(Card, {\n          title: \"Observability\",\n          href: \"/langsmith/observability\",\n          icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=ccbc183bca2a5e4ca78d30149e3836cc\",\n          cta: \"Learn more\",\n          \"data-og-width\": \"200\",\n          width: \"200\",\n          \"data-og-height\": \"200\",\n          height: \"200\",\n          \"data-path\": \"images/brand/observability-icon-dark.png\",\n          \"data-optimize\": \"true\",\n          \"data-opv\": \"3\",\n          srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=56bb5d247bd33a2be771f2d0efbce128 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=47522f55ce7c28a7c15d507b46b850b9 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=8b875586d0ad9b545122a2bb2b851641 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=d543ebdbceba19fe3cb7f3ba105b88ca 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=1b2b18bb7e633ba0ccd19032ff4d871d 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/observability-icon-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=3b71434022d7729dfd8465eb70393f7d 2500w\",\n          children: _jsx(_components.p, {\n            children: \"See exactly how your agent thinks and acts with detailed tracing and aggregate trend metrics.\"\n          })\n        }), _jsx(Card, {\n          title: \"Engine\",\n          href: \"/langsmith/engine\",\n          icon: \"engine\",\n          cta: \"Learn more\",\n          children: _jsx(_components.p, {\n            children: \"Automatically detect and resolve recurring issues in your tracing projects.\"\n          })\n        }), _jsx(Card, {\n          title: \"Evaluation\",\n          href: \"/langsmith/evaluation\",\n          icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=4918f932fff73a33d6a24e2fcf68f6a4\",\n          cta: \"Learn more\",\n          \"data-og-width\": \"200\",\n          width: \"200\",\n          \"data-og-height\": \"200\",\n          height: \"200\",\n          \"data-path\": \"images/brand/evaluation-icon-dark.png\",\n          \"data-optimize\": \"true\",\n          \"data-opv\": \"3\",\n          srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=7dfee48620929bffab47560bfa8aa964 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=c4d4efc89cbb199b192962160816e25a 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=0f8b7eb7c789151dc726f7c80437f875 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=75cafaa44a90dbcde430b6df902ba6b0 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=feec4a2493ae4c1dc07eb1f296a2383c 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/evaluation-icon-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=6b9d8ba303d289b28a2af3df6ea840cd 2500w\",\n          children: _jsx(_components.p, {\n            children: \"Test and score agent behavior on production data or offline datasets to continuously improve performance.\"\n          })\n        }), _jsx(Card, {\n          title: \"Prompt Engineering\",\n          href: \"/langsmith/prompt-engineering\",\n          icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=eaa7ac978bebe5a7cd84d8eeaaef84c2\",\n          cta: \"Learn more\",\n          \"data-og-width\": \"200\",\n          width: \"200\",\n          \"data-og-height\": \"200\",\n          height: \"200\",\n          \"data-path\": \"images/brand/prompt-engineering-icon.png\",\n          \"data-optimize\": \"true\",\n          \"data-opv\": \"3\",\n          srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=35e07532488732f9f14bf8a192b85a54 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=799d208a250eaf9aaa1e00d72cfabb99 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=9ad345ee0c20624393981efaa075251d 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=af787959e7aab8f41d32821bcbcb1ef2 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=8798287cdc43c25498586c17e72a0506 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/prompt-engineering-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=3e2448ffea1c723c532046b339f30f54 2500w\",\n          children: _jsx(_components.p, {\n            children: \"Iterate on prompts with version control, prompt optimization, and collaboration features.\"\n          })\n        }), _jsx(Card, {\n          title: \"Deployment\",\n          href: \"/langsmith/deployment\",\n          icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=024e3712d388bfa55f4f160cc9d6a85b\",\n          cta: \"Learn more\",\n          \"data-og-width\": \"200\",\n          width: \"200\",\n          \"data-og-height\": \"200\",\n          height: \"200\",\n          \"data-path\": \"images/brand/deployment-icon-dark.png\",\n          \"data-optimize\": \"true\",\n          \"data-opv\": \"3\",\n          srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=d72da313a75de2ed3769e4e6594f91c5 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=292eb251107135290070a52dcfda5d8b 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=3a12277efbcf38c85b9790445370ba73 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=4764d19688497da1f54c3b028ef54b60 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=f5e717e53cf9541a1ee8b9979e16a7a1 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deployment-icon-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=df65861d68661c6b7e73b06262840185 2500w\",\n          children: _jsx(_components.p, {\n            children: \"Ship your agent in one click, using scalable infrastructure built for long-running tasks.\"\n          })\n        }), _jsx(Card, {\n          title: \"LLM Gateway (Private beta)\",\n          href: \"/langsmith/llm-gateway\",\n          icon: \"route\",\n          cta: \"Learn more\",\n          children: _jsx(_components.p, {\n            children: \"Proxy LLM calls to enforce spend limits, redact sensitive data, and centrally manage provider credentials.\"\n          })\n        })]\n      }), _jsx(Callout, {\n        icon: \"shield-lock\",\n        color: \"#4F46E5\",\n        iconType: \"regular\",\n        children: _jsxs(_components.p, {\n          children: [\"LangSmith meets the highest standards of data security and privacy with HIPAA, SOC 2 Type 2, and GDPR compliance. \", _jsx(_components.a, {\n            href: \"https://www.langchain.com/contact-sales\",\n            children: \"Meet with our team\"\n          }), \" to learn more or visit our \", _jsx(_components.a, {\n            href: \"https://trust.langchain.com/\",\n            children: \"Trust Center\"\n          }), \".\"]\n        })\n      }), _jsx(\"h2\", {\n        class: \"flex whitespace-pre-wrap group font-semibold\",\n        children: \"LangSmith Fleet\"\n      }), _jsx(Card, {\n        title: \"Fleet\",\n        href: \"/langsmith/fleet/index\",\n        icon: \"https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=98e3bbb4ae01325a8ff867e80681778f\",\n        cta: \"Learn more\",\n        \"data-og-width\": \"203\",\n        width: \"203\",\n        \"data-og-height\": \"203\",\n        height: \"203\",\n        \"data-path\": \"images/brand/fleet-icon-dark.png\",\n        \"data-optimize\": \"true\",\n        \"data-opv\": \"3\",\n        srcset: \"https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?w=280\u0026fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=4906c5f9a83fe9a658b2b9f10a3e1532 280w, https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?w=560\u0026fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=bd29cf9fe86e0041633078d1c5aaa2ac 560w, https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?w=840\u0026fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=263ee479185b0ea027e304bc833ece09 840w, https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?w=1100\u0026fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=e155f8b1199dc555e89d0a75f322bbd9 1100w, https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?w=1650\u0026fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=433b8dc8deb8bafb5ea3b40cc8054b2d 1650w, https://mintcdn.com/langchain-5e9cc07a/_jaNDz0QENsVkDXY/images/brand/fleet-icon-dark.png?w=2500\u0026fit=max\u0026auto=format\u0026n=_jaNDz0QENsVkDXY\u0026q=85\u0026s=454d8d08875faddf04759515aa447548 2500w\",\n        children: _jsx(_components.p, {\n          children: \"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.\"\n        })\n      }), _jsx(\"h2\", {\n        class: \"flex whitespace-pre-wrap group font-semibold\",\n        children: \"Open source agent frameworks\"\n      }), _jsxs(Tabs, {\n        children: [_jsx(Tab, {\n          title: \"Python\",\n          icon: \"brand-python\",\n          id: \"python\",\n          children: _jsxs(CardGroup, {\n            cols: 3,\n            children: [_jsx(Card, {\n              title: \"Deep Agents (Python)\",\n              href: \"/oss/python/deepagents/overview\",\n              icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=1cc68f66a9e7550331cc0875f1ba53af\",\n              cta: \"Learn more\",\n              \"data-og-width\": \"195\",\n              width: \"195\",\n              \"data-og-height\": \"195\",\n              height: \"195\",\n              \"data-path\": \"images/brand/deep-agents-icon.png\",\n              \"data-optimize\": \"true\",\n              \"data-opv\": \"3\",\n              srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=ab80a5369665fbb7c0611cc9b5f9e546 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=b1ee7e02c85a8e7c7e969a25cd75d042 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=8830a5f9ec2cac597f179f90f3015e73 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=f51738a33a087523225d100c0ed34fce 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e2e4b9c414ac1245afd242060674f45f 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=5aeff949af56bba9f3b84e21f041f138 2500w\",\n              children: _jsx(_components.p, {\n                children: \"Quickly build agents that can tackle any task.\"\n              })\n            }), _jsx(Card, {\n              title: \"LangChain (Python)\",\n              href: \"/oss/python/langchain/overview\",\n              icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=663b30f85baf99ad708b97e05da2a5a4\",\n              cta: \"Learn more\",\n              \"data-og-width\": \"195\",\n              width: \"195\",\n              \"data-og-height\": \"195\",\n              height: \"195\",\n              \"data-path\": \"images/brand/langchain-icon.png\",\n              \"data-optimize\": \"true\",\n              \"data-opv\": \"3\",\n              srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=4263baaca5af7cca9b66e6cf7e7275ec 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=d63278d5fca457dadbea87e913e302ac 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=881c154ca65d9f3416b4ba0f1391d7e3 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e120a2386912d276fe0327ef434b6e93 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e97bdaee5b71ca6a6ca1bcee10648318 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=0f0b77b1d205f42ece4b7b4e30cfd683 2500w\",\n              children: _jsx(_components.p, {\n                children: \"Customize the building blocks of your agents.\"\n              })\n            }), _jsx(Card, {\n              title: \"LangGraph (Python)\",\n              href: \"/oss/python/langgraph/overview\",\n              icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=b997e1a7487d507a36556eedbfd99f81\",\n              cta: \"Learn more\",\n              \"data-og-width\": \"195\",\n              width: \"195\",\n              \"data-og-height\": \"195\",\n              height: \"195\",\n              \"data-path\": \"images/brand/langgraph-icon.png\",\n              \"data-optimize\": \"true\",\n              \"data-opv\": \"3\",\n              srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=7ce50cb2f662a53f23ed06b1e51fb6eb 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=f8d76a16f7c96d71b4f7cb85cca1b28a 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=b9a4a0430d6f7e039a7cb9d0b709e418 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=21236dcfdcb2f400b1eb6e96618ba663 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=640d065bc416e63cc29bb9620c02cb59 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e36218bc21c11fc945e2f3dcf5b006fa 2500w\",\n              children: _jsx(_components.p, {\n                children: \"Control every step of your custom agent with low-level orchestration, memory, and human-in-the-loop support.\"\n              })\n            })]\n          })\n        }), _jsx(Tab, {\n          title: \"TypeScript\",\n          icon: \"brand-typescript\",\n          id: \"typescript\",\n          children: _jsxs(CardGroup, {\n            cols: 3,\n            children: [_jsx(Card, {\n              title: \"Deep Agents (TypeScript)\",\n              href: \"/oss/javascript/deepagents/overview\",\n              icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=1cc68f66a9e7550331cc0875f1ba53af\",\n              cta: \"Learn more\",\n              \"data-og-width\": \"195\",\n              width: \"195\",\n              \"data-og-height\": \"195\",\n              height: \"195\",\n              \"data-path\": \"images/brand/deep-agents-icon.png\",\n              \"data-optimize\": \"true\",\n              \"data-opv\": \"3\",\n              srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=ab80a5369665fbb7c0611cc9b5f9e546 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=b1ee7e02c85a8e7c7e969a25cd75d042 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=8830a5f9ec2cac597f179f90f3015e73 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=f51738a33a087523225d100c0ed34fce 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e2e4b9c414ac1245afd242060674f45f 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/deep-agents-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=5aeff949af56bba9f3b84e21f041f138 2500w\",\n              children: _jsx(_components.p, {\n                children: \"Quickly build agents that can tackle any task.\"\n              })\n            }), _jsx(Card, {\n              title: \"LangChain (TypeScript)\",\n              href: \"/oss/javascript/langchain/overview\",\n              icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=663b30f85baf99ad708b97e05da2a5a4\",\n              cta: \"Learn more\",\n              \"data-og-width\": \"195\",\n              width: \"195\",\n              \"data-og-height\": \"195\",\n              height: \"195\",\n              \"data-path\": \"images/brand/langchain-icon.png\",\n              \"data-optimize\": \"true\",\n              \"data-opv\": \"3\",\n              srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=4263baaca5af7cca9b66e6cf7e7275ec 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=d63278d5fca457dadbea87e913e302ac 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=881c154ca65d9f3416b4ba0f1391d7e3 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e120a2386912d276fe0327ef434b6e93 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e97bdaee5b71ca6a6ca1bcee10648318 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langchain-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=0f0b77b1d205f42ece4b7b4e30cfd683 2500w\",\n              children: _jsx(_components.p, {\n                children: \"Customize the building blocks of your agents.\"\n              })\n            }), _jsx(Card, {\n              title: \"LangGraph (TypeScript)\",\n              href: \"/oss/javascript/langgraph/overview\",\n              icon: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=b997e1a7487d507a36556eedbfd99f81\",\n              cta: \"Learn more\",\n              \"data-og-width\": \"195\",\n              width: \"195\",\n              \"data-og-height\": \"195\",\n              height: \"195\",\n              \"data-path\": \"images/brand/langgraph-icon.png\",\n              \"data-optimize\": \"true\",\n              \"data-opv\": \"3\",\n              srcset: \"https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=280\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=7ce50cb2f662a53f23ed06b1e51fb6eb 280w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=560\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=f8d76a16f7c96d71b4f7cb85cca1b28a 560w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=840\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=b9a4a0430d6f7e039a7cb9d0b709e418 840w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=1100\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=21236dcfdcb2f400b1eb6e96618ba663 1100w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=1650\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=640d065bc416e63cc29bb9620c02cb59 1650w, https://mintcdn.com/langchain-5e9cc07a/nQm-sjd_MByLhgeW/images/brand/langgraph-icon.png?w=2500\u0026fit=max\u0026auto=format\u0026n=nQm-sjd_MByLhgeW\u0026q=85\u0026s=e36218bc21c11fc945e2f3dcf5b006fa 2500w\",\n              children: _jsx(_components.p, {\n                children: \"Control every step of your custom agent with low-level orchestration, memory, and human-in-the-loop support.\"\n              })\n            })]\n          })\n        })]\n      }), _jsx(\"h2\", {\n        class: \"flex whitespace-pre-wrap group font-semibold\",\n        children: \"Get started\"\n      }), _jsxs(CardGroup, {\n        cols: 4,\n        children: [_jsx(Card, {\n          title: \"Build your first agent with LangChain\",\n          icon: \"settings\",\n          href: \"/oss/python/langchain/quickstart\",\n          cta: \"Get started\"\n        }), _jsx(Card, {\n          title: \"Sign up for LangSmith\",\n          icon: \"tools\",\n          href: \"https://smith.langchain.com?utm_source=docs\u0026utm_medium=cta\u0026utm_campaign=langsmith-signup\u0026utm_content=home-card\",\n          cta: \"Try LangSmith\"\n        }), _jsx(Card, {\n          title: \"Build an advanced agent with LangGraph\",\n          icon: \"robot\",\n          href: \"/oss/python/langgraph/quickstart\",\n          cta: \"Get started\"\n        }), _jsx(Card, {\n          title: \"Enroll in LangChain Academy\",\n          icon: \"school\",\n          href: \"https://academy.langchain.com/\",\n          cta: \"Get started\"\n        })]\n      }), _jsx(\"h2\", {\n        class: \"flex whitespace-pre-wrap group font-semibold\",\n        children: \"Additional resources\"\n      }), _jsxs(CardGroup, {\n        cols: 4,\n        children: [_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: \"Community Slack\",\n          icon: \"brand-slack\",\n          href: \"https://www.langchain.com/join-community\",\n          cta: \"Join\",\n          children: _jsx(_components.p, {\n            children: \"Connect with other builders and get quick help.\"\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: \"LangSmith status\",\n          icon: \"tools\",\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        })]\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,"54:[\"$\",\"$L58\",null,{\"slug\":\"/\",\"pageMetadata\":\"$1b:props:pageMetadata\",\"theme\":\"aspen\",\"children\":[\"$\",\"$L59\",null,{\"mdxSource\":{\"compiledSource\":\"$5a\",\"frontmatter\":{},\"scope\":{\"codeStyling\":{\"theme\":{\"light\":\"catppuccin-latte\",\"dark\":\"catppuccin-mocha\"}},\"config\":{},\"pageMetadata\":{\"sidebarTitle\":\"Home\",\"mode\":\"custom\",\"href\":\"/index\"}}},\"mdxSourceWithNoJs\":{\"compiledSource\":\"$5b\",\"frontmatter\":{},\"scope\":{\"codeStyling\":{\"theme\":{\"light\":\"catppuccin-latte\",\"dark\":\"catppuccin-mocha\"}},\"config\":{},\"pageMetadata\":{\"sidebarTitle\":\"Home\",\"mode\":\"custom\",\"href\":\"/index\"}}},\"displayDomain\":\"docs.langchain.com\"}]}]\n"])</script></body></html>