{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Phoenix","colors":{"primary":"#00769E","light":"#39C7FF","dark":"#009DD2"},"logo":{"light":"https://mintcdn.com/arizeai-433a7140/fitXeWll7ezQrIcg/docs/logo/light.png?fit=max\u0026auto=format\u0026n=fitXeWll7ezQrIcg\u0026q=85\u0026s=78e92baf10dd9eced114496ccb88dbf1","dark":"https://mintcdn.com/arizeai-433a7140/fitXeWll7ezQrIcg/docs/logo/dark.png?fit=max\u0026auto=format\u0026n=fitXeWll7ezQrIcg\u0026q=85\u0026s=ef36a0515f1c575affb91f81496ce2f3"},"favicon":"https://mintcdn.com/arizeai-433a7140/fitXeWll7ezQrIcg/docs/favicon.png?fit=max\u0026auto=format\u0026n=fitXeWll7ezQrIcg\u0026q=85\u0026s=7c6d0d7347821750d998c57c334ca376","background":{"color":{"light":"#FFFFFF","dark":"#08090A"}},"navbar":{"links":[]},"footer":{"socials":{"slack":"https://join.slack.com/t/arize-ai/shared_invite/zt-3r07iavnk-ammtATWSlF0pSrd1DsMW7g","x":"https://x.com/ArizePhoenix","bluesky":"https://bsky.app/profile/arize-phoenix.bsky.social","linkedin":"https://www.linkedin.com/showcase/113218220","github":"https://github.com/Arize-ai/phoenix"},"links":[{"items":[{"label":"Blog","href":"https://arize.com/blog?cat=phoenix"}]},{"items":[{"label":"English","href":"/docs/phoenix"},{"label":"日本語 (Japanese)","href":"/docs/phoenix/documentation/jp"},{"label":"中文 (Chinese)","href":"/docs/phoenix/documentation/zh"}]}]},"seo":{"metatags":{"canonical":"https://arize.com"},"indexing":"all"},"fonts":{"heading":{"family":"Geist","weight":600},"body":{"family":"Geist"}},"styling":{"codeblocks":{"theme":{"light":"github-light-default","dark":"github-dark-default"}},"latex":true},"integrations":{"gtm":{"tagId":"GTM-W96XM35"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"interaction":{"drilldown":false},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"arizeai-433a7140","hasAudioNarration":false,"actualSubdomain":"arizeai-433a7140","customDomains":[],"gitSource":{"type":"github","owner":"arize-ai","repo":"phoenix","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af5156ced91c03d4f140665","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"Integrations","count":211},{"language":"default","tag":"Documentation","count":177},{"language":"default","tag":"Release Notes","count":175},{"language":"default","tag":"SDK \u0026 API Reference","count":145},{"language":"default","tag":"Rest API","count":106},{"language":"default","tag":"API Reference","count":105},{"language":"default","tag":"LLM Providers","count":71},{"language":"default","tag":"Python","count":69},{"language":"default","tag":"Tracing","count":64},{"language":"default","tag":"Evaluation","count":61}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@arize.com"}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"docs/style.css","content":"@import url('https://fonts.googleapis.com/css2?family=Geist+Mono:wght@300;400;500;600\u0026display=swap');html:root{--font-family-mono-custom: 'Geist Mono'}html:root{--gray-50: 247 247 248;--gray-100: 241 242 243;--gray-200: 228 229 232;--gray-300: 201 203 208;--gray-400: 161 164 171;--gray-500: 124 128 136;--gray-600: 86 90 98;--gray-700: 61 64 70;--gray-800: 43 45 49;--gray-900: 21 22 22;--gray-950: 8 9 10}html:root{--px-radius-sm: 2px;--px-radius-md: 6px;--px-radius-lg: 8px;--px-accent-bg: #009DD2}html:not(.dark){--px-bg: #FFFFFF;--px-surface: #F7F7F8;--px-code-bg: #F1F2F3;--px-chip: #E9EAEC;--px-line: rgba(8, 9, 10, 0.18);--px-t1: #08090A;--px-t2: #2B2D31;--px-t3: #3D4046;--px-accent: #00769E;--px-accent-line: rgba(0, 157, 210, 0.55);--px-accent-soft: #E7F3FD;--px-on-accent: #08090A;--px-note: #E8F3EC;--px-note-line: rgba(30, 70, 50, 0.24);--px-note-t: #1B4230;--px-warn: #FBEEE0;--px-warn-line: rgba(90, 50, 0, 0.24);--px-warn-t: #54300A;--px-blue: #E7F3FD;--px-blue-line: rgba(0, 82, 125, 0.24);--px-blue-t: #00527D;--px-danger: #FFEBE9;--px-danger-line: rgba(207, 34, 46, 0.28);--px-danger-t: #A40E26}html.dark{--px-bg: #08090A;--px-surface: #151616;--px-code-bg: #050506;--px-chip: #1E2226;--px-line: rgba(194, 196, 234, 0.20);--px-t1: #FFFFFF;--px-t2: #D5D7DB;--px-t3: #A1A4AB;--px-accent: #39C7FF;--px-accent-line: rgba(57, 199, 255, 0.45);--px-accent-soft: #122F3B;--px-on-accent: #08090A;--px-note: #10241A;--px-note-line: rgba(159, 224, 188, 0.30);--px-note-t: #9FE0BC;--px-warn: #2A1B0A;--px-warn-line: rgba(255, 201, 138, 0.30);--px-warn-t: #FFC98A;--px-blue: #0A1A24;--px-blue-line: rgba(57, 195, 255, 0.30);--px-blue-t: #97D8FF;--px-danger: #2A0F12;--px-danger-line: rgba(255, 138, 148, 0.30);--px-danger-t: #FFB3B8}#content{line-height:1.75}#page-title,#content h1{font-size:clamp(2rem, 1.4rem + 2.1vw, 2.875rem);line-height:1.12;letter-spacing:-0.02em;font-weight:600}#content h2,#content h3,#content h4{letter-spacing:-0.01em;font-weight:600}#content code,#content kbd,#content samp{font-feature-settings:'tnum' 1}#content a:not(.card){color:var(--px-accent);text-decoration-thickness:1px;text-underline-offset:3px}:focus-visible{outline:2px solid var(--px-accent-line);outline-offset:2px}html.dark :focus-visible{outline-color:var(--px-accent-line)}::selection{background:var(--px-accent-soft)}#navbar{background:var(--px-bg);border-bottom:1px solid var(--px-line)}#navbar div:has(>.nav-tabs){position:relative}#navbar div:has(>.nav-tabs)::before{content:'';position:absolute;top:0;left:50%;width:100vw;margin-left:-50vw;border-top:1px solid var(--px-line);pointer-events:none}.nav-tabs-item[data-active]{box-shadow:inset 0 -2px 0 var(--px-accent)}#search-bar-entry{background:var(--px-surface);border:1px solid var(--px-line);border-radius:var(--px-radius-md)}#assistant-entry{background:var(--px-surface);border:1px solid var(--px-accent-line);border-radius:var(--px-radius-md)}#assistant-entry svg{color:var(--px-accent)}#page-context-menu{font-size:0.9375rem;align-items:stretch}.page-context-dropdown{font-size:0.9375rem;align-items:stretch}.product-selector{position:relative;display:inline-flex;align-items:stretch;flex:0 0 auto}.product-selector--desktop{margin-left:0.75rem;align-self:center}#page-context-menu-button{padding:10px 14px;border-radius:var(--px-radius-md) 0 0 var(--px-radius-md);background:var(--px-surface);border-color:var(--px-line)}.page-context-dropdown__label{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid var(--px-line);border-radius:var(--px-radius-md) 0 0 var(--px-radius-md);background:var(--px-surface);border-color:var(--px-line);color:var(--px-t1);font-family:inherit;font-weight:400;text-decoration:none}#page-context-menu-button>div{font-size:0.9375rem;gap:9px}#page-context-menu>button[aria-haspopup]{height:auto;align-self:stretch;aspect-ratio:auto;padding:10px 11px;border-radius:0 var(--px-radius-md) var(--px-radius-md) 0;background:var(--px-surface);border-color:var(--px-line)}.page-context-dropdown__chevron{display:inline-flex;align-items:center;height:auto;align-self:stretch;aspect-ratio:auto;padding:10px 11px;border:1px solid var(--px-line);border-left:0;border-radius:0 var(--px-radius-md) var(--px-radius-md) 0;background:var(--px-surface);color:var(--px-t3);cursor:pointer}.page-context-dropdown__chevron svg{display:block;width:1rem;height:1rem;transition:transform 150ms ease}.page-context-dropdown__chevron[aria-expanded=\"true\"] svg{transform:rotate(180deg)}.page-context-dropdown__menu{position:absolute;z-index:60;top:calc(100% + 0.55rem);left:0;min-width:12.5rem;padding:0.4rem;background:var(--px-bg);border:1px solid var(--px-line);border-radius:var(--px-radius-md);box-shadow:0 0.75rem 1.5rem rgb(8 9 10 / 0.18)}.page-context-dropdown__menu[hidden]{display:none}.page-context-dropdown__item{display:flex;align-items:center;justify-content:space-between;min-height:2.5rem;padding:0.55rem 0.65rem;color:var(--px-t1);border-radius:var(--px-radius-sm);text-decoration:none}.page-context-dropdown__item:hover,.page-context-dropdown__item:focus-visible{color:var(--px-accent);background:var(--px-accent-soft)}.page-context-dropdown__item[data-selected=\"true\"]{color:var(--px-accent);font-weight:500}.page-context-dropdown__item[data-selected=\"true\"]::after{content:'✓';margin-left:1.5rem}@media (max-width: 767px){#navbar .product-selector--desktop{display:none}#mobile-nav-content .product-selector--mobile{margin:0.5rem 0 1rem}#mobile-nav-content .page-context-dropdown__label{flex:1 1 auto}#mobile-nav-content .page-context-dropdown__menu{position:static;margin-top:0.4rem}}#sidebar-content li[data-active]>a{background:var(--px-accent-soft);color:var(--px-accent);border-radius:var(--px-radius-md);font-weight:500}.sidebar-group-header{font-weight:600;color:var(--px-t1)}ul.sidebar-group:has(>li[id=\"/docs/phoenix/get-started\"]),ul.sidebar-group:has(>li[id=\"/docs/phoenix/integrations/developer-tools/coding-agents\"]),ul.sidebar-group:has(>li[id=\"/docs/phoenix/pxi\"]){margin-top:1px}.toc-item[data-active],.toc-item[data-active] a{color:var(--px-accent);font-weight:400}.card.card{background:var(--px-surface);border-color:var(--px-line);border-radius:var(--px-radius-lg);box-shadow:none}.frame.frame{background:var(--px-surface);border:1px solid var(--px-line);border-radius:var(--px-radius-lg)}.accordion.accordion,.accordion-group.accordion-group{border-radius:var(--px-radius-md);border-color:var(--px-line)}.accordion.accordion{background:var(--px-surface)}.code-block.code-block,.code-group.code-group{background:var(--px-code-bg);border-color:var(--px-line);border-radius:var(--px-radius-md)}.code-block-background{background:var(--px-code-bg)!important}html.dark .code-block-background{background:var(--px-code-bg)!important}#content :not(pre)>code{background:var(--px-chip);border-radius:var(--px-radius-sm)}.code-block:has([data-floating-buttons]) [data-fade-overlay]{background-image:none}[data-floating-buttons] button{background:var(--px-chip)}.callout .code-block.code-block,.callout .code-group.code-group,.callout .code-block-background,html.dark .callout .code-block-background{background:var(--px-bg)!important}.callout{border-radius:var(--px-radius-lg)}.callout[data-callout-type=\"callout\"],.callout[data-callout-type=\"info\"]{background:var(--px-surface);border-color:var(--px-line)}.callout[data-callout-type=\"callout\"] [data-component-part=\"callout-content\"],.callout[data-callout-type=\"info\"] [data-component-part=\"callout-content\"]{color:var(--px-t2)!important}.callout[data-callout-type=\"tip\"],.callout[data-callout-type=\"check\"]{background:var(--px-note);border-color:var(--px-note-line)}.callout[data-callout-type=\"tip\"] [data-component-part=\"callout-content\"],.callout[data-callout-type=\"check\"] [data-component-part=\"callout-content\"]{color:var(--px-note-t)!important}.callout[data-callout-type=\"warning\"]{background:var(--px-warn);border-color:var(--px-warn-line)}.callout[data-callout-type=\"warning\"] [data-component-part=\"callout-content\"]{color:var(--px-warn-t)!important}.callout[data-callout-type=\"note\"]{background:var(--px-blue);border-color:var(--px-blue-line)}.callout[data-callout-type=\"note\"] [data-component-part=\"callout-content\"]{color:var(--px-blue-t)!important}.callout[data-callout-type=\"danger\"]{background:var(--px-danger);border-color:var(--px-danger-line)}.callout[data-callout-type=\"danger\"] [data-component-part=\"callout-content\"]{color:var(--px-danger-t)!important}[data-component-part=\"step-number\"]>div{background:var(--px-accent-soft);border:1px solid var(--px-accent-line);color:var(--px-accent);font-weight:500}.update.update-container{flex-direction:column;gap:0.5rem;border-top:1px solid var(--px-line)}.update.update-container:first-of-type{border-top:none}.update.update-container>div:first-child{width:100%;position:static}.update.update-container>div:last-child{width:100%;max-width:none}#content th{color:var(--px-t1);font-weight:600;border-bottom:1px solid var(--px-line)}#content td{border-bottom:1px solid var(--px-line)}footer{border-top:1px solid var(--px-line)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}table{display:table!important}.step-title{font-size:1.5rem!important}.dark .invert-on-dark{filter:invert(1)}.release-update-read-more{display:inline-block;margin-top:0.75rem;font-weight:500;color:var(--primary);text-decoration:none}"}],"page":{"pagePath":"docs/phoenix/release-notes/2026","slug":"/docs/phoenix/release-notes/2026","pageMetadata":{"title":"2026","sidebarTitle":"Overview","description":null,"href":"/docs/phoenix/release-notes/2026"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const{Card,CardGroup}={..._provideComponents(),...props.components};if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);return _jsxs(CardGroup,{children:[_jsx(Card,{href:`/docs/phoenix/release-notes/11-2026/11-02-2026-authentication-by-default-and-decision-annotations`,arrow:`true`,title:`11.02.2026`,icon:`calendar`,description:`Phoenix 21 turns on authentication for network listeners by default, annotations gain DECISION and AGENT annotator kinds, and Harbor runs show reference outputs`}),_jsx(Card,{href:`/docs/phoenix/release-notes/10-2026/10-27-2026-decision-model-evaluators-and-project-onboarding`,arrow:`true`,title:`10.27.2026`,icon:`calendar`,description:`Run TypeScript classification evaluators on AI SDK decision models, get a setup guide in empty projects, and read graded annotation score colors`}),_jsx(Card,{href:`/docs/phoenix/release-notes/10-2026/10-16-2026-claude-managed-agents-tracing-and-gemini-4-argon`,arrow:`true`,title:`10.16.2026`,icon:`calendar`,description:`Trace Claude Managed Agents sessions and Atomic Agents apps in Phoenix, and test Gemini 4 Argon and Meta Muse Wonder 1.0 in the playground`}),_jsx(Card,{href:`/docs/phoenix/release-notes/10-2026/10-13-2026-docker-sandboxes-and-mcp-graphql-tools`,arrow:`true`,title:`10.13.2026`,icon:`calendar`,description:`Run code evaluators in Docker's hosted sandbox environment, test Claude Haiku 5.5 in the playground, and let MCP clients inspect Phoenix data through GraphQL`}),_jsx(Card,{href:`/docs/phoenix/release-notes/10-2026/10-01-2026-trace-tree-evals-and-decision-spans`,arrow:`true`,title:`10.01.2026`,icon:`calendar`,description:`Scan failed evals directly in the trace tree, trace routers and classifiers as DECISION spans, and manage project annotation configs from the TypeScript client`}),_jsx(Card,{href:`/docs/phoenix/release-notes/09-2026/09-29-2026-editable-dataset-examples-and-trace-metrics`,arrow:`true`,title:`09.29.2026`,icon:`calendar`,description:`Edit dataset examples in the table and save them as one version, read latency, tokens, and cost on every trace tree row, and mount your own skills into MCP and PXI`}),_jsx(Card,{href:`/docs/phoenix/release-notes/09-2026/09-14-2026-coding-agent-plugins-and-error-analysis`,arrow:`true`,title:`09.14.2026`,icon:`calendar`,description:`Phoenix plugins for Claude Code, Codex, and Cursor; error analysis served from the /mcp endpoint; and a Completeness evaluator in both evals SDKs`}),_jsx(Card,{href:`/docs/phoenix/release-notes/09-2026/09-08-2026-harbor-plugin-for-agent-benchmarks`,arrow:`true`,title:`09.08.2026`,icon:`calendar`,description:`Record Harbor agent benchmark jobs as Phoenix datasets and experiments, with verifier rewards as evaluations and ATIF trajectories as linked traces`}),_jsx(Card,{href:`/docs/phoenix/release-notes/09-2026/09-08-2026-model-providers-trace-filters-and-pxi`,arrow:`true`,title:`09.08.2026`,icon:`calendar`,description:`Z.ai, MiniMax, and Meta as built-in providers; error and latency trace filters in both SDKs; PXI settings in linkable tabs with slash command suggestions`}),_jsx(Card,{href:`/docs/phoenix/release-notes/09-2026/09-01-2026-github-issues-pii-detection-and-client-updates`,arrow:`true`,title:`09.01.2026`,icon:`calendar`,description:`PXI files the GitHub issue for the bug it found, with duplicate search, approval on every write, and a token Phoenix never stores; a PII Detection evaluator that screens tool calls and retrieved content as well as the chat, in Python and TypeScript; prompt versions over REST; deletePrompt, transferTraces, setProjectRetentionPolicy, getCurrentUser, and session token counts in the TypeScript client; one approval per PXI browser script; and Claude Fable 5.1 in the playground (arize-phoenix 20.5.0; arize-phoenix-evals 3.6.0; @arizeai/phoenix-evals 2.4.0; @arizeai/phoenix-client 7.6.0–7.7.1)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/08-2026/08-25-2026-pxi-browser-actions-and-retrieval-relevance`,arrow:`true`,title:`08.25.2026`,icon:`calendar`,description:`Complete multi-step UI workflows with PXI, evaluate retrieval relevance across any source, build focused trace views faster, and manage retention and model providers through REST (arize-phoenix 20.4.0; arize-phoenix-evals 3.5.0–3.5.1; @arizeai/phoenix-evals 2.3.0)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/08-2026/08-17-2026-trace-filters-and-analytics-sql`,arrow:`true`,title:`08.17.2026`,icon:`calendar`,description:`A full expression language for the traces table — trace intrinsics, span rollups, root-span reach-through, and comprehensions over spans, annotations, and cost details, with children, parent_span, and siblings for topology; read-only analytics SQL over the built-in MCP server via describeSqlSchema and executeSql; annotation details on hover with inline filter chips; PXI approval decisions promoted onto TOOL spans as filterable attributes; and consistent dialog, tooltip, and menu behavior across the app (arize-phoenix 20.2.0–20.3.0)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/08-2026/08-12-2026-session-filters-rest-api-and-endpoint-config`,arrow:`true`,title:`08.12.2026`,icon:`calendar`,description:`A full expression language for the sessions table — session intrinsics, per-session aggregates, and comprehensions over spans, traces, annotations, and cost details — plus plain-English AI query; REST endpoints for dataset splits, experiment tags, and moving traces between projects; prompt description and metadata updates from both client SDKs; PHOENIX_ENDPOINT as the canonical API base URL across every SDK, the px CLI, and the MCP server; OAuth2 workload identity via a platform-minted client assertion; a trace_annotations keyword in the span filter DSL; a dedicated SQLite read pool and Unicode-correct case-insensitive matching; and a breaking change moving the Python client's Google prompt helpers to google-genai (arize-phoenix 19.18.0–20.1.0; arize-phoenix-client 3.0.0; @arizeai/phoenix-client 7.4.0; @arizeai/phoenix-otel 2.2.0; @arizeai/phoenix-cli 1.15.0)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/08-2026/08-11-2026-persistent-agent-sessions`,arrow:`true`,title:`08.11.2026`,icon:`calendar`,description:`Conversations with the Phoenix agent are persisted server-side and shared between the browser panel and the pxi terminal client — browse and restore past chats, rename them, mark one temporary, rewind or branch from any message, compact a long session into a checkpoint, and govern retention from Settings → Assistant (arize-phoenix 20.0.0; @arizeai/phoenix-cli 1.16.0; @arizeai/phoenix-client 7.5.0)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/08-2026/08-04-2026-chat-completions-proxy-ai-query-and-annotation-charts`,arrow:`true`,title:`08.04.2026`,icon:`calendar`,description:`An OpenAI-compatible /v1/chat/completions proxy that resolves provider credentials on the server; AI Query for the span, trace, and experiment run filter fields — describe a filter in plain English using on-device Browser AI or any Phoenix-known provider; a metric chart per annotation name with the three-chart selection cap lifted and charts deferred until scrolled into view; a conversation-grounded Hallucination evaluator (labels now grounded/hallucinated); span and trace annotations in span downloads, streamed to disk; and a pinned note bar in span details (arize-phoenix 19.11.0–19.17.0; @arizeai/phoenix-evals 2.2.0; @arizeai/phoenix-cli 1.14.0)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/07-2026/07-28-2026-experiment-charts-span-downloads-and-root-span-filters`,arrow:`true`,title:`07.28.2026`,icon:`calendar`,description:`Metric charts above the experiments table with drag-to-reorder and token sub-type breakdowns; span and trace downloads as OTLP JSON or JSONL; span-ID filtering across the REST API, TypeScript client, and px span list; a parent_span is None root-span predicate in the span filter DSL; span attributes, annotations, and notes as searchable tables; a Toxicity evaluator in both evals SDKs; the Monty local Python sandbox; Claude Opus 5 and new Gemini Flash models; and AI SDK v7 for the TypeScript client and evals packages (arize-phoenix 19.5.0–19.10.0; arize-phoenix-evals 3.3.0; @arizeai/phoenix-client 7.1.0; @arizeai/phoenix-evals 2.1.0; @arizeai/phoenix-otel 2.1.0; @arizeai/phoenix-cli 1.13.0)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/07-2026/07-22-2026-mcp-setup-provider-filter-and-evals`,arrow:`true`,title:`07.22.2026`,icon:`calendar`,description:`One-command MCP client setup with px setup mcp and a Settings MCP tab; playground model picker scoped to provisioned providers; a new User Friction evaluator in the Python and TypeScript evals SDKs; and AI SDK v7 tracing via @arizeai/phoenix-otel (arize-phoenix 19.1.0–19.4.0; arize-phoenix-evals 3.2.0; @arizeai/phoenix-evals 1.2.0; @arizeai/phoenix-otel 2.0.0)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/07-2026/07-17-2026-oauth2-authorization-server`,arrow:`true`,title:`07.17.2026`,icon:`calendar`,description:`Phoenix becomes its own OAuth2 authorization server: browser-based px CLI login (px auth login), a built-in Remote MCP server at /mcp (beta), REST CRUD for user and system API keys with dedicated settings tabs, and a breaking change removing API-key-authenticated GraphQL key issuance (arize-phoenix 19.0.0)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/07-2026/07-14-2026-command-palette-sessions-and-tables`,arrow:`true`,title:`07.14.2026`,icon:`calendar`,description:`Global search command palette (⌘K); customizable, drag-to-reorder table columns; session stats panel, turn dividers, and session annotation editing; .env.phoenix credential discovery and a unified PHOENIX_PROJECT variable; GPT 5.6 family in the Playground; breaking change — session time-range filters now match on interval overlap (arize-phoenix 17.21–18.0; arize-phoenix-client 2.13.0; @arizeai/phoenix-config 0.3.0)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/07-2026/07-07-2026-metric-charts-trace-search-and-rest-api`,arrow:`true`,title:`07.07.2026`,icon:`calendar`,description:`Metric charts pinned above the spans, traces, and sessions tables; trace tree search; dataset labels and annotation-config assignment over REST; project name filtering; baseline experiments; px annotation-config CLI; TypeScript classification-metric evaluators and logSpans; Claude Sonnet 5 in the Playground (arize-phoenix 17.15–17.20; arize-phoenix-client 2.12.0; @arizeai/phoenix-client 6.12.0; @arizeai/phoenix-evals 1.1.0)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/06-2026/06-30-2026-pxi-terminal-client-and-annotation-summary`,arrow:`true`,title:`06.30.2026`,icon:`calendar`,description:`Run PXI as an interactive terminal chat from the Phoenix CLI (npx @arizeai/phoenix-cli pxi, beta); review and bulk-delete annotations by name from project settings; copy trace IDs from experiment trace details (@arizeai/phoenix-cli 1.6.0; arize-phoenix 17.14.0)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/06-2026/06-26-2026-eval-ci-pytest-vitest-jest`,arrow:`true`,title:`06.26.2026`,icon:`calendar`,description:`Write LLM evals as pytest, Vitest, or Jest tests that record every run to Phoenix as a versioned experiment — familiar DX, full traces, metrics beyond pass/fail, and acceptance-criteria CI gates (arize-phoenix-client 2.10.0; @arizeai/phoenix-client 6.11.1 beta)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/06-2026/06-24-2026-annotations-labels-and-pxi-server-tools`,arrow:`true`,title:`06.24.2026`,icon:`calendar`,description:`Trace-level annotations in the trace header and project stats; label management and usage counts on the Prompts and Datasets lists; OAuth2 role-override preservation; a server-side bash tool for PXI subagents (17.9–17.11)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/06-2026/06-16-2026-time-range-metrics-and-sharing`,arrow:`true`,title:`06.16.2026`,icon:`calendar`,description:`Calendar time range picker with pan, zoom, and live streaming controls; shareable trace URLs; trace, session, and token detail metrics; opt-in PXI subagents (17.5–17.7)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/06-2026/06-11-2026-time-range-and-pxi-slash-commands`,arrow:`true`,title:`06.11.2026`,icon:`calendar`,description:`Searchable time range selector with free-form durations (25m, 2h, 3d); PXI slash commands and dataset evaluator editing`}),_jsx(Card,{href:`/docs/phoenix/release-notes/06-2026/06-10-2026-pxi-agent-update`,arrow:`true`,title:`06.10.2026`,icon:`calendar`,description:`PXI skills menu, parallel subagents, playground orchestration, evaluator authoring, and dataset management; Claude Fable 5 in the playground`}),_jsx(Card,{href:`/docs/phoenix/release-notes/06-2026/06-02-2026-pxi-agent`,arrow:`true`,title:`06.02.2026`,icon:`calendar`,description:`Introducing PXI (beta) — the AI engineering agent built into Phoenix that investigates traces, iterates on prompts, and runs experiments on your observability data`}),_jsx(Card,{href:`/docs/phoenix/release-notes/05-2026/05-27-2026-drag-to-zoom`,arrow:`true`,title:`05.27.2026`,icon:`calendar`,description:`Click-and-drag to zoom into a time window on project metric charts and the spans sparkline`}),_jsx(Card,{href:`/docs/phoenix/release-notes/05-2026/05-21-2026-code-evaluators`,arrow:`true`,title:`05.21.2026`,icon:`calendar`,description:`Code Evaluators — write Python or TypeScript evaluate() functions in the Phoenix UI and run them server-side in an isolated sandbox`}),_jsx(Card,{href:`/docs/phoenix/release-notes/05-2026/05-15-2026-otel-semconv-conversion`,arrow:`true`,title:`05.15.2026`,icon:`calendar`,description:`OTel GenAI semantic convention attributes auto-converted to OpenInference at ingest — full message I/O, tool calls, and token counts from OTel-native instrumentations`}),_jsx(Card,{href:`/docs/phoenix/release-notes/05-2026/05-15-2026-session-feedback-and-atif`,arrow:`true`,title:`05.15.2026`,icon:`calendar`,description:`Session turn feedback toolbar (thumbs up/down, annotate); ATIF v1.7 support with embedded subagents, trajectory_id, session_id, and deterministic dispatch steps`}),_jsx(Card,{href:`/docs/phoenix/release-notes/05-2026/05-13-2026-playground-thinking-controls`,arrow:`true`,title:`05.13.2026`,icon:`calendar`,description:`Playground thinking controls for Anthropic (adaptive/enabled, budget, effort) and Google (budget, level)`}),_jsx(Card,{href:`/docs/phoenix/release-notes/05-2026/05-13-2026-session-and-annotations`,arrow:`true`,title:`05.13.2026`,icon:`calendar`,description:`Expandable session turn messages; note identifier upsert on notes REST endpoints; new CLI annotation bulk-delete and project-get commands`}),_jsx(Card,{href:`/docs/phoenix/release-notes/05-2026/05-10-2026-playground-preferences`,arrow:`true`,title:`05.10.2026`,icon:`calendar`,description:`Save a default Playground provider and model; span metrics aside now always visible`}),_jsx(Card,{href:`/docs/phoenix/release-notes/05-2026/05-08-2026-otlp-project-header`,arrow:`true`,title:`05.08.2026`,icon:`calendar`,description:`Route OTLP traces to a named project via x-project-name HTTP header`}),_jsx(Card,{href:`/docs/phoenix/release-notes/05-2026/05-05-2026-provider-tools`,arrow:`true`,title:`05.05.2026`,icon:`calendar`,description:`Vendor-native tools (web search, code execution, computer use, grounding) in Playground and Prompts`}),_jsx(Card,{href:`/docs/phoenix/release-notes/05-2026/05-05-2026-rest-api-updates`,arrow:`true`,title:`05.05.2026`,icon:`calendar`,description:`Filter-based annotation DELETE; token counts in trace/session REST payloads; evals runtime model detection`}),_jsx(Card,{href:`/docs/phoenix/release-notes/05-2026/05-01-2026-tanstack-ai-tracing`,arrow:`true`,title:`05.01.2026`,icon:`calendar`,description:`OpenInference middleware for TanStack AI — AGENT, LLM, and TOOL spans for chat() calls`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-30-2026-cli-auth-profiles`,arrow:`true`,title:`04.30.2026`,icon:`calendar`,description:`px profile commands for named auth profiles; switch Phoenix instances without re-exporting env vars`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-30-2026-annotation-enhancements`,arrow:`true`,title:`04.30.2026`,icon:`calendar`,description:`CLI session annotations and notes; TypeScript trace annotations; query annotations by identifier`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-29-2026-dataset-upsert`,arrow:`true`,title:`04.29.2026`,icon:`calendar`,description:`Breaking change: create_dataset now upserts — merges examples into existing datasets instead of failing`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-28-2026-session-notes-api`,arrow:`true`,title:`04.28.2026`,icon:`calendar`,description:`Dedicated session notes REST API; reserve the note annotation name for session note endpoint`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-24-2026-trace-notes-api`,arrow:`true`,title:`04.24.2026`,icon:`calendar`,description:`Trace notes via REST, TypeScript client, and CLI; px trace add-note command`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-22-2026-secrets-ui-and-evaluator-trace-id`,arrow:`true`,title:`04.22.2026`,icon:`calendar`,description:`Secrets settings page in Phoenix UI; trace_id parameter in experiment evaluators`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-20-2026-span-attribute-filter-cli-notes-and-opus-4-7`,arrow:`true`,title:`04.20.2026`,icon:`calendar`,description:`Span attribute filtering (Python, TypeScript, REST, CLI); px span add-note; Claude Opus 4.7 in playground`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-16-2026-azure-managed-identity-postgres`,arrow:`true`,title:`04.16.2026`,icon:`calendar`,description:`Azure managed identity authentication for PostgreSQL; arize-phoenix[azure] extra`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-14-2026-cli-annotation-commands`,arrow:`true`,title:`04.14.2026`,icon:`calendar`,description:`CLI annotation commands: px span annotate, px trace annotate, --include-annotations flag`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-13-2026-phoenix-otel-ts-1-0`,arrow:`true`,title:`04.13.2026`,icon:`calendar`,description:`@arizeai/phoenix-otel 1.0 — tracing helpers, observe decorator, context setters, and OpenInference semantic conventions`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-10-2026-shareable-url-redirects`,arrow:`true`,title:`04.10.2026`,icon:`calendar`,description:`Shareable project URLs: /redirects/projects/{name} resolves to the project page by name`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-07-2026-postgresql-read-replica`,arrow:`true`,title:`04.07.2026`,icon:`calendar`,description:`PostgreSQL read replica routing; Phoenix v14 breaking changes`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-07-2026-phoenix-v14-breaking-changes`,arrow:`true`,title:`04.07.2026`,icon:`calendar`,description:`Breaking changes: CLI restructuring, px.Client() removal, /v1/evaluations removal, evals 1.0 removal`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-03-2026-atif-trajectory-upload`,arrow:`true`,title:`04.03.2026`,icon:`calendar`,description:`Upload ATIF agent trajectories as Phoenix traces`}),_jsx(Card,{href:`/docs/phoenix/release-notes/04-2026/04-01-2026-get-traces-secrets-api-and-python-314`,arrow:`true`,title:`04.01.2026`,icon:`calendar`,description:`get_traces SDK method; secrets management REST API; Python 3.14 support`}),_jsx(Card,{href:`/docs/phoenix/release-notes/03-2026/03-30-2026-delete-prompts-api`,arrow:`true`,title:`03.30.2026`,icon:`calendar`,description:`Delete prompts and prompt version tags via REST API`}),_jsx(Card,{href:`/docs/phoenix/release-notes/03-2026/03-24-2026-prompt-version-diff-and-evals-updates`,arrow:`true`,title:`03.24.2026`,icon:`calendar`,description:`Prompt version diff view; structured eval inputs; LLM kwargs for built-in evaluators`}),_jsx(Card,{href:`/docs/phoenix/release-notes/03-2026/03-22-2026-cli-and-user-api`,arrow:`true`,title:`03.22.2026`,icon:`calendar`,description:`px spans command, px self update, GET /v1/user endpoint, px auth status enrichment`}),_jsx(Card,{href:`/docs/phoenix/release-notes/03-2026/03-13-2026-rest-api-improvements`,arrow:`true`,title:`03.18.2026`,icon:`calendar`,description:`Span filters by name, kind, and status code; list traces by project`}),_jsx(Card,{href:`/docs/phoenix/release-notes/03-2026/03-11-2026-session-turns-api`,arrow:`true`,title:`03.11.2026`}),_jsx(Card,{href:`/docs/phoenix/release-notes/03-2026/03-08-2026-new-playground-providers-and-project-settings`,arrow:`true`,title:`03.08.2026`,icon:`calendar`,description:`New playground providers and editable project settings`}),_jsx(Card,{href:`/docs/phoenix/release-notes/03-2026/03-05-2026-sdk-session-retrieval`,arrow:`true`,title:`03.05.2026`,icon:`calendar`,description:`SDK session retrieval for Python and TypeScript`}),_jsx(Card,{href:`/docs/phoenix/release-notes/02-2026/02-27-2026-cli-sessions-and-rest-api`,arrow:`true`,title:`02.27.2026`,icon:`calendar`,description:`Sessions API and CLI support`}),_jsx(Card,{href:`/docs/phoenix/release-notes/02-2026/02-14-2026-phoenix-13-0`,arrow:`true`,title:`02.14.2026`,icon:`calendar`,description:`Phoenix 13.0`}),_jsx(Card,{href:`/docs/phoenix/release-notes/02-2026/02-12-2026-openai-responses-api-support`,arrow:`true`,title:`02.12.2026`,icon:`calendar`,description:`OpenAI Responses API type support`}),_jsx(Card,{href:`/docs/phoenix/release-notes/02-2026/02-12-2026-dataset-evaluators`,arrow:`true`,title:`02.12.2026`,icon:`calendar`,description:`Dataset evaluators`}),_jsx(Card,{href:`/docs/phoenix/release-notes/02-2026/02-11-2026-custom-providers`,arrow:`true`,title:`02.11.2026`,icon:`calendar`,description:`Release note entry`}),_jsx(Card,{href:`/docs/phoenix/release-notes/02-2026/02-10-2026-claude-opus-4-6-model-support`,arrow:`true`,title:`02.10.2026`,icon:`calendar`,description:`Release note entry`}),_jsx(Card,{href:`/docs/phoenix/release-notes/02-2026/02-01-2026-tool-selection-and-tool-invocation-evaluators`,arrow:`true`,title:`02.01.2026`,icon:`calendar`,description:`Release note entry`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light-default","dark":"github-dark-default"}},"config":{},"pageMetadata":{"title":"2026","sidebarTitle":"Overview","description":null,"href":"/docs/phoenix/release-notes/2026"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/arizeai-433a7140/ad8f81ded4a76bea/docs/analytics.js","/_mintlify/custom/arizeai-433a7140/f5010f618af65dc2/docs/product-selector.js"],"subdomain":"arizeai-433a7140","siteName":"Phoenix","title":"2026 - Phoenix","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T19:52:47.347Z","originalFileLocation":"docs/phoenix/release-notes/2026.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Phoenix\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/arizeai-433a7140/QaORPmVscwA-cjPG/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/arizeai-433a7140/QaORPmVscwA-cjPG/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/arizeai-433a7140/QaORPmVscwA-cjPG/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/arizeai-433a7140/QaORPmVscwA-cjPG/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/arizeai-433a7140/QaORPmVscwA-cjPG/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/arizeai-433a7140/QaORPmVscwA-cjPG/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/arizeai-433a7140/QaORPmVscwA-cjPG/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/arizeai-433a7140/QaORPmVscwA-cjPG/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/arizeai-433a7140/QaORPmVscwA-cjPG/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"2026 - Phoenix\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Phoenix\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://arize.com/docs/phoenix/release-notes/2026\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://arizeai-433a7140.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=2026\u0026amp;theme=150ae3cca034578e18963c56\u0026amp;signature=5e47d90e94def22c817344505f0e5847b1cec9822d2f5ae80bc3afd145d6fc1b\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"2026 - Phoenix\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://arizeai-433a7140.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=2026\u0026amp;theme=150ae3cca034578e18963c56\u0026amp;signature=5e47d90e94def22c817344505f0e5847b1cec9822d2f5ae80bc3afd145d6fc1b\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/arizeai-433a7140/QaORPmVscwA-cjPG/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Phoenix\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00769E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://arize.com/docs/phoenix/release-notes/2026\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/phoenix/release-notes/2026.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://arize.com/#organization\",\"name\":\"Phoenix\",\"url\":\"https://arize.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/arizeai-433a7140/fitXeWll7ezQrIcg/docs/logo/light.png?fit=max\u0026auto=format\u0026n=fitXeWll7ezQrIcg\u0026q=85\u0026s=78e92baf10dd9eced114496ccb88dbf1\"}},{\"@type\":\"WebSite\",\"@id\":\"https://arize.com#website\",\"name\":\"Phoenix\",\"url\":\"https://arize.com\",\"publisher\":{\"@id\":\"https://arize.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://arize.com/docs/phoenix/release-notes/2026#webpage\",\"url\":\"https://arize.com/docs/phoenix/release-notes/2026\",\"name\":\"2026\",\"dateModified\":\"2026-11-11T19:52:47.347Z\",\"isPartOf\":{\"@id\":\"https://arize.com#website\"}},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://arize.com/docs/phoenix/release-notes/2026#article\",\"headline\":\"2026\",\"name\":\"2026\",\"url\":\"https://arize.com/docs/phoenix/release-notes/2026\",\"mainEntityOfPage\":{\"@id\":\"https://arize.com/docs/phoenix/release-notes/2026#webpage\"},\"dateModified\":\"2026-11-11T19:52:47.347Z\",\"publisher\":{\"@id\":\"https://arize.com/#organization\"},\"isPartOf\":{\"@id\":\"https://arize.com#website\"}}]}\u003c/script>","agentPointerHref":"/docs/phoenix/release-notes/2026.md","siteName":"Phoenix","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Documentation","pages":[{"title":"What is Arize Phoenix?","sidebarTitle":"What is Phoenix?","href":"/docs/phoenix"},{"group":"Quickstart","root":{"title":"Start Phoenix","href":"/docs/phoenix/get-started"},"pages":[{"title":"Start Phoenix","href":"/docs/phoenix/get-started"},{"title":"Observe","href":"/docs/phoenix/get-started/get-started-tracing"},{"title":"Evaluate","href":"/docs/phoenix/get-started/get-started-evaluations"}]},{"group":"Coding Agents","root":{"title":"Connect Your Coding Agent","href":"/docs/phoenix/integrations/developer-tools/coding-agents"},"pages":[{"title":"Connect Your Coding Agent","href":"/docs/phoenix/integrations/developer-tools/coding-agents"},{"title":"Phoenix CLI","sidebarTitle":"CLI","href":"/docs/phoenix/integrations/developer-tools/cli"},{"title":"MCP Server","href":"/docs/phoenix/integrations/mcp"},{"title":"Skills","href":"/docs/phoenix/integrations/developer-tools/skills"}]},{"group":"PXI Agent","root":{"title":"PXI","sidebarTitle":"Get Started","href":"/docs/phoenix/pxi"},"tag":"BETA","pages":[{"title":"PXI","sidebarTitle":"Get Started","href":"/docs/phoenix/pxi"},{"title":"PXI Advanced","sidebarTitle":"Advanced","href":"/docs/phoenix/pxi-advanced"}]},{"group":"Tracing","pages":[{"group":"Tutorial","pages":[{"title":"Tracing Tutorial","href":"/docs/phoenix/tracing/tutorial"},{"title":"Your First Traces","href":"/docs/phoenix/tracing/tutorial/your-first-traces"},{"title":"Annotations and Evaluation","href":"/docs/phoenix/tracing/tutorial/annotations-and-evaluations"},{"title":"Sessions","href":"/docs/phoenix/tracing/tutorial/sessions"}]},{"group":"Overview: Tracing","pages":[{"title":"Overview: Tracing","sidebarTitle":"Overview","href":"/docs/phoenix/tracing/llm-traces"},{"title":"Projects","href":"/docs/phoenix/tracing/llm-traces/projects"},{"title":"Sessions","href":"/docs/phoenix/tracing/llm-traces/sessions"},{"title":"Annotations","href":"/docs/phoenix/tracing/llm-traces/how-to-annotate-traces"},{"title":"Metrics Dashboard","href":"/docs/phoenix/tracing/llm-traces/metrics"}]},{"group":"How-to: Tracing","pages":[{"title":"How to: Tracing","sidebarTitle":"Overview","href":"/docs/phoenix/tracing/how-to-tracing"},{"group":"Setup Tracing","pages":[{"title":"Setup Tracing","sidebarTitle":"Overview","href":"/docs/phoenix/tracing/how-to-tracing/setup-tracing"},{"title":"Setup OTEL","href":"/docs/phoenix/tracing/how-to-tracing/setup-tracing/setup-using-phoenix-otel"},{"title":"Using Tracing Helpers","href":"/docs/phoenix/tracing/how-to-tracing/setup-tracing/instrument"},{"title":"Setup Projects","href":"/docs/phoenix/tracing/how-to-tracing/setup-tracing/setup-projects"},{"title":"Setup Sessions","href":"/docs/phoenix/tracing/how-to-tracing/setup-tracing/setup-sessions"}]},{"group":"Add Metadata","pages":[{"title":"Add metadata","sidebarTitle":"Overview","href":"/docs/phoenix/tracing/how-to-tracing/add-metadata"},{"title":"Add Attributes, Metadata, Users","href":"/docs/phoenix/tracing/how-to-tracing/add-metadata/customize-spans"},{"title":"Instrument Prompt Templates and Prompt Variables","href":"/docs/phoenix/tracing/how-to-tracing/add-metadata/instrumenting-prompt-templates-and-prompt-variables"}]},{"group":"Annotate Traces","pages":[{"title":"Annotate Traces","sidebarTitle":"Overview","href":"/docs/phoenix/tracing/how-to-tracing/feedback-and-annotations"},{"title":"Annotating in the UI","href":"/docs/phoenix/tracing/how-to-tracing/feedback-and-annotations/annotating-in-the-ui"},{"title":"Annotating via the Client","href":"/docs/phoenix/tracing/how-to-tracing/feedback-and-annotations/capture-feedback"},{"title":"Annotating Auto-Instrumented Spans","href":"/docs/phoenix/tracing/how-to-tracing/feedback-and-annotations/annotating-auto-instrumented-spans"},{"title":"Running Evals on Traces","href":"/docs/phoenix/tracing/how-to-tracing/feedback-and-annotations/evaluating-phoenix-traces"},{"title":"Log Evaluation Results","href":"/docs/phoenix/tracing/how-to-tracing/feedback-and-annotations/llm-evaluations"}]},{"group":"Importing \u0026 Exporting Traces","pages":[{"title":"Importing \u0026 exporting traces","sidebarTitle":"Overview","href":"/docs/phoenix/tracing/how-to-tracing/importing-and-exporting-traces"},{"title":"Import Existing Traces","href":"/docs/phoenix/tracing/how-to-tracing/importing-and-exporting-traces/importing-existing-traces"},{"title":"Import ATIF trajectories","href":"/docs/phoenix/tracing/how-to-tracing/importing-and-exporting-traces/importing-atif-trajectories"},{"title":"Export Data \u0026 Query Spans","href":"/docs/phoenix/tracing/how-to-tracing/importing-and-exporting-traces/extract-data-from-spans"},{"title":"Exporting Annotated Spans","href":"/docs/phoenix/tracing/how-to-tracing/importing-and-exporting-traces/exporting-annotated-spans"},{"title":"Retrieve Traces via CLI","href":"/docs/phoenix/tracing/how-to-tracing/importing-and-exporting-traces/retrieve-traces-via-cli"}]},{"title":"Cost Tracking","href":"/docs/phoenix/tracing/how-to-tracing/cost-tracking"},{"title":"Filter Expressions","href":"/docs/phoenix/tracing/how-to-tracing/filter-expressions"},{"group":"Advanced","pages":[{"title":"Advanced","sidebarTitle":"Overview","href":"/docs/phoenix/tracing/how-to-tracing/advanced"},{"title":"Mask Span Attributes","href":"/docs/phoenix/tracing/how-to-tracing/advanced/masking-span-attributes"},{"title":"Suppress Tracing","href":"/docs/phoenix/tracing/how-to-tracing/advanced/suppress-tracing"},{"title":"Filter Spans to Export","href":"/docs/phoenix/tracing/how-to-tracing/advanced/modifying-spans"},{"title":"Capture Multimodal Traces","href":"/docs/phoenix/tracing/how-to-tracing/advanced/multimodal-tracing"}]}]}]},{"group":"Evaluation","pages":[{"group":"Tutorial","pages":[{"title":"Run Evals With Built-In Eval Templates","href":"/docs/phoenix/evaluation/tutorials/run-evals-with-built-in-evals"},{"title":"Customize Your LLM Endpoint","href":"/docs/phoenix/evaluation/tutorials/customize-your-llm-endpoint"},{"title":"Customize Your Evaluation Template","href":"/docs/phoenix/evaluation/tutorials/customize-eval-template"}]},{"title":"Evaluation","sidebarTitle":"Overview","href":"/docs/phoenix/evaluation/llm-evals"},{"title":"LLM as a Judge","href":"/docs/phoenix/evaluation/concepts-evals/llm-as-a-judge"},{"title":"Decision Models as a Judge","href":"/docs/phoenix/evaluation/concepts-evals/decision-models-as-a-judge"},{"group":"Client-Side Evals (SDK)","pages":[{"title":"Client-Side Evals (SDK)","sidebarTitle":"Overview","href":"/docs/phoenix/evaluation/how-to-evals"},{"group":"LLM Evaluators","pages":[{"title":"Custom LLM Evaluators","href":"/docs/phoenix/evaluation/how-to-evals/custom-llm-evaluators"},{"title":"Configuring the LLM","sidebarTitle":"Configuring the LLM","href":"/docs/phoenix/evaluation/how-to-evals/configuring-the-llm"},{"title":"Configuring the Decision Model","sidebarTitle":"Configuring the Decision Model","href":"/docs/phoenix/evaluation/how-to-evals/configuring-the-decision-model"},{"title":"Eval Prompt Templates","sidebarTitle":"Prompt Templates","href":"/docs/phoenix/evaluation/how-to-evals/prompt-formats"}]},{"title":"Code Evaluators","href":"/docs/phoenix/evaluation/how-to-evals/code-evaluators"},{"title":"Code Evaluator Output Shapes","href":"/docs/phoenix/evaluation/how-to-evals/code-evaluator-output-shapes"},{"title":"Batch Evaluations","href":"/docs/phoenix/evaluation/how-to-evals/batch-evaluations"},{"title":"Using Evals with Phoenix","href":"/docs/phoenix/evaluation/how-to-evals/using-evals-with-phoenix"},{"group":"Pre-Built Metrics","pages":[{"title":"SDK Eval Metrics","sidebarTitle":"Overview","href":"/docs/phoenix/evaluation/pre-built-metrics"},{"title":"Faithfulness","href":"/docs/phoenix/evaluation/pre-built-metrics/faithfulness"},{"title":"Hallucination","href":"/docs/phoenix/evaluation/pre-built-metrics/hallucination"},{"title":"Completeness","href":"/docs/phoenix/evaluation/pre-built-metrics/completeness"},{"title":"Conciseness","href":"/docs/phoenix/evaluation/pre-built-metrics/conciseness"},{"title":"Correctness","href":"/docs/phoenix/evaluation/pre-built-metrics/correctness"},{"title":"Retrieval Relevance","href":"/docs/phoenix/evaluation/pre-built-metrics/retrieval-relevance"},{"title":"Tool Selection","href":"/docs/phoenix/evaluation/pre-built-metrics/tool-selection"},{"title":"Tool Invocation","href":"/docs/phoenix/evaluation/pre-built-metrics/tool-invocation"},{"title":"Tool Response Handling","href":"/docs/phoenix/evaluation/pre-built-metrics/tool-response-handling"},{"title":"Refusal","href":"/docs/phoenix/evaluation/pre-built-metrics/refusal"},{"title":"Toxicity","href":"/docs/phoenix/evaluation/pre-built-metrics/toxicity"},{"title":"User Friction","href":"/docs/phoenix/evaluation/pre-built-metrics/user-friction"},{"title":"PII Detection","href":"/docs/phoenix/evaluation/pre-built-metrics/pii-detection"},{"title":"Exact Match","href":"/docs/phoenix/evaluation/pre-built-metrics/exact-match"},{"title":"Matches Regex","href":"/docs/phoenix/evaluation/pre-built-metrics/matches-regex"},{"title":"Precision / Recall / F-Score","href":"/docs/phoenix/evaluation/pre-built-metrics/precision-recall-fscore"}]}]},{"group":"Server-Side Evals (UI)","pages":[{"title":"Server Evals","sidebarTitle":"Overview","href":"/docs/phoenix/evaluation/server-evals/overview"},{"title":"LLM Evaluators","href":"/docs/phoenix/evaluation/server-evals/llm-evaluators"},{"group":"Code Evaluators","pages":[{"title":"Code Evaluators","href":"/docs/phoenix/evaluation/server-evals/code-evaluators"},{"group":"Examples","pages":[{"title":"JSON Distance","sidebarTitle":"JSON Distance","href":"/docs/phoenix/evaluation/server-evals/code-evaluators/json-distance"},{"title":"Regex Match","sidebarTitle":"Regex Match","href":"/docs/phoenix/evaluation/server-evals/code-evaluators/regex-match"},{"title":"Embedding Distance","sidebarTitle":"Embedding Distance","href":"/docs/phoenix/evaluation/server-evals/code-evaluators/embedding-distance"},{"title":"scikit-learn Text Similarity","sidebarTitle":"scikit-learn","href":"/docs/phoenix/evaluation/server-evals/code-evaluators/scikit-learn"},{"title":"Pairwise Evaluator","sidebarTitle":"Pairwise Evaluator","href":"/docs/phoenix/evaluation/server-evals/code-evaluators/pairwise"},{"title":"Composite Evaluator","sidebarTitle":"Composite Evaluator","href":"/docs/phoenix/evaluation/server-evals/code-evaluators/composite"},{"title":"LLM Jury","sidebarTitle":"LLM Jury","href":"/docs/phoenix/evaluation/server-evals/code-evaluators/llm-jury"}]}]},{"title":"Input Mapping","href":"/docs/phoenix/evaluation/server-evals/input-mapping"},{"group":"Pre-Built Metrics","pages":[{"title":"Pre-Built Metrics","sidebarTitle":"Overview","href":"/docs/phoenix/evaluation/server-evals/pre-built-metrics"},{"group":"Pre-built Code Evaluators","pages":[{"title":"Contains","href":"/docs/phoenix/evaluation/server-evals/pre-built-metrics/contains"},{"title":"Exact Match","href":"/docs/phoenix/evaluation/server-evals/pre-built-metrics/exact-match"},{"title":"Regex Match","href":"/docs/phoenix/evaluation/server-evals/pre-built-metrics/regex"},{"title":"Levenshtein Distance","href":"/docs/phoenix/evaluation/server-evals/pre-built-metrics/levenshtein-distance"},{"title":"JSON Distance","href":"/docs/phoenix/evaluation/server-evals/pre-built-metrics/json-distance"}]},{"group":"LLM Evaluators","pages":[{"title":"Correctness","href":"/docs/phoenix/evaluation/server-evals/pre-built-metrics/correctness"},{"title":"Tool Selection","href":"/docs/phoenix/evaluation/server-evals/pre-built-metrics/tool-selection"},{"title":"Tool Invocation","href":"/docs/phoenix/evaluation/server-evals/pre-built-metrics/tool-invocation"}]}]}]},{"group":"Integrations","pages":[{"title":"Harbor","href":"/docs/phoenix/integrations/evaluation-integrations/harbor"},{"title":"pytest","href":"/docs/phoenix/evaluation/integrations/pytest"},{"title":"Vitest / Jest","href":"/docs/phoenix/evaluation/integrations/vitest-jest"}]}]},{"group":"Datasets \u0026 Experiments","pages":[{"group":"Tutorial","pages":[{"title":"Defining the Dataset That Powers Your Experiments","href":"/docs/phoenix/datasets-and-experiments/tutorial/defining-the-dataset"},{"title":"Run Experiments with Code Evals","href":"/docs/phoenix/datasets-and-experiments/tutorial/run-experiments-with-code-evals"},{"title":"Run Experiments with LLM as a Judge","href":"/docs/phoenix/datasets-and-experiments/tutorial/run-experiments-with-llm-judge"},{"title":"Iterating with Experiments in Your Workflow","href":"/docs/phoenix/datasets-and-experiments/tutorial/iteration-workflow-experiments"}]},{"title":"Overview: Datasets \u0026 Experiments","href":"/docs/phoenix/datasets-and-experiments/overview-datasets"},{"group":"How-to: Datasets","pages":[{"title":"How to: Datasets","sidebarTitle":"Overview","href":"/docs/phoenix/datasets-and-experiments/how-to-datasets"},{"title":"Creating Datasets","href":"/docs/phoenix/datasets-and-experiments/how-to-datasets/creating-datasets"},{"title":"Updating Datasets","href":"/docs/phoenix/datasets-and-experiments/how-to-datasets/updating-datasets"},{"title":"Exporting Datasets","href":"/docs/phoenix/datasets-and-experiments/how-to-datasets/exporting-datasets"},{"title":"Linking Examples to Their Source Span (REST)","href":"/docs/phoenix/datasets-and-experiments/how-to-datasets/linking-examples-to-spans"}]},{"group":"How-to: Experiments","pages":[{"title":"How to: Experiments","sidebarTitle":"Overview","href":"/docs/phoenix/datasets-and-experiments/how-to-experiments"},{"title":"Run Experiments","href":"/docs/phoenix/datasets-and-experiments/how-to-experiments/running-experiments"},{"title":"Evaluate a Prompt Change in Code","href":"/docs/phoenix/datasets-and-experiments/how-to-experiments/evaluate-a-prompt-change"},{"title":"Run Experiments in the Background","href":"/docs/phoenix/datasets-and-experiments/how-to-experiments/running-experiments-in-background"},{"title":"Using Evaluators","href":"/docs/phoenix/datasets-and-experiments/how-to-experiments/using-evaluators"},{"title":"Dataset Evaluators","href":"/docs/phoenix/datasets-and-experiments/how-to-experiments/how-to-dataset-evaluators"},{"title":"Repetitions","href":"/docs/phoenix/datasets-and-experiments/how-to-experiments/repetitions"},{"title":"Splits","href":"/docs/phoenix/datasets-and-experiments/how-to-experiments/splits"},{"title":"Eval CI with pytest","href":"/docs/phoenix/datasets-and-experiments/how-to-experiments/eval-ci-with-pytest"}]}]},{"group":"Prompts","pages":[{"group":"Tutorial","pages":[{"title":"Tutorial","sidebarTitle":"Overview","href":"/docs/phoenix/prompt-engineering/tutorial"},{"title":"Identify \u0026 Edit Prompts","href":"/docs/phoenix/prompt-engineering/tutorial/identify-and-edit-prompts"},{"title":"Test Prompts at Scale","href":"/docs/phoenix/prompt-engineering/tutorial/test-prompts-at-scale"},{"title":"Compare Prompt Versions","href":"/docs/phoenix/prompt-engineering/tutorial/compare-prompt-versions"},{"title":"Optimize Prompts Automatically","href":"/docs/phoenix/prompt-engineering/tutorial/optimize-prompts-automatically"}]},{"group":"Overview: Prompts","pages":[{"title":"Overview: Prompts","sidebarTitle":"Overview","href":"/docs/phoenix/prompt-engineering/overview-prompts"},{"title":"Prompt Management","href":"/docs/phoenix/prompt-engineering/overview-prompts/prompt-management"},{"title":"Prompt Playground","href":"/docs/phoenix/prompt-engineering/overview-prompts/prompt-playground"},{"title":"Span Replay","href":"/docs/phoenix/prompt-engineering/overview-prompts/span-replay"},{"title":"Prompts in Code","href":"/docs/phoenix/prompt-engineering/overview-prompts/prompts-in-code"}]},{"group":"How to: Prompts","pages":[{"title":"How to: Prompts","sidebarTitle":"Overview","href":"/docs/phoenix/prompt-engineering/how-to-prompts"},{"title":"Configure AI Providers","href":"/docs/phoenix/prompt-engineering/how-to-prompts/configure-ai-providers"},{"title":"Using the Playground","href":"/docs/phoenix/prompt-engineering/how-to-prompts/using-the-playground"},{"title":"Create a prompt","href":"/docs/phoenix/prompt-engineering/how-to-prompts/create-a-prompt"},{"title":"Test a prompt","href":"/docs/phoenix/prompt-engineering/how-to-prompts/test-a-prompt"},{"title":"Tag a prompt","href":"/docs/phoenix/prompt-engineering/how-to-prompts/tag-a-prompt"},{"title":"Using a prompt","href":"/docs/phoenix/prompt-engineering/how-to-prompts/using-a-prompt"},{"title":"Use provider tools","href":"/docs/phoenix/prompt-engineering/how-to-prompts/use-provider-tools"}]}]},{"group":"Settings","pages":[{"title":"Access Control (RBAC)","href":"/docs/phoenix/settings/access-control-rbac"},{"title":"API Keys","href":"/docs/phoenix/settings/api-keys"},{"title":"Secrets","href":"/docs/phoenix/settings/secrets"},{"title":"Data Retention","href":"/docs/phoenix/settings/data-retention"},{"title":"Custom AI Providers","href":"/docs/phoenix/settings/custom-ai-providers"},{"group":"Sandboxes","pages":[{"title":"Sandboxes","href":"/docs/phoenix/settings/sandboxes"},{"title":"WebAssembly","href":"/docs/phoenix/settings/sandboxes/wasm"},{"title":"Deno","href":"/docs/phoenix/settings/sandboxes/deno"},{"title":"E2B","href":"/docs/phoenix/settings/sandboxes/e2b"},{"title":"Daytona","href":"/docs/phoenix/settings/sandboxes/daytona"},{"title":"Vercel Sandbox","href":"/docs/phoenix/settings/sandboxes/vercel"},{"title":"Modal","href":"/docs/phoenix/settings/sandboxes/modal"}]}]},{"group":"Concepts","pages":[{"title":"Production Guide","href":"/docs/phoenix/production-guide"},{"group":"Tracing","pages":[{"title":"What are Traces","href":"/docs/phoenix/tracing/concepts-tracing/what-are-traces"},{"title":"How Tracing Works","href":"/docs/phoenix/tracing/concepts-tracing/how-tracing-works"},{"title":"Annotations Concepts","href":"/docs/phoenix/tracing/concepts-tracing/annotations-concepts"},{"title":"Translating Semantic Conventions","href":"/docs/phoenix/tracing/concepts-tracing/translating-conventions"},{"group":"OpenTelemetry and OpenInference","pages":[{"title":"OpenTelemetry and OpenInference","sidebarTitle":"Overview","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/overview"},{"title":"Signals, Spans, Traces, and Sessions","sidebarTitle":"Signals, spans, traces, and sessions","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/signals"},{"title":"Resource","sidebarTitle":"Resource","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/resource"},{"title":"Exporter and OTLP","sidebarTitle":"Exporter and OTLP","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/exporter"},{"title":"Span Processor","sidebarTitle":"Span processor","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/span-processor"},{"title":"Tracer Provider and Tracer","sidebarTitle":"Tracer provider and tracer","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/tracer-provider"},{"title":"The phoenix.otel Helpers","sidebarTitle":"phoenix.otel helpers","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/phoenix-otel-helpers"},{"title":"OpenInference Semantic Conventions","sidebarTitle":"Semantic conventions","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/semantic-conventions"},{"title":"OpenInference Span Kinds","sidebarTitle":"Span kinds","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/span-kinds"},{"title":"Instrumentation Approaches","sidebarTitle":"Instrumentation approaches","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/instrumentation-approaches"},{"title":"OpenInference Context Managers","sidebarTitle":"Context managers","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/context-managers"},{"title":"Context Propagation","sidebarTitle":"Context propagation","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/context-propagation"},{"title":"Sampling","sidebarTitle":"Sampling","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/sampling"},{"title":"OpenTelemetry Collector","sidebarTitle":"OpenTelemetry Collector","href":"/docs/phoenix/tracing/concepts-tracing/otel-openinference/otel-collector"}]},{"title":"FAQs: Tracing","href":"/docs/phoenix/tracing/concepts-tracing/faqs-tracing"}]},{"group":"Prompts","pages":[{"title":"Prompts Concepts","href":"/docs/phoenix/prompt-engineering/concepts-prompts/prompts-concepts"},{"title":"Context Engineering Basics","href":"/docs/phoenix/prompt-engineering/concepts-prompts/context-engineering-basics"}]},{"group":"Datasets \u0026 Experiments","pages":[{"title":"Concepts: Datasets","href":"/docs/phoenix/datasets-and-experiments/concepts-datasets"}]}]},{"group":"Resources","pages":[{"group":"Frequently Asked Questions","pages":[{"title":"Frequently Asked Questions","sidebarTitle":"Overview","href":"/docs/phoenix/resources/frequently-asked-questions"},{"title":"Braintrust Open Source Alternative? LLM Evaluation Platform Comparison","href":"/docs/phoenix/resources/frequently-asked-questions/braintrust-open-source-alternative-llm-evaluation-platform-comparison"},{"title":"Langfuse alternative? Arize Phoenix vs Langfuse: Key differences","href":"/docs/phoenix/resources/frequently-asked-questions/langfuse-alternative-arize-phoenix-vs-langfuse-key-differences"},{"title":"Open Source LangSmith Alternative: Arize Phoenix vs. LangSmith","href":"/docs/phoenix/resources/frequently-asked-questions/open-source-langsmith-alternative-arize-phoenix-vs.-langsmith"}]},{"group":"Arize AX","root":{"title":"Arize Phoenix or Arize AX","href":"/docs/phoenix/resources/frequently-asked-questions/what-is-the-difference-between-phoenix-and-arize"},"pages":[{"title":"Arize Phoenix or Arize AX","href":"/docs/phoenix/resources/frequently-asked-questions/what-is-the-difference-between-phoenix-and-arize"},{"title":"Migrating to Arize AX","href":"/docs/phoenix/resources/phoenix-to-arize-ax-migration"}]},{"title":"TypeScript SDK","url":"/docs/phoenix/sdk-api-reference/typescript/overview","href":"/docs/phoenix/resources/typescript-api"},{"title":"Python SDK","url":"/docs/phoenix/sdk-api-reference","href":"/docs/phoenix/resources/python-api"},{"title":"Github","url":"https://github.com/Arize-ai/phoenix","href":"/docs/phoenix/resources/github"},{"title":"OpenInference","url":"https://github.com/Arize-ai/openinference","href":"/docs/phoenix/resources/openinference"}]}]},{"tab":"Learn","pages":[{"group":"Start here","pages":[{"title":"Welcome to Phoenix Academy","sidebarTitle":"How teams improve an agent","href":"/docs/phoenix/learn"}]},{"group":"Understand behavior","pages":[{"title":"Capture your first agent run","href":"/docs/phoenix/learn/capture-first-run"},{"title":"Add an agent span","href":"/docs/phoenix/learn/add-context-to-traces"},{"title":"Read model, retrieval, and tool steps","href":"/docs/phoenix/learn/read-agent-run"},{"title":"Follow a conversation with sessions","href":"/docs/phoenix/learn/sessions"}]},{"group":"Find failures","pages":[{"title":"Use traces and feedback","href":"/docs/phoenix/learn/find-failures"},{"title":"Investigate and label a failed run","href":"/docs/phoenix/learn/investigate-failure"},{"title":"Turn failures into representative cases","href":"/docs/phoenix/learn/build-test-cases"}]},{"group":"Design evaluations","pages":[{"title":"Choose what to evaluate","href":"/docs/phoenix/learn/choose-evals"},{"title":"Write checks for actions and outcomes","href":"/docs/phoenix/learn/code-checks"},{"title":"Write and validate an LLM judge","href":"/docs/phoenix/learn/llm-judge"}]},{"group":"Test a change","pages":[{"title":"Compare prompt changes in Playground","href":"/docs/phoenix/learn/playground-evals"},{"title":"Run a Phoenix dataset experiment","href":"/docs/phoenix/learn/run-experiment"},{"title":"Compare results and agent steps","href":"/docs/phoenix/learn/compare-experiments"},{"title":"Test sandboxable agents with Harbor","href":"/docs/phoenix/learn/harbor-agent-tests"}]},{"group":"Ship and repeat","pages":[{"title":"Decide whether a change is ready","href":"/docs/phoenix/learn/ship-decision"},{"title":"Add critical checks to CI","href":"/docs/phoenix/learn/ci-checks"},{"title":"Evaluate new runs and update tests","href":"/docs/phoenix/learn/production-evals"}]}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/docs/phoenix/integrations"},{"group":"Developer Tools","pages":[{"title":"Connect Your Coding Agent","href":"/docs/phoenix/integrations/developer-tools/coding-agents"},{"title":"Phoenix CLI","sidebarTitle":"CLI","href":"/docs/phoenix/integrations/developer-tools/cli"},{"title":"MCP Server","href":"/docs/phoenix/integrations/mcp"},{"title":"Skills","href":"/docs/phoenix/integrations/developer-tools/skills"}]},{"group":"LLM Providers","pages":[{"group":"Amazon Bedrock","pages":[{"title":"Amazon Bedrock","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/amazon-bedrock"},{"title":"Amazon Bedrock Tracing","href":"/docs/phoenix/integrations/llm-providers/amazon-bedrock/amazon-bedrock-tracing"},{"title":"Amazon Bedrock SDK for JavaScript","href":"/docs/phoenix/integrations/llm-providers/amazon-bedrock/amazon-bedrock-sdk-js"},{"title":"Amazon Bedrock Agents Tracing","href":"/docs/phoenix/integrations/llm-providers/amazon-bedrock/amazon-bedrock-agents-tracing"},{"title":"Amazon Bedrock Agent Runtime JavaScript","href":"/docs/phoenix/integrations/llm-providers/amazon-bedrock/amazon-bedrock-agent-runtime-js"}]},{"group":"Anthropic","pages":[{"title":"Anthropic","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/anthropic"},{"title":"Anthropic Tracing","href":"/docs/phoenix/integrations/llm-providers/anthropic/anthropic-tracing"},{"title":"Anthropic SDK TypeScript","href":"/docs/phoenix/integrations/llm-providers/anthropic/anthropic-sdk-typescript"},{"title":"Anthropic SDK Go","href":"/docs/phoenix/integrations/llm-providers/anthropic/anthropic-sdk-go"}]},{"group":"Baseten","pages":[{"title":"Baseten","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/baseten"},{"title":"Baseten Tracing","href":"/docs/phoenix/integrations/llm-providers/baseten/baseten-tracing"}]},{"group":"Cerebras","pages":[{"title":"Cerebras","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/cerebras"},{"title":"Cerebras Tracing","href":"/docs/phoenix/integrations/llm-providers/cerebras/cerebras-tracing"}]},{"group":"Cohere","pages":[{"title":"Cohere","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/cohere"},{"title":"Cohere Tracing","href":"/docs/phoenix/integrations/llm-providers/cohere/cohere-tracing"}]},{"group":"DeepSeek","pages":[{"title":"DeepSeek","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/deepseek"},{"title":"DeepSeek Tracing","href":"/docs/phoenix/integrations/llm-providers/deepseek/deepseek-tracing"}]},{"group":"Doubleword","pages":[{"title":"Doubleword","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/doubleword"},{"title":"Doubleword Tracing","href":"/docs/phoenix/integrations/llm-providers/doubleword/doubleword-tracing"}]},{"group":"Fireworks AI","pages":[{"title":"Fireworks AI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/fireworks-ai"},{"title":"Fireworks AI Tracing","href":"/docs/phoenix/integrations/llm-providers/fireworks-ai/fireworks-ai-tracing"}]},{"group":"Google","pages":[{"title":"Google","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/google-gen-ai"},{"title":"Google Gen AI Tracing","href":"/docs/phoenix/integrations/llm-providers/google-gen-ai/google-genai-tracing"},{"title":"Gemini Go SDK","href":"/docs/phoenix/integrations/llm-providers/google-gen-ai/gemini-go-sdk"}]},{"group":"Gravitee","pages":[{"title":"Gravitee","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/gravitee"},{"title":"Gravitee Tracing","href":"/docs/phoenix/integrations/llm-providers/gravitee/gravitee-tracing"}]},{"group":"Groq","pages":[{"title":"Groq","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/groq"},{"title":"Groq Tracing","href":"/docs/phoenix/integrations/llm-providers/groq/groq-tracing"}]},{"group":"Hugging Face Inference Providers","pages":[{"title":"Hugging Face Inference Providers","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/hugging-face-inference-providers"},{"title":"Hugging Face Inference Providers Tracing","href":"/docs/phoenix/integrations/llm-providers/hugging-face-inference-providers/hugging-face-inference-providers-tracing"}]},{"group":"LiteLLM","pages":[{"title":"LiteLLM","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/litellm"},{"title":"LiteLLM Tracing","href":"/docs/phoenix/integrations/llm-providers/litellm/litellm-tracing"}]},{"group":"MistralAI","pages":[{"title":"MistralAI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/mistralai"},{"title":"MistralAI Tracing","href":"/docs/phoenix/integrations/llm-providers/mistralai/mistralai-tracing"}]},{"group":"Novita AI","pages":[{"title":"Novita AI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/novita-ai"},{"title":"Novita AI Tracing","href":"/docs/phoenix/integrations/llm-providers/novita-ai/novita-ai-tracing"}]},{"group":"Ollama","pages":[{"title":"Ollama","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/ollama"},{"title":"Ollama Tracing","href":"/docs/phoenix/integrations/llm-providers/ollama/ollama-tracing"},{"title":"Ollama with the OpenAI Node.js SDK","href":"/docs/phoenix/integrations/llm-providers/ollama/ollama-node-js-sdk"},{"title":"Ollama with the OpenAI Go SDK","href":"/docs/phoenix/integrations/llm-providers/ollama/ollama-go-sdk"}]},{"group":"OpenAI","pages":[{"title":"OpenAI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/openai"},{"title":"OpenAI Tracing","href":"/docs/phoenix/integrations/llm-providers/openai/openai-tracing"},{"title":"OpenAI Agents SDK Tracing","href":"/docs/phoenix/integrations/llm-providers/openai/openai-agents-sdk-tracing"},{"title":"OpenAI Node.js SDK","href":"/docs/phoenix/integrations/llm-providers/openai/openai-node-js-sdk"},{"title":"OpenAI Go SDK","href":"/docs/phoenix/integrations/llm-providers/openai/openai-go-sdk"}]},{"group":"OpenRouter","pages":[{"title":"OpenRouter","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/openrouter"},{"title":"OpenRouter Tracing","href":"/docs/phoenix/integrations/llm-providers/openrouter/openai-tracing"},{"title":"OpenRouter Broadcast","href":"/docs/phoenix/integrations/llm-providers/openrouter/openrouter-broadcast"}]},{"group":"OrcaRouter","pages":[{"title":"OrcaRouter","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/orcarouter"},{"title":"OrcaRouter Tracing","href":"/docs/phoenix/integrations/llm-providers/orcarouter/openai-tracing"}]},{"group":"Cloudflare AI Gateway","pages":[{"title":"Cloudflare AI Gateway","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/cloudflare-ai-gateway"},{"title":"Cloudflare AI Gateway Tracing","sidebarTitle":"Tracing","href":"/docs/phoenix/integrations/llm-providers/cloudflare-ai-gateway/cloudflare-ai-gateway-tracing"}]},{"group":"PrismML","pages":[{"title":"PrismML","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/prismml"},{"title":"PrismML Tracing","href":"/docs/phoenix/integrations/llm-providers/prismml/prismml-tracing"}]},{"group":"Qwen","pages":[{"title":"Qwen","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/qwen"},{"title":"Qwen Tracing","href":"/docs/phoenix/integrations/llm-providers/qwen/qwen-tracing"}]},{"group":"Together AI","pages":[{"title":"Together AI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/together"},{"title":"Together AI Tracing","href":"/docs/phoenix/integrations/llm-providers/together/together-tracing"}]},{"group":"TrueFoundry","pages":[{"title":"TrueFoundry","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/truefoundry"},{"title":"TrueFoundry Tracing","href":"/docs/phoenix/integrations/llm-providers/truefoundry/truefoundry-tracing"}]},{"group":"TypeSafe AI","pages":[{"title":"TypeSafe AI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/typesafe"},{"title":"TypeSafe AI Tracing (Python)","href":"/docs/phoenix/integrations/llm-providers/typesafe/typesafe-python"},{"title":"TypeSafe AI Tracing (TypeScript)","href":"/docs/phoenix/integrations/llm-providers/typesafe/typesafe-typescript"}]},{"group":"VertexAI","pages":[{"title":"VertexAI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/vertexai"},{"title":"VertexAI Tracing","href":"/docs/phoenix/integrations/llm-providers/vertexai/vertexai-tracing"}]},{"group":"vLLM","pages":[{"title":"vLLM","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/vllm"},{"title":"vLLM Tracing","href":"/docs/phoenix/integrations/llm-providers/vllm/vllm-tracing"}]},{"group":"xAI Grok","pages":[{"title":"xAI Grok","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/xai"},{"title":"xAI Grok Tracing","href":"/docs/phoenix/integrations/llm-providers/xai/xai-tracing"}]},{"group":"Z.ai","pages":[{"title":"Z.ai","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/llm-providers/z-ai"},{"title":"Z.ai Tracing","href":"/docs/phoenix/integrations/llm-providers/z-ai/z-ai-tracing"}]}]},{"group":"TypeScript","pages":[{"group":"BeeAI","pages":[{"title":"BeeAI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/typescript/beeai"},{"title":"BeeAI Tracing (JS)","href":"/docs/phoenix/integrations/typescript/beeai/beeai-tracing-js"}]},{"title":"Claude Agent SDK (TypeScript)","sidebarTitle":"Claude Agent SDK","href":"/docs/phoenix/integrations/typescript/claude-agent-sdk"},{"group":"LangChain","pages":[{"title":"LangChain","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/typescript/langchain"},{"title":"Langchain.js","href":"/docs/phoenix/integrations/typescript/langchain/langchain-js"}]},{"group":"Mastra","pages":[{"title":"Mastra","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/typescript/mastra"},{"title":"Mastra Tracing","href":"/docs/phoenix/integrations/typescript/mastra/mastra-tracing"}]},{"group":"MCP","pages":[{"title":"MCP","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/typescript/mcp"},{"title":"MCP Tracing (TypeScript)","href":"/docs/phoenix/integrations/typescript/mcp/mcp-tracing-typescript"}]},{"title":"OpenAI Agents SDK (TypeScript)","sidebarTitle":"OpenAI Agents SDK","href":"/docs/phoenix/integrations/typescript/openai-agents"},{"group":"TanStack AI","pages":[{"title":"TanStack AI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/typescript/tanstack-ai"},{"title":"TanStack AI Tracing","href":"/docs/phoenix/integrations/typescript/tanstack-ai/tanstack-ai-tracing"}]},{"group":"Vercel","pages":[{"title":"Vercel","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/typescript/vercel"},{"title":"Vercel AI SDK Tracing (JS)","href":"/docs/phoenix/integrations/typescript/vercel/vercel-ai-sdk-tracing-js"},{"title":"Vercel Eve","href":"/docs/phoenix/integrations/typescript/vercel/eve-tracing"}]}]},{"group":"Python","pages":[{"group":"AG2","pages":[{"title":"AG2","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/ag2"},{"title":"AG2 Tracing","href":"/docs/phoenix/integrations/python/ag2/ag2-tracing"}]},{"group":"Agent Spec","pages":[{"title":"Agent Spec","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/agentspec"},{"title":"Agent Spec Tracing","href":"/docs/phoenix/integrations/python/agentspec/agentspec-tracing"}]},{"group":"Agno","pages":[{"title":"Agno","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/agno"},{"title":"Agno Tracing","href":"/docs/phoenix/integrations/python/agno/agno-tracing"}]},{"group":"Atomic Agents","pages":[{"title":"Atomic Agents","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/atomic-agents"},{"title":"Atomic Agents Tracing","href":"/docs/phoenix/integrations/python/atomic-agents/atomic-agents-tracing"}]},{"group":"AutoGen","pages":[{"title":"AutoGen","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/autogen"},{"title":"AutoGen Tracing","href":"/docs/phoenix/integrations/python/autogen/autogen-tracing"},{"title":"AutoGen AgentChat Tracing","href":"/docs/phoenix/integrations/python/autogen/autogen-agentchat-tracing"}]},{"group":"Bedrock AgentCore","pages":[{"title":"Bedrock AgentCore","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/bedrock-agentcore"},{"title":"Bedrock AgentCore Tracing","href":"/docs/phoenix/integrations/python/bedrock-agentcore/bedrock-agentcore-tracing"}]},{"group":"BeeAI","pages":[{"title":"BeeAI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/beeai"},{"title":"BeeAI Tracing (Python)","href":"/docs/phoenix/integrations/python/beeai/beeai-tracing-python"}]},{"title":"Claude Agent SDK (Python)","sidebarTitle":"Claude Agent SDK","href":"/docs/phoenix/integrations/python/claude-agent-sdk"},{"group":"CrewAI","pages":[{"title":"CrewAI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/crewai"},{"title":"CrewAI Tracing","href":"/docs/phoenix/integrations/python/crewai/crewai-tracing"}]},{"group":"DSPy","pages":[{"title":"DSPy","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/dspy"},{"title":"DSPy Tracing","href":"/docs/phoenix/integrations/python/dspy/dspy-tracing"}]},{"group":"Google ADK","pages":[{"title":"Google ADK","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/google-adk"},{"title":"Google ADK Tracing","href":"/docs/phoenix/integrations/python/google-adk/google-adk-tracing"}]},{"group":"Graphite","pages":[{"title":"Graphite","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/graphite"},{"title":"Graphite Integration Guide","href":"/docs/phoenix/integrations/python/graphite/graphite-integration-guide"}]},{"group":"Guardrails AI","pages":[{"title":"Guardrails AI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/guardrails-ai"},{"title":"Guardrails AI Tracing","href":"/docs/phoenix/integrations/python/guardrails-ai/guardrails-ai-tracing"}]},{"group":"Haystack","pages":[{"title":"Haystack","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/haystack"},{"title":"Haystack Tracing","href":"/docs/phoenix/integrations/python/haystack/haystack-tracing"}]},{"group":"Hugging Face smolagents","pages":[{"title":"Hugging Face Smolagents","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/hugging-face-smolagents"},{"title":"Smolagents Tracing","href":"/docs/phoenix/integrations/python/hugging-face-smolagents/smolagents-tracing"}]},{"group":"Instructor","pages":[{"title":"Instructor","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/instructor"},{"title":"Instructor Tracing","href":"/docs/phoenix/integrations/python/instructor/instructor-tracing"}]},{"group":"LiveKit Agents","pages":[{"title":"LiveKit Agents","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/livekit-agents"},{"title":"LiveKit Agents Tracing","href":"/docs/phoenix/integrations/python/livekit-agents/livekit-agents-tracing"}]},{"group":"LlamaIndex","pages":[{"title":"LlamaIndex","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/llamaindex"},{"title":"LlamaIndex Tracing","href":"/docs/phoenix/integrations/python/llamaindex/llamaindex-tracing"},{"title":"LlamaIndex Workflows Tracing","href":"/docs/phoenix/integrations/python/llamaindex/llamaindex-workflows-tracing"}]},{"group":"LangChain","pages":[{"title":"LangChain","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/langchain"},{"title":"LangChain Tracing","href":"/docs/phoenix/integrations/python/langchain/langchain-tracing"}]},{"group":"LangGraph","pages":[{"title":"LangGraph","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/langgraph"},{"title":"LangGraph Tracing","href":"/docs/phoenix/integrations/python/langgraph/langgraph-tracing"}]},{"title":"MCP Tracing","href":"/docs/phoenix/integrations/python/mcp-tracing"},{"group":"Microsoft Agent Framework","pages":[{"title":"Microsoft Agent Framework","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/microsoft-agent-framework"},{"title":"Microsoft Agent Framework Tracing","href":"/docs/phoenix/integrations/python/microsoft-agent-framework/microsoft-agent-framework-tracing"}]},{"group":"NVIDIA","pages":[{"title":"NVIDIA","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/nvidia"},{"title":"NeMo Agent Toolkit Tracing","href":"/docs/phoenix/integrations/python/nvidia/nemo-agent-tracing"}]},{"group":"OpenLIT","pages":[{"title":"OpenLIT","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/openlit"},{"title":"OpenLIT Tracing","href":"/docs/phoenix/integrations/python/openlit/openlit-tracing"}]},{"group":"OpenLLMetry \u0026 Traceloop","pages":[{"title":"OpenLLMetry \u0026 Traceloop","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/openllmetry"},{"title":"OpenLLMetry Tracing","href":"/docs/phoenix/integrations/python/openllmetry/openllmetry-tracing"}]},{"group":"Pipecat","pages":[{"title":"Pipecat","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/pipecat"},{"title":"Pipecat Tracing","href":"/docs/phoenix/integrations/python/pipecat/pipecat-tracing"}]},{"group":"Portkey","pages":[{"title":"Portkey","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/portkey"},{"title":"Portkey Tracing","href":"/docs/phoenix/integrations/python/portkey/portkey-tracing"}]},{"group":"Pydantic AI","pages":[{"title":"Pydantic AI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/pydantic"},{"title":"Pydantic AI Tracing","href":"/docs/phoenix/integrations/python/pydantic/pydantic-tracing"},{"title":"Pydantic Evals","href":"/docs/phoenix/integrations/python/pydantic/pydantic-evals"}]},{"group":"Restate","pages":[{"title":"Restate","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/restate"},{"title":"Restate Tracing","href":"/docs/phoenix/integrations/python/restate/restate-tracing"}]},{"group":"Semantic Kernel","pages":[{"title":"Semantic Kernel","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/semantic-kernel"},{"title":"Semantic Kernel Tracing","href":"/docs/phoenix/integrations/python/semantic-kernel/semantic-kernel-tracing"}]},{"group":"Strands Agents","pages":[{"title":"Strands Agents","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/strands-agents"},{"title":"Strands Agents Tracing","href":"/docs/phoenix/integrations/python/strands-agents/strands-agents-tracing"}]},{"group":"Temporal","pages":[{"title":"Temporal","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/python/temporal"},{"title":"Temporal Tracing","href":"/docs/phoenix/integrations/python/temporal/temporal-tracing"}]}]},{"group":"Java","pages":[{"group":"Annotations","pages":[{"title":"Java Annotations","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/java/annotation"},{"title":"Java Annotation Tracing","href":"/docs/phoenix/integrations/java/annotation/annotation-tracing"}]},{"group":"Google ADK","pages":[{"title":"Google ADK","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/java/google-adk"},{"title":"Google ADK tracing for Java","href":"/docs/phoenix/integrations/java/google-adk/google-adk-tracing"}]},{"group":"LangChain4j","pages":[{"title":"LangChain4j","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/java/langchain4j"},{"title":"LangChain4j Tracing","href":"/docs/phoenix/integrations/java/langchain4j/langchain4j-tracing"}]},{"group":"Spring AI","pages":[{"title":"Spring AI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/java/springai"},{"title":"Spring AI Tracing","href":"/docs/phoenix/integrations/java/springai/springai-tracing"}]},{"group":"Arconia","pages":[{"title":"Arconia","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/java/arconia"},{"title":"Arconia Tracing","href":"/docs/phoenix/integrations/java/arconia/arconia-tracing"}]}]},{"group":".NET","pages":[{"group":"Microsoft Agent Framework","pages":[{"title":"Microsoft Agent Framework for .NET","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/dotnet/microsoft-agent-framework"},{"title":"Microsoft Agent Framework Tracing for .NET","href":"/docs/phoenix/integrations/dotnet/microsoft-agent-framework/microsoft-agent-framework-tracing"}]}]},{"group":"Platform","pages":[{"group":"Claude Managed Agents","pages":[{"title":"Claude Managed Agents","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/platforms/claude-managed-agents"},{"title":"Claude Managed Agents","href":"/docs/phoenix/integrations/platforms/claude-managed-agents/claude-managed-agents-tracing"}]},{"group":"Dify","pages":[{"title":"Dify","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/platforms/dify"},{"title":"Dify Tracing","href":"/docs/phoenix/integrations/platforms/dify/dify-tracing"}]},{"group":"Flowise","pages":[{"title":"Flowise","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/platforms/flowise"},{"title":"Flowise Tracing","href":"/docs/phoenix/integrations/platforms/flowise/flowise-tracing"}]},{"group":"LangFlow","pages":[{"title":"LangFlow","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/platforms/langflow"},{"title":"LangFlow Tracing","href":"/docs/phoenix/integrations/platforms/langflow/langflow-tracing"}]},{"group":"n8n","pages":[{"title":"n8n","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/platforms/n8n"},{"title":"n8n Tracing","href":"/docs/phoenix/integrations/platforms/n8n/n8n-tracing"}]},{"group":"Open WebUI","pages":[{"title":"Open WebUI","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/platforms/openwebui"},{"title":"Open WebUI Tracing","href":"/docs/phoenix/integrations/platforms/openwebui/openwebui-tracing"}]},{"group":"Prompt Flow","pages":[{"title":"Prompt flow","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/platforms/prompt-flow"},{"title":"Prompt Flow Tracing","href":"/docs/phoenix/integrations/platforms/prompt-flow/prompt-flow-tracing"}]},{"group":"Scalekit","pages":[{"title":"Scalekit","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/platforms/scalekit"},{"title":"Scalekit Tracing","sidebarTitle":"Scalekit Tracing","href":"/docs/phoenix/integrations/platforms/scalekit/scalekit-tracing"}]},{"group":"TrueFoundry AI Gateway","pages":[{"title":"TrueFoundry AI Gateway","sidebarTitle":"Overview","href":"/docs/phoenix/integrations/platforms/truefoundry"},{"title":"TrueFoundry AI Gateway Tracing","href":"/docs/phoenix/integrations/platforms/truefoundry/truefoundry-tracing"}]}]},{"group":"Vector Databases","icon":"database","pages":[{"title":"Qdrant","href":"/docs/phoenix/integrations/vector-databases/qdrant"}]},{"group":"Sandboxes","pages":[{"title":"E2B","href":"/docs/phoenix/integrations/sandboxes/e2b"},{"title":"Daytona","href":"/docs/phoenix/integrations/sandboxes/daytona"},{"title":"Vercel Sandbox","href":"/docs/phoenix/integrations/sandboxes/vercel"},{"title":"Modal","href":"/docs/phoenix/integrations/sandboxes/modal"},{"title":"Docker Sandboxes","href":"/docs/phoenix/integrations/sandboxes/docker"}]},{"group":"Evaluation Integrations","pages":[{"title":"Microsoft Azure AI Evaluation","href":"/docs/phoenix/integrations/evaluation-integrations/azure-ai-evaluation"},{"title":"Harbor","href":"/docs/phoenix/integrations/evaluation-integrations/harbor"},{"title":"Cleanlab","href":"/docs/phoenix/integrations/evaluation-integrations/cleanlab"},{"title":"MLflow","href":"/docs/phoenix/integrations/evaluation-integrations/mlflow"},{"title":"Ragas","href":"/docs/phoenix/integrations/evaluation-integrations/ragas"},{"title":"NVIDIA RAG Metrics via Ragas","href":"/docs/phoenix/integrations/evaluation-integrations/ragas-nvidia-rag-metrics"},{"title":"UQLM Confidence \u0026 Hallucination Risk","href":"/docs/phoenix/integrations/evaluation-integrations/uqlm"}]},{"group":"Coding Agents","pages":[{"title":"Antigravity","href":"/docs/phoenix/integrations/coding-agents/antigravity"},{"title":"Claude Code","href":"/docs/phoenix/integrations/coding-agents/claude-code"},{"title":"Codex","href":"/docs/phoenix/integrations/coding-agents/codex"},{"title":"GitHub Copilot","href":"/docs/phoenix/integrations/coding-agents/copilot"},{"title":"Cursor","href":"/docs/phoenix/integrations/coding-agents/cursor"},{"title":"Devin","href":"/docs/phoenix/integrations/coding-agents/devin"},{"title":"Gemini CLI","href":"/docs/phoenix/integrations/coding-agents/gemini"},{"title":"Kiro","href":"/docs/phoenix/integrations/coding-agents/kiro"},{"title":"Oh My Pi","href":"/docs/phoenix/integrations/coding-agents/oh-my-pi"},{"title":"OpenCode","href":"/docs/phoenix/integrations/coding-agents/opencode"}]}]},{"tab":"SDK \u0026 API Reference","groups":[{"group":"Python","pages":[{"title":"Python SDK","href":"/docs/phoenix/sdk-api-reference"},{"title":"arize-phoenix-client","href":"/docs/phoenix/sdk-api-reference/python/arize-phoenix-client"},{"title":"arize-phoenix-evals","href":"/docs/phoenix/sdk-api-reference/python/arize-phoenix-evals"},{"title":"arize-phoenix-otel","href":"/docs/phoenix/sdk-api-reference/python/arize-phoenix-otel"}]},{"group":"TypeScript","pages":[{"title":"TypeScript SDK","href":"/docs/phoenix/sdk-api-reference/typescript/overview"},{"group":"@arizeai/phoenix-client","root":{"title":"@arizeai/phoenix-client","href":"/docs/phoenix/sdk-api-reference/typescript/arizeai-phoenix-client"},"pages":[{"title":"Overview","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/overview"},{"title":"Projects","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/projects"},{"title":"Traces","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/traces"},{"title":"Spans","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/spans"},{"title":"Annotations","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/annotations"},{"title":"Span Annotations","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/span-annotations"},{"title":"Document Annotations","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/document-annotations"},{"title":"Session Annotations","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/session-annotations"},{"title":"Sessions","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/sessions"},{"title":"Secrets","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/secrets"},{"title":"Users","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/users"},{"title":"Prompts","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/prompts"},{"title":"Datasets","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/datasets"},{"title":"Experiments","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/experiments"},{"group":"CI eval tests","pages":[{"title":"CI Eval Tests","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/ci-evals"},{"title":"CI Eval Tests: Vitest","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/ci-evals-vitest"},{"title":"CI Eval Tests: Jest","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/ci-evals-jest"},{"title":"CI Eval Test Annotations","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-client/ci-evals-annotations"}]}]},{"group":"@arizeai/phoenix-evals","root":{"title":"@arizeai/phoenix-evals","href":"/docs/phoenix/sdk-api-reference/typescript/arizeai-phoenix-evals"},"pages":[{"title":"Overview","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/overview"},{"title":"Create Evaluator","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/create-evaluator"},{"title":"LLM Evaluators","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/llm-evaluators"},{"title":"Classification Metrics","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/classification-metrics"},{"title":"Templates","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/templates"},{"title":"Classification","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/classification"},{"title":"Phoenix Integration","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-evals/phoenix-integration"}]},{"group":"@arizeai/phoenix-otel","root":{"title":"@arizeai/phoenix-otel","href":"/docs/phoenix/sdk-api-reference/typescript/arizeai-phoenix-otel"},"pages":[{"title":"Overview","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-otel/overview"},{"title":"Tracing Helpers","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-otel/tracing-helpers"},{"title":"Context Attributes","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-otel/context-attributes"},{"title":"Manual Spans","href":"/docs/phoenix/sdk-api-reference/typescript/packages/phoenix-otel/manual-spans"}]},{"title":"@arizeai/openinference-core","href":"/docs/phoenix/sdk-api-reference/typescript/arizeai-openinference-core"},{"title":"@arizeai/phoenix-cli","href":"/docs/phoenix/sdk-api-reference/typescript/arizeai-phoenix-cli"}]},{"group":"Rest API","pages":[{"title":"REST API Overview","href":"/docs/phoenix/sdk-api-reference/rest-api/overview"},{"group":"API Reference","pages":[{"group":"Agent Sessions","pages":[{"openapi":"post /v1/agent_sessions","title":"Create Session","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/create-a-session"},{"openapi":"get /v1/agent_sessions","title":"List Sessions","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/list-sessions"},{"openapi":"get /v1/agent_sessions/{session_id}","title":"Get Session","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/get-a-session-by-id"},{"openapi":"patch /v1/agent_sessions/{session_id}","title":"Patch Session","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/update-a-session"},{"openapi":"get /v1/agent_sessions/{session_id}/messages","title":"List Session Messages","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/list-session-messages"},{"openapi":"post /v1/agent_sessions/{session_id}/tool_outputs","title":"Submit Agent Session Tool Outputs","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/submit-tool-outputs"},{"openapi":"post /v1/agent_sessions/{session_id}/compact","title":"Compact Agent Session","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/compact-a-session"},{"openapi":"post /v1/agent_sessions/{session_id}/chat","title":"Chat","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/agent-sessions/chat-with-a-session"}]},{"group":"Annotation Configs","pages":[{"openapi":"get /v1/annotation_configs","title":"List annotation configurations","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/list-annotation-configurations"},{"openapi":"post /v1/annotation_configs","title":"Create an annotation configuration","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/create-an-annotation-configuration"},{"openapi":"get /v1/annotation_configs/{config_identifier}","title":"Get an annotation configuration by ID or name","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/get-an-annotation-configuration-by-id-or-name"},{"openapi":"put /v1/annotation_configs/{config_id}","title":"Update an annotation configuration","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/update-an-annotation-configuration"},{"openapi":"delete /v1/annotation_configs/{config_id}","title":"Delete an annotation configuration","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/delete-an-annotation-configuration"},{"openapi":"get /v1/projects/{project_identifier}/annotation_configs","title":"List annotation configurations assigned to a project","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/list-annotation-configurations-assigned-to-a-project"},{"openapi":"put /v1/projects/{project_identifier}/annotation_configs/{config_identifier}","title":"Assign an annotation configuration to a project","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/assign-an-annotation-configuration-to-a-project"},{"openapi":"delete /v1/projects/{project_identifier}/annotation_configs/{config_identifier}","title":"Unassign an annotation configuration from a project","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/unassign-an-annotation-configuration-from-a-project"},{"openapi":"put /v1/projects/{project_identifier}/annotation_configs","title":"Replace the set of annotation configurations assigned to a project","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotation-configs/replace-the-set-of-annotation-configurations-assigned-to-a-project"}]},{"group":"Annotations","pages":[{"openapi":"get /v1/projects/{project_identifier}/span_annotations","title":"Get span annotations filtered by span_ids and/or identifier.","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotations/get-span-annotations-for-a-list-of-span_ids"},{"openapi":"get /v1/projects/{project_identifier}/trace_annotations","title":"Get trace annotations filtered by trace_ids and/or identifier.","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotations/get-trace-annotations-for-a-list-of-trace_ids"},{"openapi":"get /v1/projects/{project_identifier}/session_annotations","title":"Get session annotations filtered by session_ids and/or identifier.","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotations/get-session-annotations-for-a-list-of-session_ids"},{"openapi":"delete /v1/projects/{project_identifier}/span_annotations","title":"Delete span annotations in a project that match the supplied filter.","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotations/delete-span-annotations-by-filter"},{"openapi":"delete /v1/projects/{project_identifier}/trace_annotations","title":"Delete trace annotations in a project that match the supplied filter.","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotations/delete-trace-annotations-by-filter"},{"openapi":"delete /v1/projects/{project_identifier}/session_annotations","title":"Delete session annotations in a project that match the supplied filter.","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/annotations/delete-session-annotations-by-filter"}]},{"group":"API Keys","pages":[{"openapi":"get /v1/user/api_keys","title":"List the authenticated user's API keys","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/list-the-authenticated-users-api-keys"},{"openapi":"post /v1/user/api_keys","title":"Create an API key for the authenticated user","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/create-an-api-key-for-the-authenticated-user"},{"openapi":"delete /v1/user/api_keys/{api_key_id}","title":"Delete a user API key","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/delete-a-user-api-key"},{"openapi":"get /v1/users/api_keys","title":"List all user API keys","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/list-all-user-api-keys"},{"openapi":"get /v1/system/api_keys","title":"List system API keys","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/list-system-api-keys"},{"openapi":"post /v1/system/api_keys","title":"Create a system API key","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/create-a-system-api-key"},{"openapi":"delete /v1/system/api_keys/{api_key_id}","title":"Delete a system API key","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/api-keys/delete-a-system-api-key"}]},{"group":"Chat Completions","pages":[{"openapi":"post /v1/chat/completions","title":"OpenAI-compatible chat completions","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/chat-completions/openai-compatible-chat-completions"}]},{"group":"Datasets","pages":[{"openapi":"get /v1/datasets","title":"List datasets","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/list-datasets"},{"openapi":"get /v1/datasets/{id}","title":"Get dataset by ID","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/get-dataset-by-id"},{"openapi":"delete /v1/datasets/{id}","title":"Delete dataset by ID","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/delete-dataset-by-id"},{"openapi":"get /v1/datasets/{id}/versions","title":"List dataset versions","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/list-dataset-versions"},{"openapi":"post /v1/datasets/upload","title":"Upload dataset from JSON, JSONL, CSV, or PyArrow","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/upload-dataset-from-json-csv-or-pyarrow"},{"openapi":"get /v1/datasets/{id}/examples","title":"Get examples from a dataset","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/get-examples-from-a-dataset"},{"openapi":"get /v1/datasets/{id}/csv","title":"Download dataset examples as CSV file","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/download-dataset-examples-as-csv-file"},{"openapi":"get /v1/datasets/{id}/jsonl","title":"Download dataset examples as JSONL file","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/download-dataset-examples-as-jsonl-file"},{"openapi":"get /v1/datasets/{id}/jsonl/openai_ft","title":"Download dataset examples as OpenAI fine-tuning JSONL file","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/download-dataset-examples-as-openai-fine-tuning-jsonl-file"},{"openapi":"get /v1/datasets/{id}/jsonl/openai_evals","title":"Download dataset examples as OpenAI evals JSONL file","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/datasets/download-dataset-examples-as-openai-evals-jsonl-file"}]},{"group":"Dataset Labels","pages":[{"openapi":"get /v1/dataset_labels","title":"List dataset labels","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/list-dataset-labels"},{"openapi":"post /v1/dataset_labels","title":"Create a dataset label","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/create-a-dataset-label"},{"openapi":"get /v1/dataset_labels/{label_id}","title":"Get a dataset label by ID","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/get-a-dataset-label-by-id"},{"openapi":"patch /v1/dataset_labels/{label_id}","title":"Update a dataset label by ID","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/update-a-dataset-label-by-id"},{"openapi":"delete /v1/dataset_labels/{label_id}","title":"Delete a dataset label by ID","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/delete-a-dataset-label-by-id"},{"openapi":"get /v1/datasets/{dataset_identifier}/labels","title":"List the labels applied to a dataset","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/list-the-labels-applied-to-a-dataset"},{"openapi":"put /v1/datasets/{dataset_identifier}/labels","title":"Replace the set of labels applied to a dataset","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/replace-the-set-of-labels-applied-to-a-dataset"},{"openapi":"put /v1/datasets/{dataset_identifier}/labels/{label_id}","title":"Apply a label to a dataset","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/apply-a-label-to-a-dataset"},{"openapi":"delete /v1/datasets/{dataset_identifier}/labels/{label_id}","title":"Remove a label from a dataset","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/dataset-labels/remove-a-label-from-a-dataset"}]},{"group":"Experiments","pages":[{"openapi":"get /v1/datasets/{dataset_id}/experiments","title":"List experiments by dataset","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/list-experiments-by-dataset"},{"openapi":"post /v1/datasets/{dataset_id}/experiments","title":"Create experiment on a dataset","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/create-experiment-on-a-dataset"},{"openapi":"get /v1/experiments/{experiment_id}","title":"Get experiment by ID","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/get-experiment-by-id"},{"openapi":"patch /v1/experiments/{experiment_id}","title":"Update an experiment by ID","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/update-an-experiment-by-id"},{"openapi":"delete /v1/experiments/{experiment_id}","title":"Delete experiment by ID","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/delete-experiment-by-id"},{"openapi":"get /v1/experiments/{experiment_id}/tags","title":"List the tags applied to an experiment","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/list-the-tags-applied-to-an-experiment"},{"openapi":"post /v1/experiments/{experiment_id}/tags","title":"Assign a tag to an experiment","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/assign-a-tag-to-an-experiment"},{"openapi":"delete /v1/experiments/{experiment_id}/tags/{tag_identifier}","title":"Remove a tag from an experiment","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/remove-a-tag-from-an-experiment"},{"openapi":"get /v1/experiments/{experiment_id}/json","title":"Download experiment runs as a JSON file","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/download-experiment-runs-as-a-json-file"},{"openapi":"get /v1/experiments/{experiment_id}/csv","title":"Download experiment runs as a CSV file","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/download-experiment-runs-as-a-csv-file"},{"openapi":"get /v1/experiments/{experiment_id}/runs","title":"List runs for an experiment","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/list-runs-for-an-experiment"},{"openapi":"post /v1/experiments/{experiment_id}/runs","title":"Create run for an experiment","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/create-run-for-an-experiment"},{"openapi":"get /v1/experiments/{experiment_id}/incomplete-runs","title":"Get incomplete runs for an experiment","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/get-incomplete-runs-for-an-experiment"},{"openapi":"post /v1/experiment_evaluations","title":"Create or update evaluation for an experiment run","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/create-or-update-evaluation-for-an-experiment-run"},{"openapi":"get /v1/experiments/{experiment_id}/incomplete-evaluations","title":"Get incomplete evaluations for an experiment","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/experiments/get-incomplete-evaluations-for-an-experiment"}]},{"group":"Traces","pages":[{"openapi":"get /v1/projects/{project_identifier}/traces","title":"List traces for a project","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/traces/list-traces-for-a-project"},{"openapi":"delete /v1/projects/{project_identifier}/traces","title":"Delete traces from a project","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/traces/delete-traces-from-a-project"},{"openapi":"delete /v1/traces/{trace_identifier}","title":"Delete a trace by identifier","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/traces/delete-a-trace-by-identifier"},{"openapi":"post /v1/trace_annotations","title":"Create trace annotations","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/traces/create-trace-annotations"},{"openapi":"post /v1/trace_notes","title":"Create a trace note","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/traces/create-a-trace-note"}]},{"group":"Spans","pages":[{"openapi":"get /v1/projects/{project_identifier}/spans/otlpv1","title":"Search spans with simple filters (no DSL)","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/search-spans-with-simple-filters-no-dsl"},{"openapi":"get /v1/projects/{project_identifier}/spans","title":"List spans with simple filters (no DSL)","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/list-spans-with-simple-filters-no-dsl"},{"openapi":"post /v1/projects/{project_identifier}/spans","title":"Create spans","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/create-spans"},{"openapi":"post /v1/span_annotations","title":"Create span annotations","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/create-span-annotations"},{"openapi":"post /v1/span_notes","title":"Create a span note","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/create-a-span-note"},{"openapi":"post /v1/document_annotations","title":"Create span document annotations","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/annotate-span-documents"},{"openapi":"delete /v1/spans/{span_identifier}","title":"Delete a span by span_identifier","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/spans/delete-a-span-by-span_identifier"}]},{"group":"Prompts","pages":[{"openapi":"get /v1/prompts","title":"List all prompts","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/list-all-prompts"},{"openapi":"post /v1/prompts","title":"Create a new prompt","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/create-a-new-prompt"},{"openapi":"delete /v1/prompts/{prompt_identifier}","title":"Delete a prompt","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/delete-a-prompt"},{"openapi":"get /v1/prompts/{prompt_identifier}/versions","title":"List prompt versions","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/list-prompt-versions"},{"openapi":"post /v1/prompts/{prompt_identifier}/versions","title":"Create prompt version","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/create-prompt-version"},{"openapi":"get /v1/prompt_versions/{prompt_version_id}","title":"Get prompt version by ID","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/get-prompt-version-by-id"},{"openapi":"get /v1/prompts/{prompt_identifier}/tags/{tag_name}","title":"Get prompt version by tag","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/get-prompt-version-by-tag"},{"openapi":"get /v1/prompts/{prompt_identifier}/latest","title":"Get latest prompt version","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/get-latest-prompt-version"},{"openapi":"get /v1/prompt_versions/{prompt_version_id}/tags","title":"List prompt version tags","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/list-prompt-version-tags"},{"openapi":"post /v1/prompt_versions/{prompt_version_id}/tags","title":"Add tag to prompt version","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/add-tag-to-prompt-version"},{"openapi":"delete /v1/prompt_versions/{prompt_version_id}/tags/{tag_name}","title":"Delete a tag from a prompt version","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/prompts/delete-a-tag-from-a-prompt-version"}]},{"group":"Projects","pages":[{"openapi":"get /v1/projects","title":"List all projects","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/projects/list-all-projects"},{"openapi":"post /v1/projects","title":"Create a new project","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/projects/create-a-new-project"},{"openapi":"get /v1/projects/{project_identifier}","title":"Get project by ID or name","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/projects/get-project-by-id-or-name"},{"openapi":"put /v1/projects/{project_identifier}","title":"Update a project by ID or name","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/projects/update-a-project-by-id-or-name"},{"openapi":"delete /v1/projects/{project_identifier}","title":"Delete a project by ID or name","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/projects/delete-a-project-by-id-or-name"}]},{"group":"Sessions","pages":[{"openapi":"get /v1/projects/{project_identifier}/sessions","title":"List sessions for a project","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/list-project-sessions"},{"openapi":"get /v1/sessions/{session_identifier}","title":"Get session by ID or session_id","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/get-session-by-id"},{"openapi":"delete /v1/sessions/{session_identifier}","title":"Delete a session by identifier","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/delete-a-session-by-identifier"},{"openapi":"post /v1/sessions/delete","title":"Bulk delete sessions","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/bulk-delete-sessions"},{"openapi":"post /v1/session_annotations","title":"Create session annotations","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/create-session-annotations"},{"openapi":"get /v1/projects/{project_identifier}/session_annotations","title":"Get session annotations filtered by session_ids and/or identifier.","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/list-session-annotations"},{"openapi":"post /v1/session_notes","title":"Create a session note","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/sessions/create-a-session-note"}]},{"group":"Secrets","pages":[{"openapi":"put /v1/secrets","title":"Upsert or delete secrets","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/secrets/upsert-or-delete-secrets"}]},{"group":"Users","pages":[{"openapi":"get /v1/users","title":"List all users","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/users/list-all-users"},{"openapi":"post /v1/users","title":"Create a new user","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/users/create-a-new-user"},{"openapi":"delete /v1/users/{user_id}","title":"Delete a user by ID","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/users/delete-a-user-by-id"},{"openapi":"get /v1/user","title":"Get the authenticated user","href":"/docs/phoenix/sdk-api-reference/rest-api/api-reference/users/get-the-authenticated-user"}]}]}]},{"group":"OpenInference SDK","pages":[{"title":"OpenInference Python","url":"https://github.com/Arize-ai/openinference/tree/main/python","href":"/docs/phoenix/sdk-api-reference/openinference-sdk/openinference-python"},{"title":"OpenInference Java","href":"/docs/phoenix/sdk-api-reference/openinference-sdk/openinference-java"},{"title":"OpenInference JS","url":"https://github.com/Arize-ai/openinference/tree/main/js","href":"/docs/phoenix/sdk-api-reference/openinference-sdk/openinference-javascript"}]}]},{"tab":"Self-Hosting","pages":[{"title":"Self-Hosting","href":"/docs/phoenix/self-hosting"},{"title":"Architecture","href":"/docs/phoenix/self-hosting/architecture"},{"title":"License","href":"/docs/phoenix/self-hosting/license"},{"group":"Configuration","pages":[{"title":"Overview","href":"/docs/phoenix/self-hosting/configuration"},{"title":"Using Amazon Aurora","href":"/docs/phoenix/self-hosting/configuration/using-amazon-aurora"},{"title":"Using Azure Database for PostgreSQL","href":"/docs/phoenix/self-hosting/configuration/using-azure-managed-identity"}]},{"group":"Deployment Options","pages":[{"title":"Terminal","href":"/docs/phoenix/self-hosting/deployment-options/terminal"},{"title":"Docker","href":"/docs/phoenix/self-hosting/deployment-options/docker"},{"title":"Kubernetes (kustomize)","href":"/docs/phoenix/self-hosting/deployment-options/kubernetes"},{"title":"Kubernetes (helm)","href":"/docs/phoenix/self-hosting/deployment-options/kubernetes-helm"},{"title":"AWS with CloudFormation","href":"/docs/phoenix/self-hosting/deployment-options/aws-with-cloudformation"},{"title":"Railway","href":"/docs/phoenix/self-hosting/deployment-options/railway"},{"title":"Render","href":"/docs/phoenix/self-hosting/deployment-options/render"},{"title":"Google Cloud Run","href":"/docs/phoenix/self-hosting/deployment-options/google-cloud-run"},{"title":"Azure","href":"/docs/phoenix/self-hosting/deployment-options/azure"}]},{"group":"Features","pages":[{"title":"Provisioning","href":"/docs/phoenix/self-hosting/features/provisioning"},{"title":"Authentication","href":"/docs/phoenix/self-hosting/features/authentication"},{"title":"Email","href":"/docs/phoenix/self-hosting/features/email"},{"title":"Management","href":"/docs/phoenix/self-hosting/features/management"},{"title":"Sandbox Backends","href":"/docs/phoenix/self-hosting/features/sandbox-runtimes"},{"title":"Data Retention","href":"/docs/phoenix/settings/data-retention"}]},{"group":"Upgrade","pages":[{"title":"Migrations","href":"/docs/phoenix/self-hosting/upgrade/migrations"}]},{"group":"Security","pages":[{"title":"Access Control (RBAC)","href":"/docs/phoenix/settings/access-control-rbac"},{"title":"Privacy","href":"/docs/phoenix/self-hosting/security/privacy"},{"title":"Network Security","href":"/docs/phoenix/self-hosting/security/network-security"}]},{"group":"Advanced","pages":[{"title":"Encryption","href":"/docs/phoenix/self-hosting/advanced/encryption"}]},{"group":"Misc","pages":[{"title":"FAQs","href":"/docs/phoenix/self-hosting/misc/frequently-asked-questions"}]}]},{"tab":"Cookbooks","pages":[{"title":"Cookbooks","href":"/docs/phoenix/cookbook"},{"group":"Agent Workflow Patterns","pages":[{"title":"Agent Workflow Patterns","sidebarTitle":"Overview","href":"/docs/phoenix/cookbook/agent-workflow-patterns"},{"title":"AutoGen","href":"/docs/phoenix/cookbook/agent-workflow-patterns/autogen"},{"title":"CrewAI","href":"/docs/phoenix/cookbook/agent-workflow-patterns/crewai"},{"title":"Google GenAI SDK (manual orchestration)","href":"/docs/phoenix/cookbook/agent-workflow-patterns/google-genai-sdk-manual-orchestration"},{"title":"OpenAI Agents","href":"/docs/phoenix/cookbook/agent-workflow-patterns/openai-agents"},{"title":"LangGraph","href":"/docs/phoenix/cookbook/agent-workflow-patterns/langgraph"},{"title":"Smolagents","href":"/docs/phoenix/cookbook/agent-workflow-patterns/smolagents"}]},{"group":"AI Engineering Workflows","pages":[{"title":"Iterative Evaluation \u0026 Experimentation Workflow (Python)","href":"/docs/phoenix/cookbook/ai-engineering-workflows/iterative-evaluation-and-experimentation-workflow-python"},{"title":"Iterative Evaluation \u0026 Experimentation Workflow (TypeScript)","href":"/docs/phoenix/cookbook/ai-engineering-workflows/iterative-evaluation-and-experimentation-workflow-typescript"},{"title":"Aligning LLM Evals with Human Feedback (TypeScript)","href":"/docs/phoenix/cookbook/human-in-the-loop-workflows-annotations/aligning-llm-evals-with-human-annotations-typescript"},{"title":"Prompt Optimization Techniques","href":"/docs/phoenix/cookbook/prompt-engineering/prompt-optimization"},{"title":"Analyzing Customer Review Evals with Repetition Experiments","sidebarTitle":"Run Repetition Experiments","href":"/docs/phoenix/cookbook/ai-engineering-workflows/analyzing-customer-review-evals-with-repetition-experiments"}]},{"group":"Tracing","pages":[{"title":"Identifying High-Signal Traces in Production","href":"/docs/phoenix/cookbook/tracing/identify-high-signal-traces"},{"title":"Agentic RAG Tracing","href":"/docs/phoenix/cookbook/tracing/agentic-rag-tracing"},{"title":"Trace and Evaluate Claude Managed Agents","href":"/docs/phoenix/cookbook/tracing/claude-managed-agents-guide"},{"title":"Generating Synthetic Datasets for LLM Evaluators \u0026 Agents","href":"/docs/phoenix/cookbook/tracing/generating-synthetic-datasets-for-llm-evaluators-and-agents"},{"title":"Structured Data Extraction","href":"/docs/phoenix/cookbook/tracing/structured-data-extraction"},{"title":"Product Recommendation Agent: Google Agent Engine \u0026 LangGraph","href":"/docs/phoenix/cookbook/tracing/product-recommendation-agent-google-agent-engine-and-langgraph"},{"title":"OpenInference Best Practices","href":"/docs/phoenix/cookbook/tracing/openinference-best-practices"},{"title":"More Cookbooks","href":"/docs/phoenix/cookbook/tracing/cookbooks"}]},{"group":"Human-in-the-Loop Workflows (Annotations)","pages":[{"title":"Using Human Annotations for Eval Driven Development","href":"/docs/phoenix/cookbook/human-in-the-loop-workflows-annotations/using-human-annotations-for-eval-driven-development"},{"title":"Aligning LLM Evals with Human Feedback (TypeScript)","href":"/docs/phoenix/cookbook/human-in-the-loop-workflows-annotations/aligning-llm-evals-with-human-annotations-typescript"}]},{"group":"Prompts","pages":[{"title":"Optimizing Coding Agent Prompts - Prompt Learning","href":"/docs/phoenix/cookbook/prompt-engineering/optimizing-coding-agent-prompts-prompt-learning"},{"title":"Optimizing Prompts for LLM Classification - Prompt Learning","href":"/docs/phoenix/cookbook/prompt-engineering/prompt-learning-optimizing-prompts-for-classification"},{"title":"Few Shot Prompting","href":"/docs/phoenix/cookbook/prompt-engineering/few-shot-prompting"},{"title":"ReAct Prompting","href":"/docs/phoenix/cookbook/prompt-engineering/react-prompting"},{"title":"Chain of Thought Prompting","href":"/docs/phoenix/cookbook/prompt-engineering/chain-of-thought-prompting"},{"title":"Prompt Optimization Techniques","href":"/docs/phoenix/cookbook/prompt-engineering/prompt-optimization"},{"title":"LLM-as-a-Judge Prompt Optimization","href":"/docs/phoenix/cookbook/prompt-engineering/llm-as-a-judge-prompt-optimization"}]},{"group":"Evaluation","pages":[{"title":"Creating a Custom LLM Evaluator with a Benchmark Dataset","sidebarTitle":"Write Your First Custom Eval","href":"/docs/phoenix/cookbook/evaluation/creating-a-custom-llm-evaluator-with-a-benchmark-dataset"},{"title":"OpenAI Agents SDK Cookbook","href":"/docs/phoenix/cookbook/evaluation/openai-agents-sdk-cookbook"},{"title":"Evaluate a Talk-to-Your-Data Agent","href":"/docs/phoenix/cookbook/evaluation/evaluate-an-agent"},{"title":"Trace-level Evaluation: Beyond Input/Output Checks","href":"/docs/phoenix/cookbook/evaluation/trace-level-evaluation"},{"title":"Session-level Evaluation: Scoring the Whole Conversation","href":"/docs/phoenix/cookbook/evaluation/session-level-evaluation"},{"title":"Evaluate RAG","href":"/docs/phoenix/cookbook/evaluation/evaluate-rag"},{"title":"Code Readability Evaluation","href":"/docs/phoenix/cookbook/evaluation/code-readability-evaluation"}]},{"group":"Guardrails \u0026 Safety","pages":[{"title":"Jailbreak and Prompt Injection Defense","href":"/docs/phoenix/cookbook/guardrails/jailbreak-and-prompt-injection-defense"},{"title":"Designing Realtime Guardrails: Input, Output, and the Cost of Blocking","href":"/docs/phoenix/cookbook/guardrails/designing-realtime-guardrails"}]},{"group":"Datasets \u0026 Experiments","pages":[{"title":"Analyzing Customer Review Evals with Repetition Experiments","href":"/docs/phoenix/cookbook/datasets-and-experiments/analyzing-customer-review-evals-with-repetition-experiments"},{"title":"Experiment with a Customer Support Agent","href":"/docs/phoenix/cookbook/datasets-and-experiments/experiment-with-a-customer-support-agent"},{"title":"Comparing LlamaIndex Query Engines with a Pairwise Evaluator","href":"/docs/phoenix/cookbook/datasets-and-experiments/comparing-llamaindex-query-engines-with-a-pairwise-evaluator"},{"title":"Prompt Template Iteration for a Summarization Service","href":"/docs/phoenix/cookbook/datasets-and-experiments/summarization"},{"title":"Text2SQL Experiments","href":"/docs/phoenix/cookbook/datasets-and-experiments/text2sql"},{"title":"Why Public Benchmarks Lie: Building Your Own Eval Harness","href":"/docs/phoenix/cookbook/datasets-and-experiments/building-your-own-eval-harness"},{"title":"More Cookbooks","href":"/docs/phoenix/cookbook/datasets-and-experiments/cookbooks"}]}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/docs/phoenix/release-notes"},{"group":"11.2026","pages":[{"title":"11.02.2026: Breaking Change: Authentication by Default","href":"/docs/phoenix/release-notes/11-2026/11-02-2026-authentication-by-default-and-decision-annotations"}]},{"group":"10.2026","pages":[{"title":"10.27.2026: Decision-Model Evaluators and Project Onboarding","href":"/docs/phoenix/release-notes/10-2026/10-27-2026-decision-model-evaluators-and-project-onboarding"},{"title":"10.16.2026: Claude Managed Agents Tracing and Gemini 4 Argon","href":"/docs/phoenix/release-notes/10-2026/10-16-2026-claude-managed-agents-tracing-and-gemini-4-argon"},{"title":"10.13.2026: Docker Sandboxes and MCP GraphQL Tools","href":"/docs/phoenix/release-notes/10-2026/10-13-2026-docker-sandboxes-and-mcp-graphql-tools"},{"title":"10.01.2026: Trace Tree Evals and Decision Spans","href":"/docs/phoenix/release-notes/10-2026/10-01-2026-trace-tree-evals-and-decision-spans"}]},{"group":"09.2026","pages":[{"title":"09.29.2026: Editable Dataset Examples, Trace Metrics, and Custom Skills","href":"/docs/phoenix/release-notes/09-2026/09-29-2026-editable-dataset-examples-and-trace-metrics"},{"title":"09.14.2026: Coding Agent Plugins and Error Analysis","href":"/docs/phoenix/release-notes/09-2026/09-14-2026-coding-agent-plugins-and-error-analysis"},{"title":"09.08.2026: Harbor Plugin for Agent Benchmarks","href":"/docs/phoenix/release-notes/09-2026/09-08-2026-harbor-plugin-for-agent-benchmarks"},{"title":"09.08.2026: New Model Providers, Trace Filters, and PXI Updates","href":"/docs/phoenix/release-notes/09-2026/09-08-2026-model-providers-trace-filters-and-pxi"},{"title":"09.01.2026: GitHub Issues from PXI, PII Detection, and Client Updates","href":"/docs/phoenix/release-notes/09-2026/09-01-2026-github-issues-pii-detection-and-client-updates"}]},{"group":"08.2026","pages":[{"title":"08.25.2026: Smarter PXI Workflows and Retrieval Evaluation","href":"/docs/phoenix/release-notes/08-2026/08-25-2026-pxi-browser-actions-and-retrieval-relevance"},{"title":"08.17.2026: Trace Filter Expressions and Analytics SQL","href":"/docs/phoenix/release-notes/08-2026/08-17-2026-trace-filters-and-analytics-sql"},{"title":"08.12.2026: Session Filter Expressions, REST API Expansion, and Endpoint Configuration","href":"/docs/phoenix/release-notes/08-2026/08-12-2026-session-filters-rest-api-and-endpoint-config"},{"title":"08.11.2026: Persistent Agent Sessions","href":"/docs/phoenix/release-notes/08-2026/08-11-2026-persistent-agent-sessions"},{"title":"08.04.2026: Chat Completions Proxy, AI Query, and Annotation Charts","href":"/docs/phoenix/release-notes/08-2026/08-04-2026-chat-completions-proxy-ai-query-and-annotation-charts"}]},{"group":"07.2026","pages":[{"title":"07.28.2026: Experiment Charts, Span Downloads, and Root-Span Filters","href":"/docs/phoenix/release-notes/07-2026/07-28-2026-experiment-charts-span-downloads-and-root-span-filters"},{"title":"07.22.2026: MCP Client Setup, Provider Filtering, and User Friction Evals","href":"/docs/phoenix/release-notes/07-2026/07-22-2026-mcp-setup-provider-filter-and-evals"},{"title":"07.17.2026: OAuth2 Authorization Server \u0026 Remote MCP","href":"/docs/phoenix/release-notes/07-2026/07-17-2026-oauth2-authorization-server"},{"title":"07.14.2026: Command Palette, Session Tools, and Table Customization","href":"/docs/phoenix/release-notes/07-2026/07-14-2026-command-palette-sessions-and-tables"},{"title":"07.07.2026: Metric Charts, Trace Search, and REST API Expansion","href":"/docs/phoenix/release-notes/07-2026/07-07-2026-metric-charts-trace-search-and-rest-api"}]},{"group":"06.2026","pages":[{"title":"06.30.2026: PXI Terminal Client and Annotation Summary","href":"/docs/phoenix/release-notes/06-2026/06-30-2026-pxi-terminal-client-and-annotation-summary"},{"title":"06.26.2026: Evals as Tests — pytest and Vitest/Jest Integrations","href":"/docs/phoenix/release-notes/06-2026/06-26-2026-eval-ci-pytest-vitest-jest"},{"title":"06.24.2026: Annotations, Labels, and PXI Server Tools","href":"/docs/phoenix/release-notes/06-2026/06-24-2026-annotations-labels-and-pxi-server-tools"},{"title":"06.16.2026: Time Range, Metrics, and Sharing Upgrades","href":"/docs/phoenix/release-notes/06-2026/06-16-2026-time-range-metrics-and-sharing"},{"title":"06.11.2026: Time Range Selector and PXI Slash Commands","href":"/docs/phoenix/release-notes/06-2026/06-11-2026-time-range-and-pxi-slash-commands"},{"title":"06.10.2026: PXI Agent Update","href":"/docs/phoenix/release-notes/06-2026/06-10-2026-pxi-agent-update"},{"title":"06.02.2026: Introducing PXI","href":"/docs/phoenix/release-notes/06-2026/06-02-2026-pxi-agent"}]},{"group":"05.2026","pages":[{"title":"05.27.2026: Drag-to-Zoom on Project Metric Charts","href":"/docs/phoenix/release-notes/05-2026/05-27-2026-drag-to-zoom"},{"title":"05.21.2026: Code Evaluators","href":"/docs/phoenix/release-notes/05-2026/05-21-2026-code-evaluators"},{"title":"05.15.2026: OTel GenAI Semantic Convention Auto-Conversion","href":"/docs/phoenix/release-notes/05-2026/05-15-2026-otel-semconv-conversion"},{"title":"05.15.2026: Session Trace Feedback and ATIF v1.7 Support","href":"/docs/phoenix/release-notes/05-2026/05-15-2026-session-feedback-and-atif"},{"title":"05.13.2026: Playground Thinking Controls for Anthropic and Google","href":"/docs/phoenix/release-notes/05-2026/05-13-2026-playground-thinking-controls"},{"title":"05.13.2026: Session Enhancements and Annotation Identifiers","href":"/docs/phoenix/release-notes/05-2026/05-13-2026-session-and-annotations"},{"title":"05.10.2026: Playground Preferences","href":"/docs/phoenix/release-notes/05-2026/05-10-2026-playground-preferences"},{"title":"05.08.2026: OTLP Project Routing via HTTP Header","href":"/docs/phoenix/release-notes/05-2026/05-08-2026-otlp-project-header"},{"title":"05.05.2026: Provider Tools in Playground and Prompts","href":"/docs/phoenix/release-notes/05-2026/05-05-2026-provider-tools"},{"title":"05.05.2026: REST API Updates","href":"/docs/phoenix/release-notes/05-2026/05-05-2026-rest-api-updates"},{"title":"05.01.2026 TanStack AI Tracing","href":"/docs/phoenix/release-notes/05-2026/05-01-2026-tanstack-ai-tracing"}]},{"group":"04.2026","pages":[{"title":"04.30.2026: CLI Named Auth Profiles","href":"/docs/phoenix/release-notes/04-2026/04-30-2026-cli-auth-profiles"},{"title":"04.30.2026: Annotation Enhancements","href":"/docs/phoenix/release-notes/04-2026/04-30-2026-annotation-enhancements"},{"title":"04.29.2026: Dataset Upsert","href":"/docs/phoenix/release-notes/04-2026/04-29-2026-dataset-upsert"},{"title":"04.28.2026 Session Notes API","href":"/docs/phoenix/release-notes/04-2026/04-28-2026-session-notes-api"},{"title":"04.24.2026 Trace Notes API","href":"/docs/phoenix/release-notes/04-2026/04-24-2026-trace-notes-api"},{"title":"04.24.2026 arize-phoenix-otel 0.16","href":"/docs/phoenix/release-notes/04-2026/04-24-2026-phoenix-otel-python-0-16"},{"title":"04.22.2026 Secrets Settings Page and Evaluator Trace ID","href":"/docs/phoenix/release-notes/04-2026/04-22-2026-secrets-ui-and-evaluator-trace-id"},{"title":"04.20.2026 Span Attribute Filtering, CLI Notes, and Claude Opus 4.7","href":"/docs/phoenix/release-notes/04-2026/04-20-2026-span-attribute-filter-cli-notes-and-opus-4-7"},{"title":"04.16.2026 Azure Managed Identity for PostgreSQL","href":"/docs/phoenix/release-notes/04-2026/04-16-2026-azure-managed-identity-postgres"},{"title":"04.14.2026 CLI Annotation Commands","href":"/docs/phoenix/release-notes/04-2026/04-14-2026-cli-annotation-commands"},{"title":"04.13.2026 @arizeai/phoenix-otel 1.0","href":"/docs/phoenix/release-notes/04-2026/04-13-2026-phoenix-otel-ts-1-0"},{"title":"04.10.2026 Shareable Project URLs","href":"/docs/phoenix/release-notes/04-2026/04-10-2026-shareable-url-redirects"},{"title":"04.07.2026 PostgreSQL Read Replica Routing","href":"/docs/phoenix/release-notes/04-2026/04-07-2026-postgresql-read-replica"},{"title":"Release Notes","href":"/docs/phoenix/release-notes/04-2026/04-07-2026-phoenix-v14-breaking-changes"},{"title":"04.03.2026 ATIF Trajectory Upload","href":"/docs/phoenix/release-notes/04-2026/04-03-2026-atif-trajectory-upload"},{"title":"Release Notes","href":"/docs/phoenix/release-notes/04-2026/04-01-2026-get-traces-secrets-api-and-python-314"}]},{"group":"03.2026","pages":[{"title":"Release Notes","href":"/docs/phoenix/release-notes/03-2026/03-30-2026-delete-prompts-api"},{"title":"Release Notes","href":"/docs/phoenix/release-notes/03-2026/03-24-2026-prompt-version-diff-and-evals-updates"},{"title":"Release Notes","href":"/docs/phoenix/release-notes/03-2026/03-22-2026-cli-and-user-api"},{"title":"Release Notes","href":"/docs/phoenix/release-notes/03-2026/03-13-2026-rest-api-improvements"},{"title":"Release Notes","href":"/docs/phoenix/release-notes/03-2026/03-11-2026-session-turns-api"},{"title":"03.08.2026 New Playground Providers and Project Settings","href":"/docs/phoenix/release-notes/03-2026/03-08-2026-new-playground-providers-and-project-settings"},{"title":"03.05.2026 SDK Session Retrieval","href":"/docs/phoenix/release-notes/03-2026/03-05-2026-sdk-session-retrieval"}]},{"group":"02.2026","pages":[{"title":"02.27.2026 Sessions API and CLI Support","href":"/docs/phoenix/release-notes/02-2026/02-27-2026-cli-sessions-and-rest-api"},{"title":"Phoenix 13.0","href":"/docs/phoenix/release-notes/02-2026/02-14-2026-phoenix-13-0"}]},{"group":"01.2026","pages":[{"title":"01.17.2026 Phoenix CLI: Terminal Access for AI Coding Assistants","href":"/docs/phoenix/release-notes/01-2026/01-17-2026-phoenix-cli-ai-agent-debugging"}]},{"group":"12.2025","pages":[{"title":"12.20.2025: Improved User Preferences","href":"/docs/phoenix/release-notes/12-2025/12-20-2025-improved-user-preferences"},{"title":"12.12.2025: Support for Gemini Tool Calls","href":"/docs/phoenix/release-notes/12-2025/12-12-2025-support-for-gemini-tool-calls"},{"title":"12.09.2025: Span Notes API","href":"/docs/phoenix/release-notes/12-2025/12-09-2025-span-notes-api"},{"title":"12.06.2025: LDAP Authentication Support","href":"/docs/phoenix/release-notes/12-2025/12-06-2025-ldap-authentication-support"},{"title":"12.04.2025: Evaluator Message Formats","href":"/docs/phoenix/release-notes/12-2025/12-04-2025-evaluator-message-formats"},{"title":"12.03.2025: TypeScript createEvaluator","href":"/docs/phoenix/release-notes/12-2025/12-03-2025-typescript-create-evaluator"},{"title":"12.01.2025: Splits on Experiments Table","href":"/docs/phoenix/release-notes/12-2025/12-01-2025-splits-on-experiments-table"}]},{"group":"11.2025","pages":[{"title":"11.29.2025: Add support for Claude Opus 4-5","href":"/docs/phoenix/release-notes/11-2025/11-29-2025-add-support-for-claude-opus-4-5"},{"title":"11.27.2025: Show Server Credential Setup in Playground API Keys","href":"/docs/phoenix/release-notes/11-2025/11-27-2025-show-server-credential-setup-in-playground-api-keys"},{"title":"11.25.2025: Split Assignments When Uploading a Dataset","href":"/docs/phoenix/release-notes/11-2025/11-25-2025-split-assignments-when-uploading-a-dataset"},{"title":"11.23.2025: Repetitions for Manual Playground Invocations","href":"/docs/phoenix/release-notes/11-2025/11-23-2025-repetitions-for-manual-playground-invocations"},{"title":"11.14.2025: Expanded Provider Support with OpenAI 5.1 + Gemini 3","href":"/docs/phoenix/release-notes/11-2025/11-19-2025-expanded-provider-support-with-openai-5-1-+-gemini-3"},{"title":"11.12.2025: Updated Anthropic Model List","href":"/docs/phoenix/release-notes/11-2025/11-12-2025-updated-anthropic-model-list"},{"title":"11.09.2025 OpenInference TypeScript 2.0","href":"/docs/phoenix/release-notes/11-2025/11-09-2025-openinference-typescript-2-0"},{"title":"11.07.2025: Timezone Preference","href":"/docs/phoenix/release-notes/11-2025/11-07-2025-timezone-preference"},{"title":"11.05.2025: Metadata for Prompts","href":"/docs/phoenix/release-notes/11-2025/11-05-2025-metadata-for-prompts"},{"title":"11.03.2025: Playground Dataset Label Display","href":"/docs/phoenix/release-notes/11-2025/11-03-2025-playground-dataset-label-display"},{"title":"11.01.2025: Resume Experiments and Evaluations","href":"/docs/phoenix/release-notes/11-2025/11-01-2025-resume-experiments-and-evaluations"}]},{"group":"10.2025","pages":[{"title":"10.30.2025: Metadata Support for Experiment Run Annotations","href":"/docs/phoenix/release-notes/10-2025/10-30-2025-metadata-support-for-experiment-run-annotations"},{"title":"10.28.2025: Enable AWS IAM Auth for DB Configuration","href":"/docs/phoenix/release-notes/10-2025/10-28-2025-enable-aws-iam-auth-for-db-configuration"},{"title":"10.26.2025: Add Split Edit Menu to Examples ䷖","href":"/docs/phoenix/release-notes/10-2025/10-26-2025-add-split-edit-menu-to-examples"},{"title":"10.24.2025: Filter Prompts Page by Label","href":"/docs/phoenix/release-notes/10-2025/10-24-2025-filter-prompts-page-by-label"},{"title":"10.20.2025: Splits ䷖","href":"/docs/phoenix/release-notes/10-2025/10-20-2025-splits"},{"title":"10.18.2025: Filter Annotations in Compare Experiments Slideover","href":"/docs/phoenix/release-notes/10-2025/10-18-2025-filter-annotations-in-compare-experiments-slideover"},{"title":"10.15.2025: Enhanced Filtering for Examples Table","href":"/docs/phoenix/release-notes/10-2025/10-15-2025-enhanced-filtering-for-examples-table"},{"title":"10.13.2025: View Traces in Compare Experiments","href":"/docs/phoenix/release-notes/10-2025/10-13-2025-view-traces-in-compare-experiments"},{"title":"10.10.2025: Viewer Role","href":"/docs/phoenix/release-notes/10-2025/10-10-2025-viewer-role"},{"title":"10.08.2025: Dataset Labels","href":"/docs/phoenix/release-notes/10-2025/10-08-2025-dataset-labels"},{"title":"10.06.2025: Paginate Compare Experiments","href":"/docs/phoenix/release-notes/10-2025/10-06-2025-paginate-compare-experiments"},{"title":"10.05.2025: Load Prompt by Tag into Playground","href":"/docs/phoenix/release-notes/10-2025/10-05-2025-load-prompt-by-tag-into-playground"},{"title":"10.03.2025: Prompt Version Editing in Playground","href":"/docs/phoenix/release-notes/10-2025/10-03-2025-prompt-version-editing-in-playground"}]},{"group":"09.2025","pages":[{"title":"09.29.2025: Day 0 support for Claude Sonnet 4.5","href":"/docs/phoenix/release-notes/09-2025/09-29-2025-day-0-support-for-claude-sonnet-4.5"},{"title":"09.27.2025: Dataset Splits","href":"/docs/phoenix/release-notes/09-2025/09-27-2025-dataset-splits"},{"title":"09.26.2025: Session Annotations","href":"/docs/phoenix/release-notes/09-2025/09-26-2025-session-annotations"},{"title":"09.25.2025: Repetitions","href":"/docs/phoenix/release-notes/09-2025/09-25-2025-repetitions"},{"title":"09.24.2025: Custom HTTP headers for requests in Playground","href":"/docs/phoenix/release-notes/09-2025/09-24-2025-custom-http-headers-for-requests-in-playground"},{"title":"09.23.2025: Repetitions in experiment compare slideover","href":"/docs/phoenix/release-notes/09-2025/09-23-2025-repetitions-in-experiment-compare-slideover"},{"title":"09.22.2025: Helm configurable image registry \u0026 IPv6 support","href":"/docs/phoenix/release-notes/09-2025/09-22-2025-helm-configurable-image-registry-and-ipv6-support"},{"title":"09.17.2025: Experiment compare details slideover in list view","href":"/docs/phoenix/release-notes/09-2025/09-17-2025-experiment-compare-details-slideover-in-list-view"},{"title":"09.15.2025: Prompt Labels","href":"/docs/phoenix/release-notes/09-2025/09-15-2025-prompt-labels"},{"title":"09.12.2025: Enable Paging in Experiment Compare Details","href":"/docs/phoenix/release-notes/09-2025/09-12-2025-enable-paging-in-experiment-compare-details"},{"title":"09.08.2025: Experiment Annotation Popover in Detail View","href":"/docs/phoenix/release-notes/09-2025/09-08-2025-experiment-annotation-popover-in-detail-view"},{"title":"09.04.2025: Experiment Lists Page Frontend Enhancements","href":"/docs/phoenix/release-notes/09-2025/09-04-2025-experiment-lists-page-frontend-enhancements"},{"title":"09.03.2025: Add Methods to Log Document Annotations","href":"/docs/phoenix/release-notes/09-2025/09-03-2025-add-methods-to-log-document-annotations"}]},{"group":"08.2025","pages":[{"title":"08.28.2025: New arize-phoenix-client Package","href":"/docs/phoenix/release-notes/08-2025/08-28-2025-new-arize-phoenix-client-package"},{"title":"08.22.2025: New Trace Timeline View","href":"/docs/phoenix/release-notes/08-2025/08-22-2025-new-trace-timeline-view"},{"title":"08.20.2025: New Experiment and Annotation Quick Filters","href":"/docs/phoenix/release-notes/08-2025/08-20-2025-new-experiment-and-annotation-quick-filters"},{"title":"08.15.2025: Enhance Experiment Comparison Views","href":"/docs/phoenix/release-notes/08-2025/08-15-2025-enhance-experiment-comparison-views"},{"title":"08.14.2025: Trace Transfer for Long-Term Storage","href":"/docs/phoenix/release-notes/08-2025/08-14-2025-trace-transfer-for-long-term-storage"},{"title":"08.12.2025: UI Design Overhauls","href":"/docs/phoenix/release-notes/08-2025/08-12-2025-ui-design-overhauls"},{"title":"08.09.2025: Playground Support for GPT-5","href":"/docs/phoenix/release-notes/08-2025/08-09-2025-playground-support-for-gpt-5"},{"title":"08.07.2025: Improved Error Handling in Prompt Playground","href":"/docs/phoenix/release-notes/08-2025/08-07-2025-improved-error-handling-in-prompt-playground"},{"title":"08.06.2025: Expanded Search Capabilities","href":"/docs/phoenix/release-notes/08-2025/08-06-2025-expanded-search-capabilities"},{"title":"08.05.2025: Claude Opus 4-1 Support","href":"/docs/phoenix/release-notes/08-2025/08-05-2025-claude-opus-4-1-support"},{"title":"08.04.2025: Manual Project Creation \u0026 Trace Duplication","href":"/docs/phoenix/release-notes/08-2025/08-04-2025-manual-project-creation-and-trace-duplication"},{"title":"08.03.2025: Delete Spans via REST API","href":"/docs/phoenix/release-notes/08-2025/08-03-2025-delete-spans-via-rest-api"}]},{"group":"07.2025","pages":[{"title":"07.29.2025: Google GenAI evals","href":"/docs/phoenix/release-notes/07-2025/07-29-2025-google-genai-evals"},{"title":"07.25.2025: Project dashboards","href":"/docs/phoenix/release-notes/07-2025/07-25-2025-project-dashboards"},{"title":"07.25.2025: Average metrics in experiment comparison table","href":"/docs/phoenix/release-notes/07-2025/07-25-2025-average-metrics-in-experiment-comparison-table"},{"title":"07.21.2025: Project and trace management via GraphQL","href":"/docs/phoenix/release-notes/07-2025/07-21-2025-project-and-trace-management-via-graphql"},{"title":"07.18.2025: OpenInference Java","href":"/docs/phoenix/release-notes/07-2025/07-18-2025-openinference-java"},{"title":"07.13.2025: Experiments module in phoenix-client","href":"/docs/phoenix/release-notes/07-2025/07-13-2025-experiments-module-in-phoenix-client"},{"title":"07.09.2025: Baseline for experiment comparisons","href":"/docs/phoenix/release-notes/07-2025/07-09-2025-baseline-for-experiment-comparisons"},{"title":"07.07.2025: Database disk usage monitor","href":"/docs/phoenix/release-notes/07-2025/07-07-2025-databse-disk-usage-monitor"},{"title":"07.03.2025: Cost summaries in trace headers","href":"/docs/phoenix/release-notes/07-2025/07-03-2025-cost-summaries-in-trace-headers"},{"title":"07.02.2025: Cursor MCP button","href":"/docs/phoenix/release-notes/07-2025/07-02-2025-cursor-mcp-button"}]},{"group":"06.2025","pages":[{"title":"06.25.2025: Cost tracking","href":"/docs/phoenix/release-notes/06-2025/06-25-2025-cost-tracking"},{"title":"06.25.2025: Amazon Bedrock support in playground","href":"/docs/phoenix/release-notes/06-2025/06-25-2025-amazon-bedrock-support-in-playground"},{"title":"06.13.2025: Session filtering","href":"/docs/phoenix/release-notes/06-2025/06-13-2025-session-filtering"},{"title":"06.13.2025: Enhanced span creation and logging","href":"/docs/phoenix/release-notes/06-2025/06-13-2025-enhanced-span-creation-and-logging"},{"title":"06.12.2025: Dataset filtering","href":"/docs/phoenix/release-notes/06-2025/06-12-2025-dataset-filtering"},{"title":"06.06.2025: Experiment progress graph","href":"/docs/phoenix/release-notes/06-2025/06-06-2025-experiment-progress-graph"},{"title":"06.04.2025: Ollama support in playground","href":"/docs/phoenix/release-notes/06-2025/06-04-2025-ollama-support-in-playground"},{"title":"06.03.2025: Deploy via helm","href":"/docs/phoenix/release-notes/06-2025/06-03-2025-deploy-via-helm"}]},{"group":"05.2025","pages":[{"title":"05.30.2025: XAI and deepseek support in playground","href":"/docs/phoenix/release-notes/05-2025/05-30-2025-xai-and-deepseek-support-in-playground"},{"title":"05.20.2025: Datasets and experiment evaluations in the JS client","href":"/docs/phoenix/release-notes/05-2025/05-20-2025-datasets-and-experiment-evaluations-in-the-js-client"},{"title":"05.14.2025: Experiments in the JS client","href":"/docs/phoenix/release-notes/05-2025/05-14-2025-experiments-in-the-js-client"},{"title":"05.09.2025: Annotations, data retention policies, hotkeys","href":"/docs/phoenix/release-notes/05-2025/05-09-2025-annotations-data-retention-policies-hotkeys"},{"title":"05.05.2025: OpenInference Google GenAI instrumentation","href":"/docs/phoenix/release-notes/05-2025/05-05-2025-openinference-google-genai-instrumentation"}]},{"group":"04.2025","pages":[{"title":"04.30.2025: Span querying \u0026 data extraction for Phoenix client","href":"/docs/phoenix/release-notes/04-2025/04-30-2025-span-querying-and-data-extraction-for-phoenix-client"},{"title":"04.28.2025: TLS support for Phoenix server","href":"/docs/phoenix/release-notes/04-2025/04-28-2025-tls-support-for-phoenix-server"},{"title":"04.28.2025: Improved shutdown handling","href":"/docs/phoenix/release-notes/04-2025/04-28-2025-improved-shutdown-handling"},{"title":"04.25.2025: Scroll selected span into view","href":"/docs/phoenix/release-notes/04-2025/04-25-2025-scroll-selected-span-into-view"},{"title":"04.18.2025: Tracing for MCP client server applications","href":"/docs/phoenix/release-notes/04-2025/04-18-2025-tracing-for-mcp-client-server-applications"},{"title":"04.16.2025: API key generation via API","href":"/docs/phoenix/release-notes/04-2025/04-16-2025-api-key-generation-via-api"},{"title":"04.15.2025: Display tool call and result ids in span details","href":"/docs/phoenix/release-notes/04-2025/04-15-2025-display-tool-call-and-result-ids-in-span-details"},{"title":"04.09.2025: Project management API enhancements","href":"/docs/phoenix/release-notes/04-2025/04-09-2025-project-management-api-enhancements"},{"title":"04.09.2025: New REST API for projects with RBAC","href":"/docs/phoenix/release-notes/04-2025/04-09-2025-new-rest-api-for-projects-with-rbac"},{"title":"04.03.2025: Phoenix client prompt tagging","href":"/docs/phoenix/release-notes/04-2025/04-03-2025-phoenix-client-prompt-tagging"},{"title":"04.02.2025 improved span annotation editor","href":"/docs/phoenix/release-notes/04-2025/04-02-2025-improved-span-annotation-editor"},{"title":"04.01.2025: Support for MCP span tool info in OpenAI agents SDK","href":"/docs/phoenix/release-notes/04-2025/04-01-2025-support-for-mcp-span-tool-info-in-openai-agents-sdk"}]},{"group":"03.2025","pages":[{"title":"03.27.2025 span view improvements","href":"/docs/phoenix/release-notes/03-2025/03-27-2025-span-view-improvements"},{"title":"03.24.2025: Tracing configuration tab","href":"/docs/phoenix/release-notes/03-2025/03-24-2025-tracing-configuration-tab"},{"title":"03.21.2025: Environment variable based admin user configuration","href":"/docs/phoenix/release-notes/03-2025/03-21-2025-environment-variable-based-admin-user-configuration"},{"title":"03.20.2025: Delete experiment from action menu","href":"/docs/phoenix/release-notes/03-2025/03-20-2025-delete-experiment-from-action-menu"},{"title":"03.19.2025: Access to new integrations in projects","href":"/docs/phoenix/release-notes/03-2025/03-19-2025-access-to-new-integrations-in-projects"},{"title":"03.18.2025: Resize span, trace, and session tables","href":"/docs/phoenix/release-notes/03-2025/03-18-2025-resize-span-trace-and-session-tables"},{"title":"03.14.2025: OpenAI agents instrumentation","href":"/docs/phoenix/release-notes/03-2025/03-14-2025-openai-agents-instrumentation"},{"title":"03.07.2025: Model config enhancements for prompts","href":"/docs/phoenix/release-notes/03-2025/03-07-2025-model-config-enhancements-for-prompts"},{"title":"03.07.2025: New prompt playground, evals, and integration support","href":"/docs/phoenix/release-notes/03-2025/03-07-2025-new-prompt-playground-evals-and-integration-support"},{"title":"03.06.2025: Project improvements","href":"/docs/phoenix/release-notes/03-2025/03-06-2025-project-improvements"}]},{"group":"02.2025","pages":[{"title":"02.19.2025: Prompts","href":"/docs/phoenix/release-notes/02-2025/02-19-2025-prompts"},{"title":"02.18.2025: One line instrumentation","href":"/docs/phoenix/release-notes/02-2025/02-18-2025-one-line-instrumentation"}]},{"group":"01.2025","pages":[{"title":"01.18.2025: Automatic \u0026 manual span tracing","href":"/docs/phoenix/release-notes/01-2025/01-18-2025-automatic-and-manual-span-tracing"}]},{"group":"2024","pages":[{"title":"12.09.2024: Sessions","href":"/docs/phoenix/release-notes/2024/12-09-2024-sessions"},{"title":"11.18.2024: Prompt playground","href":"/docs/phoenix/release-notes/2024/11-18-2024-prompt-playground"},{"title":"09.26.2024: Authentication \u0026 RBAC","href":"/docs/phoenix/release-notes/2024/09-26-2024-authentication-and-rbac"},{"title":"07.18.2024: Guardrails AI integrations","href":"/docs/phoenix/release-notes/2024/07-18-2024-guardrails-ai-integrations"},{"title":"07.03.2024: Datasets \u0026 experiments","href":"/docs/phoenix/release-notes/2024/07-03-2024-datasets-and-experiments"},{"title":"07.02.2024: Function call evaluations","href":"/docs/phoenix/release-notes/2024/07-02-2024-function-call-evaluations"}]}]}]},"basePath":"","title":"2026 - Phoenix","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}