import Roark from '@roarkanalytics/sdk';
const client = new Roark({
bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted
});
const response = await client.agentConfig.resolve('x');
console.log(response.data);
import os
from roark_analytics import Roark
client = Roark(
bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted
)
response = client.agent_config.resolve(
key="x",
)
print(response.data)
{
"type": "internal",
"code": "internal_error",
"message": "Internal server error"
}
Agent Config
Resolve config for a session
The call your agent makes at session start. Returns the config JSON for this session, with per-session simulation recognition built in: when the session was originated by a Roark simulation (matched by caller number against the calls Roark has in flight), the STAGING revision is served for that session only, so Autoimprove candidates are tested on your real deployment. Real traffic always resolves to production; any recognition miss degrades to production too.
On the first fetch of an unknown key, pass defaults (your baked-in config): the key is registered and the defaults become revision 1. That makes integration a single call.
Cache the response per session; do not fetch per turn.
POST
/
v1
/
agent-config
/
{key}
/
resolve
JavaScript
import Roark from '@roarkanalytics/sdk';
const client = new Roark({
bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted
});
const response = await client.agentConfig.resolve('x');
console.log(response.data);
import os
from roark_analytics import Roark
client = Roark(
bearer_token=os.environ.get("ROARK_API_BEARER_TOKEN"), # This is the default and can be omitted
)
response = client.agent_config.resolve(
key="x",
)
print(response.data)
Your baked-in config. On the first fetch of an unknown key this registers the config and becomes revision 1, so integration is a single call. Ignored once the key exists.
Show child attributes
Example:
{
"systemPrompt": "You are a helpful receptionist.",
"model": "gpt-4.1",
"temperature": 0.4
}
Session context. When the call was originated by a Roark simulation, Roark recognizes it here and serves the staging revision for this session only; real traffic always gets production.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Roark Docs","description":"Roark is the quality platform for voice and chat AI. Simulate every scenario before launch, monitor every production call, and score them with audio-native metrics.","colors":{"primary":"#006838","light":"#4faf62","dark":"#005530"},"logo":{"light":"https://mintcdn.com/roark/roh5qorg6REL9dkn/images/logo/light.svg?fit=max\u0026auto=format\u0026n=roh5qorg6REL9dkn\u0026q=85\u0026s=040c5cac74f0bd94ad25a3ccfdb45dbc","dark":"https://mintcdn.com/roark/85D-0i58gn7fPi1w/images/logo/dark.svg?fit=max\u0026auto=format\u0026n=85D-0i58gn7fPi1w\u0026q=85\u0026s=d666f2dc1f3dc1b8320c0bef62dca06b","href":"https://roark.ai"},"favicon":"https://mintcdn.com/roark/roh5qorg6REL9dkn/favicon.svg?fit=max\u0026auto=format\u0026n=roh5qorg6REL9dkn\u0026q=85\u0026s=95d524da66f21b9f4532ec4f6162efc5","appearance":{"default":"system"},"background":{"color":{"light":"#f0eeeb","dark":"#0e0d0c"}},"navbar":{"primary":{"type":"button","label":"Get Started","href":"https://roark.ai/signup"}},"footer":{"socials":{"x":"https://x.com/roarkhq","github":"https://github.com/roarkhq","linkedin":"https://www.linkedin.com/company/roark-innovations"}},"fonts":{"heading":{"family":"Bricolage Grotesque","weight":600},"body":{"family":"Hanken Grotesk"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"section","codeblocks":{"theme":{"light":"everforest-light","dark":"everforest-dark"}},"latex":false},"contextual":{"options":["copy","view","chatgpt","claude","cursor","mcp"],"display":"header"},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"roark","hasAudioNarration":false,"actualSubdomain":"roark","customDomains":["docs.roark.ai"],"gitSource":{"type":"github","owner":"roarkhq","repo":"docs-roark-analytics","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aec5392f73278e025982dc8","collectionId":"4da30ebb-6b29-4272-9280-cb8fbf515b9a","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aec5392f73278e025982dc8"},"entitlements":{},"buildId":"6aed46f009733c1eb76c300c","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"API Reference","count":221},{"language":"default","tag":"CLI Reference","count":183},{"language":"default","tag":"Guides","count":81},{"language":"default","tag":"simulation","count":43},{"language":"default","tag":"Simulations","count":33},{"language":"default","tag":"agent","count":20},{"language":"default","tag":"metric","count":19},{"language":"default","tag":"job","count":18},{"language":"default","tag":"Templates","count":18},{"language":"default","tag":"Agent","count":17}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","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":"llms-txt-v2","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":"vite-origin","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":"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":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--roark-accent: #006838;--roark-accent-hover: #005530;--roark-accent-subtle: rgba(0, 104, 56, 0.08);--roark-shell: #f0eeeb;--roark-panel: #ffffff;--roark-border: #e4e0dc;--roark-radius-card: 14px;--roark-ease: cubic-bezier(0.25, 0.1, 0.25, 1)}.dark{--roark-accent: #4faf62;--roark-accent-hover: #5ec070;--roark-accent-subtle: rgba(79, 175, 98, 0.1);--roark-shell: #0e0d0c;--roark-panel: #1a1918;--roark-border: #2e2c2a}code,kbd,samp,pre,pre *{font-family:'Geist Mono', ui-monospace, 'SF Mono', SFMono-Regular, Menlo, monospace}h1,h2,h3,h4{font-feature-settings:'ss01' on;letter-spacing:-0.02em}#content-area h1{font-size:clamp(2.1rem, 3.4vw, 2.6rem);line-height:1.12}body{font-feature-settings:'ss01' on, 'cv01' on;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:#006838;color:#f0eeeb}.dark ::selection{background:#4faf62;color:#0e0d0c}#content-area a.link{color:var(--roark-accent);text-decoration-color:var(--roark-accent-subtle);text-underline-offset:3px;transition:color 0.15s var(--roark-ease)}#content-area a.link:hover{color:var(--roark-accent-hover);text-decoration-color:currentColor}[class*=\"eyebrow\"]{font-family:'Geist Mono', ui-monospace, monospace;font-size:0.75rem;font-weight:500;text-transform:uppercase;letter-spacing:0.08em}.sidebar-group-header{font-family:'Geist Mono', ui-monospace, monospace;font-size:0.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:0.08em;color:#716f6c}.dark .sidebar-group-header{color:#8a8785}.card{border-radius:var(--roark-radius-card)}.dark .card{background-color:#1a1918;border-color:rgba(255, 255, 255, 0.07)}.card [data-component-part=\"card-icon\"]{width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;background:var(--roark-accent-subtle);border-radius:12px}[data-component-part=\"step-number\"]>div{font-family:'Geist Mono', ui-monospace, monospace;background:var(--roark-accent-subtle);color:var(--roark-accent)}#content-area hr{margin-top:2.5rem;margin-bottom:2.5rem;border-color:var(--roark-border)}.prose h2{margin-top:2.75rem}#sidebar{border-right:1px solid var(--roark-border)}img.nav-logo{height:1.75rem}#content-area img,#content-area video,#content-area iframe{border-radius:var(--roark-radius-card)}#content-area img{border:1px solid rgba(0, 0, 0, 0.06);box-shadow:0 1px 3px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.03)}.dark #content-area img{border-color:rgba(255, 255, 255, 0.06);box-shadow:0 1px 3px rgba(0, 0, 0, 0.3), 0 8px 24px rgba(0, 0, 0, 0.2)}#content-area img.nav-logo{border:none;box-shadow:none;border-radius:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#d6d2cc;border-radius:5px;border:2px solid transparent;background-clip:content-box}.dark ::-webkit-scrollbar-thumb{background:#3a3835;border-radius:5px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-track{background:transparent}a,button{transition-timing-function:var(--roark-ease)}"}],"page":{"pagePath":"api-reference/agent-config/resolve-config-for-a-session","slug":"/api-reference/agent-config/resolve-config-for-a-session","pageMetadata":{"title":"Resolve config for a session","description":"The call your agent makes at session start. Returns the config JSON for this session, with per-session simulation recognition built in: when the session was originated by a Roark simulation (matched by caller number against the calls Roark has in flight), the STAGING revision is served for that session only, so Autoimprove candidates are tested on your real deployment. Real traffic always resolves to production; any recognition miss degrades to production too.\n\nOn the first fetch of an unknown key, pass `defaults` (your baked-in config): the key is registered and the defaults become revision 1. That makes integration a single call.\n\nCache the response per session; do not fetch per turn.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/agent-config/{key}/resolve","href":"/api-reference/agent-config/resolve-config-for-a-session","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"The call your agent makes at session start. Returns the config JSON for this session, with per-session simulation recognition built in: when the session was originated by a Roark simulation (matched by caller number against the calls Roark has in flight), the STAGING revision is served for that session only, so Autoimprove candidates are tested on your real deployment. Real traffic always resolves to production; any recognition miss degrades to production too.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"On the first fetch of an unknown key, pass \", _jsx(_components.code, {\n children: \"defaults\"\n }), \" (your baked-in config): the key is registered and the defaults become revision 1. That makes integration a single call.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Cache the response per session; do not fetch per turn.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"everforest-light","dark":"everforest-dark"}},"config":{},"pageMetadata":{"title":"Resolve config for a session","description":"The call your agent makes at session start. Returns the config JSON for this session, with per-session simulation recognition built in: when the session was originated by a Roark simulation (matched by caller number against the calls Roark has in flight), the STAGING revision is served for that session only, so Autoimprove candidates are tested on your real deployment. Real traffic always resolves to production; any recognition miss degrades to production too.\n\nOn the first fetch of an unknown key, pass `defaults` (your baked-in config): the key is registered and the defaults become revision 1. That makes integration a single call.\n\nCache the response per session; do not fetch per turn.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/agent-config/{key}/resolve","href":"/api-reference/agent-config/resolve-config-for-a-session","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"responses":{"200":"8eff7d1b-5490-4db7-bdb3-889f91432518","400":"31ec4df3-9940-4a9e-ae21-29396a005b64","401":"fce85107-8ecd-4200-94b2-ab6399b61491","403":"0b2525bd-f62b-431b-bdb4-fa4ff3217101","404":"2962ffb0-3248-48b3-a8c1-e42c71873ae6","429":"dcb0d5ab-30e1-4839-aff4-c9128ea964ee","500":"cdc5c681-fc9c-4853-aafc-cf1d4b50f4f6"},"operationId":"postV1Agent-configByKeyResolve","tags":["Agent Config"],"summary":"Resolve config for a session","description":"The call your agent makes at session start. Returns the config JSON for this session, with per-session simulation recognition built in: when the session was originated by a Roark simulation (matched by caller number against the calls Roark has in flight), the STAGING revision is served for that session only, so Autoimprove candidates are tested on your real deployment. Real traffic always resolves to production; any recognition miss degrades to production too.\n\nOn the first fetch of an unknown key, pass `defaults` (your baked-in config): the key is registered and the defaults become revision 1. That makes integration a single call.\n\nCache the response per session; do not fetch per turn.","parameters":["8042605e-36cc-4a2c-a954-bc96220263ce"],"requestBody":"7f9a0cf3-d7c1-44e6-a3d4-485c8c83af11","x-codeSamples":[{"lang":"JavaScript","source":"import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst response = await client.agentConfig.resolve('x');\n\nconsole.log(response.data);"},{"lang":"Python","source":"import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get(\"ROARK_API_BEARER_TOKEN\"), # This is the default and can be omitted\n)\nresponse = client.agent_config.resolve(\n key=\"x\",\n)\nprint(response.data)"}],"method":"post","type":"path","servers":["0d29e135-67b4-4f6b-9b54-513d123ad050"],"security":["c61422ef-0448-44da-8f91-91e0ccb25454"],"path":"/v1/agent-config/{key}/resolve","baseUrlOptions":["https://api.roark.ai"],"title":"Resolve config for a session","codeSamples":[{"lang":"JavaScript","source":"import Roark from '@roarkanalytics/sdk';\n\nconst client = new Roark({\n bearerToken: process.env['ROARK_API_BEARER_TOKEN'], // This is the default and can be omitted\n});\n\nconst response = await client.agentConfig.resolve('x');\n\nconsole.log(response.data);"},{"lang":"Python","source":"import os\nfrom roark_analytics import Roark\n\nclient = Roark(\n bearer_token=os.environ.get(\"ROARK_API_BEARER_TOKEN\"), # This is the default and can be omitted\n)\nresponse = client.agent_config.resolve(\n key=\"x\",\n)\nprint(response.data)"}],"requiredOnlyExamples":false,"requestExampleType":"codeSamples","responseExampleType":"generated"},"dependencies":{"parameters":{"8042605e-36cc-4a2c-a954-bc96220263ce":{"in":"path","name":"key","schema":{"type":"string","pattern":"^[A-Za-z0-9][A-Za-z0-9_.-]*$","minLength":1,"maxLength":120,"isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"defaults":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"defaults.additionalProperties","typeLabel":"any"},"description":"Your baked-in config. On the first fetch of an unknown key this registers the config and becomes revision 1, so integration is a single call. Ignored once the key exists.","example":{"systemPrompt":"You are a helpful receptionist.","model":"gpt-4.1","temperature":0.4},"uniqueKey":"defaults","typeLabel":"object"},"session":{"type":"object","properties":{"sessionId":{"type":"string","maxLength":255,"description":"Your session or room identifier, for correlation.","uniqueKey":"session.sessionId","typeLabel":"string"},"callerNumber":{"type":"string","maxLength":32,"description":"The number calling your agent (E.164). Required for simulation recognition.","example":"+15551230000","uniqueKey":"session.callerNumber","typeLabel":"string"},"calledNumber":{"type":"string","maxLength":32,"description":"The number your agent was reached on (E.164).","example":"+15559870000","uniqueKey":"session.calledNumber","typeLabel":"string"}},"description":"Session context. When the call was originated by a Roark simulation, Roark recognizes it here and serves the staging revision for this session only; real traffic always gets production.","uniqueKey":"session","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"defaults":{"systemPrompt":"You are a helpful receptionist.","model":"gpt-4.1","temperature":0.4},"session":{"sessionId":"\u003cstring>","callerNumber":"+15551230000","calledNumber":"+15559870000"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"8eff7d1b-5490-4db7-bdb3-889f91432518":{"description":"The resolved config for this session.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"key":{"type":"string","isRequired":true,"uniqueKey":"data.key","typeLabel":"string"},"channel":{"type":"string","enum":["production","staging"],"description":"Which channel this session resolved to.","isRequired":true,"uniqueKey":"data.channel","typeLabel":"enum\u003cstring>"},"revisionId":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.revisionId","typeLabel":"string\u003cuuid>"},"document":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"data.document.additionalProperties","typeLabel":"any"},"description":"The config JSON to apply.","isRequired":true,"uniqueKey":"data.document","typeLabel":"object"},"simulationJobId":{"oneOf":[{"type":"string","format":"uuid","description":"Set when this session is a Roark simulation call. Stamp it (and the revisionId) into your session metadata so analysis attributes the call correctly.","isRequired":true,"uniqueKey":"data.simulationJobId.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Set when this session is a Roark simulation call. Stamp it (and the revisionId) into your session metadata so analysis attributes the call correctly.","isRequired":true,"uniqueKey":"data.simulationJobId.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.simulationJobId","typeLabel":"string\u003cuuid> | null"}},"required":["key","channel","revisionId","document","simulationJobId"],"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"key":"\u003cstring>","channel":"production","revisionId":"3c90c3cc-0d44-4b50-8888-8dd25736052a","document":{},"simulationJobId":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"31ec4df3-9940-4a9e-ae21-29396a005b64":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["validation","authentication","forbidden","not_found","conflict","payment_required","rate_limit","internal"],"description":"The error type category","examples":["validation","authentication"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable error code identifier","examples":["invalid_parameter","missing_required_field","unauthorized"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","examples":["The request was invalid","Authentication required"],"isRequired":true,"uniqueKey":"message","typeLabel":"string"},"param":{"type":"string","description":"The parameter that caused the error (if applicable)","examples":["email","user_id"],"uniqueKey":"param","typeLabel":"string"},"details":{"description":"Additional error context information","uniqueKey":"details","typeLabel":"any"}},"required":["type","code","message"],"description":"Validation error","uniqueKey":"","typeLabel":"object"},"example":{"type":"validation","code":"invalid_parameter","message":"The request was invalid","param":"email"},"examples":{"Example":{"title":"Example","value":{"type":"validation","code":"invalid_parameter","message":"The request was invalid","param":"email"}}},"exampleType":"examples"}},"description":"Bad Request","exampleType":"examples"},"fce85107-8ecd-4200-94b2-ab6399b61491":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["validation","authentication","forbidden","not_found","conflict","payment_required","rate_limit","internal"],"description":"The error type category","examples":["validation","authentication"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable error code identifier","examples":["invalid_parameter","missing_required_field","unauthorized"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","examples":["The request was invalid","Authentication required"],"isRequired":true,"uniqueKey":"message","typeLabel":"string"},"param":{"type":"string","description":"The parameter that caused the error (if applicable)","examples":["email","user_id"],"uniqueKey":"param","typeLabel":"string"},"details":{"description":"Additional error context information","uniqueKey":"details","typeLabel":"any"}},"required":["type","code","message"],"description":"Authentication error","uniqueKey":"","typeLabel":"object"},"example":{"type":"authentication","code":"unauthorized","message":"Authentication required"},"examples":{"Example":{"title":"Example","value":{"type":"authentication","code":"unauthorized","message":"Authentication required"}}},"exampleType":"examples"}},"description":"Unauthorized","exampleType":"examples"},"0b2525bd-f62b-431b-bdb4-fa4ff3217101":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["validation","authentication","forbidden","not_found","conflict","payment_required","rate_limit","internal"],"description":"The error type category","examples":["validation","authentication"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable error code identifier","examples":["invalid_parameter","missing_required_field","unauthorized"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","examples":["The request was invalid","Authentication required"],"isRequired":true,"uniqueKey":"message","typeLabel":"string"},"param":{"type":"string","description":"The parameter that caused the error (if applicable)","examples":["email","user_id"],"uniqueKey":"param","typeLabel":"string"},"details":{"description":"Additional error context information","uniqueKey":"details","typeLabel":"any"}},"required":["type","code","message"],"description":"Permission error","uniqueKey":"","typeLabel":"object"},"example":{"type":"forbidden","code":"permission_denied","message":"You do not have permission to access this resource"},"examples":{"Example":{"title":"Example","value":{"type":"forbidden","code":"permission_denied","message":"You do not have permission to access this resource"}}},"exampleType":"examples"}},"description":"Forbidden","exampleType":"examples"},"2962ffb0-3248-48b3-a8c1-e42c71873ae6":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["validation","authentication","forbidden","not_found","conflict","payment_required","rate_limit","internal"],"description":"The error type category","examples":["validation","authentication"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable error code identifier","examples":["invalid_parameter","missing_required_field","unauthorized"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","examples":["The request was invalid","Authentication required"],"isRequired":true,"uniqueKey":"message","typeLabel":"string"},"param":{"type":"string","description":"The parameter that caused the error (if applicable)","examples":["email","user_id"],"uniqueKey":"param","typeLabel":"string"},"details":{"description":"Additional error context information","uniqueKey":"details","typeLabel":"any"}},"required":["type","code","message"],"description":"Not found error","uniqueKey":"","typeLabel":"object"},"example":{"type":"not_found","code":"resource_not_found","message":"The requested resource could not be found"},"examples":{"Example":{"title":"Example","value":{"type":"not_found","code":"resource_not_found","message":"The requested resource could not be found"}}},"exampleType":"examples"}},"description":"Unknown key and no defaults were provided","exampleType":"examples"},"dcb0d5ab-30e1-4839-aff4-c9128ea964ee":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["validation","authentication","forbidden","not_found","conflict","payment_required","rate_limit","internal"],"description":"The error type category","examples":["validation","authentication"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable error code identifier","examples":["invalid_parameter","missing_required_field","unauthorized"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","examples":["The request was invalid","Authentication required"],"isRequired":true,"uniqueKey":"message","typeLabel":"string"},"param":{"type":"string","description":"The parameter that caused the error (if applicable)","examples":["email","user_id"],"uniqueKey":"param","typeLabel":"string"},"details":{"description":"Additional error context information","uniqueKey":"details","typeLabel":"any"}},"required":["type","code","message"],"description":"Rate limit error","uniqueKey":"","typeLabel":"object"},"example":{"type":"rate_limit","code":"too_many_requests","message":"Rate limit exceeded"},"examples":{"Example":{"title":"Example","value":{"type":"rate_limit","code":"too_many_requests","message":"Rate limit exceeded"}}},"exampleType":"examples"}},"description":"Too Many Requests","exampleType":"examples"},"cdc5c681-fc9c-4853-aafc-cf1d4b50f4f6":{"content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","enum":["validation","authentication","forbidden","not_found","conflict","payment_required","rate_limit","internal"],"description":"The error type category","examples":["validation","authentication"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","description":"Machine-readable error code identifier","examples":["invalid_parameter","missing_required_field","unauthorized"],"isRequired":true,"uniqueKey":"code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message","examples":["The request was invalid","Authentication required"],"isRequired":true,"uniqueKey":"message","typeLabel":"string"},"param":{"type":"string","description":"The parameter that caused the error (if applicable)","examples":["email","user_id"],"uniqueKey":"param","typeLabel":"string"},"details":{"description":"Additional error context information","uniqueKey":"details","typeLabel":"any"}},"required":["type","code","message"],"description":"Server error","uniqueKey":"","typeLabel":"object"},"example":{"type":"internal","code":"internal_error","message":"Internal server error"},"examples":{"Example":{"title":"Example","value":{"type":"internal","code":"internal_error","message":"Internal server error"}}},"exampleType":"examples"}},"description":"Internal Server Error","exampleType":"examples"}},"security":{"c61422ef-0448-44da-8f91-91e0ccb25454":{"Bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"Bearer"}}},"servers":{"0d29e135-67b4-4f6b-9b54-513d123ad050":{"description":"Production","url":"https://api.roark.ai"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","scopes":[],"schemeName":"Bearer"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"Bearer","name":"Authorization"}],"title":"Bearer"}]},"originalFileLocation":"api-reference/openapi.documented.json"},"subdomain":"roark","siteName":"Roark Docs","title":"Resolve config for a session - Roark Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-06T03:18:23.471Z","originalFileLocation":"api-reference/agent-config/resolve-config-for-a-session.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=\"description\" content=\"The call your agent makes at session start. Returns the config JSON for this session, with per-session simulation recognition built in: when the session was originated by a Roark simulation (matched by caller number against the calls Roark has in flight), the STAGING revision is served for that session only, so Autoimprove candidates are tested on your real deployment. Real traffic always resolves to production; any recognition miss degrades to production too. On the first fetch of an unknown key, pass defaults (your baked-in config): the key is registered and the defaults become revision 1. That makes integration a single call. Cache the response per session; do not fetch per turn.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Roark Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/roark/E3SiV_DMp7O0imMO/_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/roark/E3SiV_DMp7O0imMO/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/roark/E3SiV_DMp7O0imMO/_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/roark/E3SiV_DMp7O0imMO/_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/roark/E3SiV_DMp7O0imMO/_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/roark/E3SiV_DMp7O0imMO/_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/roark/E3SiV_DMp7O0imMO/_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/roark/E3SiV_DMp7O0imMO/_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/roark/E3SiV_DMp7O0imMO/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Resolve config for a session - Roark Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"The call your agent makes at session start. Returns the config JSON for this session, with per-session simulation recognition built in: when the session was originated by a Roark simulation (matched by caller number against the calls Roark has in flight), the STAGING revision is served for that session only, so Autoimprove candidates are tested on your real deployment. Real traffic always resolves to production; any recognition miss degrades to production too. On the first fetch of an unknown key, pass defaults (your baked-in config): the key is registered and the defaults become revision 1. That makes integration a single call. Cache the response per session; do not fetch per turn.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Roark Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.roark.ai/api-reference/agent-config/resolve-config-for-a-session\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://roark.mintlify.site/_mintlify/api/og/v2?division=Agent+Config\u0026amp;title=Resolve+config+for+a+session\u0026amp;description=The+call+your+agent+makes+at+session+start.+Returns+the+config+JSON+for+this+session%2C+with+per-session+simulation+recognition+built+in%3A+when+the+session+was+ori\u0026amp;theme=0214e8eaec612c77add8c6d0\u0026amp;signature=205e351cfd0dcd3a96016af0ed5a7aaad7891175590f5c70f687d8b1f912bf9c\">\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=\"Resolve config for a session - Roark Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The call your agent makes at session start. Returns the config JSON for this session, with per-session simulation recognition built in: when the session was originated by a Roark simulation (matched by caller number against the calls Roark has in flight), the STAGING revision is served for that session only, so Autoimprove candidates are tested on your real deployment. Real traffic always resolves to production; any recognition miss degrades to production too. On the first fetch of an unknown key, pass defaults (your baked-in config): the key is registered and the defaults become revision 1. That makes integration a single call. Cache the response per session; do not fetch per turn.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://roark.mintlify.site/_mintlify/api/og/v2?division=Agent+Config\u0026amp;title=Resolve+config+for+a+session\u0026amp;description=The+call+your+agent+makes+at+session+start.+Returns+the+config+JSON+for+this+session%2C+with+per-session+simulation+recognition+built+in%3A+when+the+session+was+ori\u0026amp;theme=0214e8eaec612c77add8c6d0\u0026amp;signature=205e351cfd0dcd3a96016af0ed5a7aaad7891175590f5c70f687d8b1f912bf9c\">\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/roark/E3SiV_DMp7O0imMO/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Roark Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#006838\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.roark.ai/api-reference/agent-config/resolve-config-for-a-session\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/agent-config/resolve-config-for-a-session.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.roark.ai/#organization\",\"name\":\"Roark Docs\",\"url\":\"https://docs.roark.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/roark/roh5qorg6REL9dkn/images/logo/light.svg?fit=max\u0026auto=format\u0026n=roh5qorg6REL9dkn\u0026q=85\u0026s=040c5cac74f0bd94ad25a3ccfdb45dbc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.roark.ai#website\",\"name\":\"Roark Docs\",\"url\":\"https://docs.roark.ai\",\"publisher\":{\"@id\":\"https://docs.roark.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.roark.ai/api-reference/agent-config/resolve-config-for-a-session#webpage\",\"url\":\"https://docs.roark.ai/api-reference/agent-config/resolve-config-for-a-session\",\"name\":\"Resolve config for a session\",\"description\":\"The call your agent makes at session start. Returns the config JSON for this session, with per-session simulation recognition built in: when the session was originated by a Roark simulation (matched by caller number against the calls Roark has in flight), the STAGING revision is served for that session only, so Autoimprove candidates are tested on your real deployment. Real traffic always resolves to production; any recognition miss degrades to production too. On the first fetch of an unknown key, pass defaults (your baked-in config): the key is registered and the defaults become revision 1. That makes integration a single call. Cache the response per session; do not fetch per turn.\",\"dateModified\":\"2026-11-06T03:18:23.471Z\",\"isPartOf\":{\"@id\":\"https://docs.roark.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.roark.ai/api-reference/agent-config/resolve-config-for-a-session#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.roark.ai/api-reference/agent-config/resolve-config-for-a-session#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Roark Docs\",\"item\":\"https://docs.roark.ai\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Resolve config for a session\",\"item\":\"https://docs.roark.ai/api-reference/agent-config/resolve-config-for-a-session\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.roark.ai/api-reference/agent-config/resolve-config-for-a-session#apireference\",\"headline\":\"Resolve config for a session\",\"name\":\"Resolve config for a session\",\"description\":\"The call your agent makes at session start. Returns the config JSON for this session, with per-session simulation recognition built in: when the session was originated by a Roark simulation (matched by caller number against the calls Roark has in flight), the STAGING revision is served for that session only, so Autoimprove candidates are tested on your real deployment. Real traffic always resolves to production; any recognition miss degrades to production too. On the first fetch of an unknown key, pass defaults (your baked-in config): the key is registered and the defaults become revision 1. That makes integration a single call. Cache the response per session; do not fetch per turn.\",\"url\":\"https://docs.roark.ai/api-reference/agent-config/resolve-config-for-a-session\",\"mainEntityOfPage\":{\"@id\":\"https://docs.roark.ai/api-reference/agent-config/resolve-config-for-a-session#webpage\"},\"dateModified\":\"2026-11-06T03:18:23.471Z\",\"publisher\":{\"@id\":\"https://docs.roark.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.roark.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Roark Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Roark Docs","nav":{"global":{},"tabs":[{"tab":"Guides","icon":"book","pages":[{"title":"Guides","href":"/documentation/getting-started/introduction"}]},{"tab":"Config as Code","icon":"file-code","pages":[{"title":"Config as Code","href":"/documentation/config-as-code/overview"}]},{"tab":"SDKs \u0026 CLI","icon":"code","pages":[{"title":"SDKs \u0026 CLI","href":"/documentation/sdks/node-sdk"}]},{"tab":"API Reference","icon":"terminal","groups":[{"group":"API Reference","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Authorization","href":"/api-reference/authorization"}]},{"group":"Health","pages":[{"title":"Get API health status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /health","href":"/api-reference/health/get-api-health-status"}]},{"group":"CLI Auth","pages":[{"title":"Exchange a CLI authorization code for an API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/cli/auth/token","href":"/api-reference/cli-auth/exchange-a-cli-authorization-code-for-an-api-key"}]},{"group":"Prospect Simulation","pages":[{"title":"Run a free simulation against a prospect agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/public/prospect-sim/run","href":"/api-reference/prospect-simulation/run-a-free-simulation-against-a-prospect-agent"},{"title":"Read a prospect simulation teaser report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/public/prospect-sim/report/{token}","href":"/api-reference/prospect-simulation/read-a-prospect-simulation-teaser-report"},{"title":"Mint a live observer WebSocket URL for a prospect call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/public/prospect-sim/report/{token}/observer-url","href":"/api-reference/prospect-simulation/mint-a-live-observer-websocket-url-for-a-prospect-call"}]},{"group":"Campaign Credit","pages":[{"title":"Claim a campaign credit","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/public/campaign-credit/{campaignKey}/claim","href":"/api-reference/campaign-credit/claim-a-campaign-credit"},{"title":"Verify a campaign credit claim","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/public/campaign-credit/verify","href":"/api-reference/campaign-credit/verify-a-campaign-credit-claim"}]},{"group":"Me","pages":[{"title":"Describe the current credential","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/me","href":"/api-reference/me/describe-the-current-credential"},{"title":"List your personal credentials","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/me/api-keys","href":"/api-reference/me/list-your-personal-credentials"},{"title":"Create a personal credential","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/me/api-keys","href":"/api-reference/me/create-a-personal-credential"},{"title":"Revoke one of your personal credentials","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/me/api-keys/{id}","href":"/api-reference/me/revoke-one-of-your-personal-credentials"}]},{"group":"Project","pages":[{"title":"List projects available to this credential","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/projects","href":"/api-reference/project/list-projects-available-to-this-credential"}]},{"group":"Agent Endpoint","pages":[{"title":"List agent endpoints","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/agent/endpoint","href":"/api-reference/agent-endpoint/list-agent-endpoints"},{"title":"Create a new agent endpoint","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/agent/endpoint","href":"/api-reference/agent-endpoint/create-a-new-agent-endpoint"},{"title":"Get agent endpoint by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/agent/endpoint/{endpointId}","href":"/api-reference/agent-endpoint/get-agent-endpoint-by-id"},{"title":"Update an agent endpoint","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/agent/endpoint/{endpointId}","href":"/api-reference/agent-endpoint/update-an-agent-endpoint"}]},{"group":"Agent","pages":[{"title":"List an agent's prompts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/agent/{agentId}/prompts","href":"/api-reference/agent/list-an-agents-prompts"},{"title":"Set an agent's prompt","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/agent/{agentId}/prompts","href":"/api-reference/agent/set-an-agents-prompt"},{"title":"List a prompt's versions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/agent/{agentId}/prompts/{promptId}/versions","href":"/api-reference/agent/list-a-prompts-versions"},{"title":"List an agent's versions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/agent/{agentId}/versions","href":"/api-reference/agent/list-an-agents-versions"},{"title":"Get an agent version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/agent/{agentId}/versions/{versionId}","href":"/api-reference/agent/get-an-agent-version"},{"title":"Roll an agent back to a version","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/agent/{agentId}/versions/{versionId}/rollback","href":"/api-reference/agent/roll-an-agent-back-to-a-version"},{"title":"Get an agent's draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/agent/{agentId}/draft","href":"/api-reference/agent/get-an-agents-draft"},{"title":"Edit the draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/agent/{agentId}/draft","href":"/api-reference/agent/edit-the-draft"},{"title":"Start a draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/agent/{agentId}/draft","href":"/api-reference/agent/start-a-draft"},{"title":"Discard the draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/agent/{agentId}/draft","href":"/api-reference/agent/discard-the-draft"},{"title":"Publish the draft","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/agent/{agentId}/draft/publish","href":"/api-reference/agent/publish-the-draft"},{"title":"List agents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/agent","href":"/api-reference/agent/list-agents"},{"title":"Create a new agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/agent","href":"/api-reference/agent/create-a-new-agent"},{"title":"Get agent by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/agent/{agentId}","href":"/api-reference/agent/get-agent-by-id"},{"title":"Update an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/agent/{agentId}","href":"/api-reference/agent/update-an-agent"},{"title":"Delete an agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/agent/{agentId}","href":"/api-reference/agent/delete-an-agent"},{"title":"Build a Roark-hosted agent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/agent/build","href":"/api-reference/agent/build-a-roark-hosted-agent"}]},{"group":"Tool","pages":[{"title":"List tools","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/tool","href":"/api-reference/tool/list-tools"},{"title":"Create a tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/tool","href":"/api-reference/tool/create-a-tool"},{"title":"Get a tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/tool/{toolId}","href":"/api-reference/tool/get-a-tool"},{"title":"Update a tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/tool/{toolId}","href":"/api-reference/tool/update-a-tool"},{"title":"Delete a tool","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/tool/{toolId}","href":"/api-reference/tool/delete-a-tool"}]},{"group":"Phone Number","pages":[{"title":"List phone numbers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/phone-number","href":"/api-reference/phone-number/list-phone-numbers"},{"title":"Buy a phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/phone-number","href":"/api-reference/phone-number/buy-a-phone-number"},{"title":"Search available phone numbers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/phone-number/available","href":"/api-reference/phone-number/search-available-phone-numbers"},{"title":"Get the phone number allowance","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/phone-number/allowance","href":"/api-reference/phone-number/get-the-phone-number-allowance"},{"title":"Update a phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/phone-number/{phoneNumberId}","href":"/api-reference/phone-number/update-a-phone-number"},{"title":"Release a phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/phone-number/{phoneNumberId}","href":"/api-reference/phone-number/release-a-phone-number"}]},{"group":"Call","pages":[{"title":"List calls","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/call","href":"/api-reference/call/list-calls"},{"title":"Create a call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/call","href":"/api-reference/call/create-a-call"},{"title":"Get a call by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/call/{callId}","href":"/api-reference/call/get-a-call-by-id"},{"title":"Delete a call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/call/{callId}","href":"/api-reference/call/delete-a-call"},{"title":"Delete calls in batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/call/batch-delete","href":"/api-reference/call/delete-calls-in-batch"},{"title":"List call sentiment runs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/call/{callId}/sentiment-run","href":"/api-reference/call/list-call-sentiment-runs"},{"title":"List call metrics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/call/{callId}/metrics","href":"/api-reference/call/list-call-metrics"},{"title":"Get call transcript","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/call/{callId}/transcript","href":"/api-reference/call/get-call-transcript"},{"title":"Append tool invocations to a call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/call/{callId}/tool-invocations","href":"/api-reference/call/append-tool-invocations-to-a-call"},{"title":"Update the properties of a call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json patch /v1/call/{callId}/properties","href":"/api-reference/call/update-the-properties-of-a-call"},{"title":"Get call cost","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/call/{callId}/cost","href":"/api-reference/call/get-call-cost"}]},{"group":"Chat","pages":[{"title":"List chats","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/chat","href":"/api-reference/chat/list-chats"},{"title":"Create a chat","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/chat","href":"/api-reference/chat/create-a-chat"},{"title":"Get a chat by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/chat/{id}","href":"/api-reference/chat/get-a-chat-by-id"},{"title":"Get chat transcript","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/chat/{id}/transcript","href":"/api-reference/chat/get-chat-transcript"},{"title":"List chat metrics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/chat/{id}/metrics","href":"/api-reference/chat/list-chat-metrics"}]},{"group":"Metric","pages":[{"title":"List metric definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/metric/definitions","href":"/api-reference/metric/list-metric-definitions"},{"title":"Create custom metric definition","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/metric/definitions","href":"/api-reference/metric/create-custom-metric-definition"},{"title":"Get a metric definition","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/metric/definitions/{idOrSlug}","href":"/api-reference/metric/get-a-metric-definition"},{"title":"Update a metric definition","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/metric/definitions/{idOrSlug}","href":"/api-reference/metric/update-a-metric-definition"},{"title":"Delete a metric definition","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/metric/definitions/{idOrSlug}","href":"/api-reference/metric/delete-a-metric-definition"},{"title":"Create a threshold on a metric","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/metric/definitions/{idOrSlug}/thresholds","href":"/api-reference/metric/create-a-threshold-on-a-metric"},{"title":"List a metric’s variants","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/metric/definitions/{idOrSlug}/variants","href":"/api-reference/metric/list-a-metric’s-variants"},{"title":"Create a metric variant","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/metric/definitions/{idOrSlug}/variants","href":"/api-reference/metric/create-a-metric-variant"},{"title":"Get a metric variant","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/metric/definitions/{idOrSlug}/variants/{variantId}","href":"/api-reference/metric/get-a-metric-variant"},{"title":"Update a metric variant","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/metric/definitions/{idOrSlug}/variants/{variantId}","href":"/api-reference/metric/update-a-metric-variant"},{"title":"Delete a metric variant","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/metric/definitions/{idOrSlug}/variants/{variantId}","href":"/api-reference/metric/delete-a-metric-variant"},{"title":"Http request metric","version":null,"deprecated":null,"openapi":"/api-reference/openapi.documented.json webhook HttpRequestMetric","href":"/api-reference/metric/http-request-metric"}]},{"group":"Metric Policy","pages":[{"title":"List metric policies","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/metric/policies","href":"/api-reference/metric-policy/list-metric-policies"},{"title":"Create a metric policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/metric/policies","href":"/api-reference/metric-policy/create-a-metric-policy"},{"title":"Get metric policy by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/metric/policies/{policyId}","href":"/api-reference/metric-policy/get-metric-policy-by-id"},{"title":"Update a metric policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/metric/policies/{policyId}","href":"/api-reference/metric-policy/update-a-metric-policy"},{"title":"Delete a metric policy","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/metric/policies/{policyId}","href":"/api-reference/metric-policy/delete-a-metric-policy"}]},{"group":"Metric Collection Job","pages":[{"title":"List metric collection jobs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/metric/collection-jobs","href":"/api-reference/metric-collection-job/list-metric-collection-jobs"},{"title":"Create and run a metric collection job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/metric/collection-jobs","href":"/api-reference/metric-collection-job/create-and-run-a-metric-collection-job"},{"title":"Get metric collection job by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/metric/collection-jobs/{jobId}","href":"/api-reference/metric-collection-job/get-metric-collection-job-by-id"},{"title":"Retry a metric collection job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/metric/collection-jobs/{jobId}/retry","href":"/api-reference/metric-collection-job/retry-a-metric-collection-job"},{"title":"Cancel a metric collection job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/metric/collection-jobs/{jobId}/cancel","href":"/api-reference/metric-collection-job/cancel-a-metric-collection-job"},{"title":"Get metric values produced by a metric collection job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/metric/collection-jobs/{jobId}/metric-values","href":"/api-reference/metric-collection-job/get-metric-values-produced-by-a-metric-collection-job"}]},{"group":"Simulation Persona","pages":[{"title":"List personas","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/persona","href":"/api-reference/simulation-persona/list-personas"},{"title":"Create a new persona","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/persona","href":"/api-reference/simulation-persona/create-a-new-persona"},{"title":"Get persona by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/persona/{personaId}","href":"/api-reference/simulation-persona/get-persona-by-id"},{"title":"Update a persona","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/persona/{personaId}","href":"/api-reference/simulation-persona/update-a-persona"},{"title":"Delete a persona","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/persona/{personaId}","href":"/api-reference/simulation-persona/delete-a-persona"}]},{"group":"Simulation","pages":[{"title":"Run a simulation","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/simulation/run","href":"/api-reference/simulation/run-a-simulation"},{"title":"List run groups","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/run-group","href":"/api-reference/simulation/list-run-groups"},{"title":"Create a run group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/simulation/run-group","href":"/api-reference/simulation/create-a-run-group"},{"title":"Get a run group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/run-group/{groupId}","href":"/api-reference/simulation/get-a-run-group"},{"title":"Delete a run group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/simulation/run-group/{groupId}","href":"/api-reference/simulation/delete-a-run-group"},{"title":"Regenerate a run group report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/simulation/run-group/{groupId}/report","href":"/api-reference/simulation/regenerate-a-run-group-report"},{"title":"List simulation groups","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/group","href":"/api-reference/simulation/list-simulation-groups"},{"title":"Create a simulation group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/simulation/group","href":"/api-reference/simulation/create-a-simulation-group"},{"title":"Get a simulation group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/group/{groupId}","href":"/api-reference/simulation/get-a-simulation-group"},{"title":"Update a simulation group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/simulation/group/{groupId}","href":"/api-reference/simulation/update-a-simulation-group"},{"title":"Delete a simulation group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/simulation/group/{groupId}","href":"/api-reference/simulation/delete-a-simulation-group"},{"title":"Run a simulation group","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/simulation/group/{groupId}/run","href":"/api-reference/simulation/run-a-simulation-group"},{"title":"Mock a tool call during a test call","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/simulation/tool-mock","href":"/api-reference/simulation/mock-a-tool-call-during-a-test-call"},{"title":"List tool fixtures","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/tool-fixture","href":"/api-reference/simulation/list-tool-fixtures"},{"title":"Set a tool fixture","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/simulation/tool-fixture","href":"/api-reference/simulation/set-a-tool-fixture"},{"title":"Update a tool fixture","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/simulation/tool-fixture/{fixtureId}","href":"/api-reference/simulation/update-a-tool-fixture"},{"title":"Delete a tool fixture","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/simulation/tool-fixture/{fixtureId}","href":"/api-reference/simulation/delete-a-tool-fixture"}]},{"group":"Simulation Environment","pages":[{"title":"List environments","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/environment","href":"/api-reference/simulation-environment/list-environments"},{"title":"Create an environment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/simulation/environment","href":"/api-reference/simulation-environment/create-an-environment"},{"title":"Get environment by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/environment/{environmentId}","href":"/api-reference/simulation-environment/get-environment-by-id"},{"title":"Update an environment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/simulation/environment/{environmentId}","href":"/api-reference/simulation-environment/update-an-environment"},{"title":"Delete an environment","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/simulation/environment/{environmentId}","href":"/api-reference/simulation-environment/delete-an-environment"}]},{"group":"Simulation Run Plan","pages":[{"title":"List run plans","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/plan","href":"/api-reference/simulation-run-plan/list-run-plans"},{"title":"Create a run plan","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/simulation/plan","href":"/api-reference/simulation-run-plan/create-a-run-plan"},{"title":"Get run plan by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/plan/{planId}","href":"/api-reference/simulation-run-plan/get-run-plan-by-id"},{"title":"Update a run plan","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/simulation/plan/{planId}","href":"/api-reference/simulation-run-plan/update-a-run-plan"},{"title":"Delete a run plan","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/simulation/plan/{planId}","href":"/api-reference/simulation-run-plan/delete-a-run-plan"}]},{"group":"Simulation Run Plan Job","pages":[{"title":"List simulation plan jobs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/plan/jobs","href":"/api-reference/simulation-run-plan-job/list-simulation-plan-jobs"},{"title":"Get simulation plan job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/plan/job/{jobId}","href":"/api-reference/simulation-run-plan-job/get-simulation-plan-job"},{"title":"Cancel a simulation plan job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/simulation/plan/job/{jobId}/cancel","href":"/api-reference/simulation-run-plan-job/cancel-a-simulation-plan-job"},{"title":"Run a simulation plan","deprecated":true,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/simulation/plan/{planId}/job","href":"/api-reference/simulation-run-plan-job/run-a-simulation-plan"},{"title":"Get simulation run results","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/plan/job/{jobId}/results","href":"/api-reference/simulation-run-plan-job/get-simulation-run-results"},{"title":"Generate simulation run debrief","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/simulation/plan/job/{jobId}/debrief","href":"/api-reference/simulation-run-plan-job/generate-simulation-run-debrief"},{"title":"Get simulation run cost","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/plan/job/{jobId}/cost","href":"/api-reference/simulation-run-plan-job/get-simulation-run-cost"}]},{"group":"Simulation Template","pages":[{"title":"List simulation templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/template","href":"/api-reference/simulation-template/list-simulation-templates"}]},{"group":"Simulation Audio Clip","pages":[{"title":"List audio clips","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/audio-clip","href":"/api-reference/simulation-audio-clip/list-audio-clips"}]},{"group":"Simulation Job","pages":[{"title":"Lookup by phone number","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/job/lookup","href":"/api-reference/simulation-job/lookup-by-phone-number"},{"title":"Get simulation by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/job/{jobId}","href":"/api-reference/simulation-job/get-simulation-by-id"},{"title":"List mocked tool invocations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/simulation/job/{jobId}/tool-mock","href":"/api-reference/simulation-job/list-mocked-tool-invocations"}]},{"group":"Customer Flow","pages":[{"title":"List customer flows","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/customer-flow","href":"/api-reference/customer-flow/list-customer-flows"},{"title":"Create a customer flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/customer-flow","href":"/api-reference/customer-flow/create-a-customer-flow"},{"title":"Get customer flow by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/customer-flow/{flowId}","href":"/api-reference/customer-flow/get-customer-flow-by-id"},{"title":"Update a customer flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/customer-flow/{flowId}","href":"/api-reference/customer-flow/update-a-customer-flow"},{"title":"Delete a customer flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/customer-flow/{flowId}","href":"/api-reference/customer-flow/delete-a-customer-flow"},{"title":"Replace a scripted flow's steps","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/customer-flow/{flowId}/graph","href":"/api-reference/customer-flow/replace-a-scripted-flows-steps"},{"title":"Update a flow's happy path","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/customer-flow/{flowId}/happy-path","href":"/api-reference/customer-flow/update-a-flows-happy-path"},{"title":"Duplicate a customer flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/customer-flow/{flowId}/duplicate","href":"/api-reference/customer-flow/duplicate-a-customer-flow"}]},{"group":"Customer Flow Edge Case","pages":[{"title":"Add an edge case","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/customer-flow/{flowId}/edge-case","href":"/api-reference/customer-flow-edge-case/add-an-edge-case"},{"title":"Update an edge case","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/customer-flow/{flowId}/edge-case/{edgeCaseId}","href":"/api-reference/customer-flow-edge-case/update-an-edge-case"},{"title":"Remove an edge case","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/customer-flow/{flowId}/edge-case/{edgeCaseId}","href":"/api-reference/customer-flow-edge-case/remove-an-edge-case"},{"title":"Promote an edge case to the happy path","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/customer-flow/{flowId}/edge-case/{edgeCaseId}/promote","href":"/api-reference/customer-flow-edge-case/promote-an-edge-case-to-the-happy-path"}]},{"group":"HTTP Request Definition","pages":[{"title":"List HTTP request definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/http-request-definition","href":"/api-reference/http-request-definition/list-http-request-definitions"},{"title":"Create HTTP request definition","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/http-request-definition","href":"/api-reference/http-request-definition/create-http-request-definition"},{"title":"Get HTTP request definition by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/http-request-definition/{definitionId}","href":"/api-reference/http-request-definition/get-http-request-definition-by-id"},{"title":"Update HTTP request definition","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/http-request-definition/{definitionId}","href":"/api-reference/http-request-definition/update-http-request-definition"}]},{"group":"Webhook","pages":[{"title":"List webhooks","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/webhook","href":"/api-reference/webhook/list-webhooks"},{"title":"Create webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/webhook","href":"/api-reference/webhook/create-webhook"},{"title":"Get webhook by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/webhook/{webhookId}","href":"/api-reference/webhook/get-webhook-by-id"},{"title":"Delete webhook","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/webhook/{webhookId}","href":"/api-reference/webhook/delete-webhook"},{"title":"Event","version":null,"deprecated":null,"openapi":"/api-reference/openapi.documented.json webhook Webhook","href":"/api-reference/webhook/event"}]},{"group":"Issue","pages":[{"title":"List issues","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/issue","href":"/api-reference/issue/list-issues"},{"title":"Create issue","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/issue","href":"/api-reference/issue/create-issue"},{"title":"Get issue by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/issue/{issueId}","href":"/api-reference/issue/get-issue-by-id"}]},{"group":"Autoimprove","pages":[{"title":"List Autoimprove jobs","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/autoimprove/job","href":"/api-reference/autoimprove/list-autoimprove-jobs"},{"title":"Start an Autoimprove job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/autoimprove/job","href":"/api-reference/autoimprove/start-an-autoimprove-job"},{"title":"Get an Autoimprove job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/autoimprove/job/{jobId}","href":"/api-reference/autoimprove/get-an-autoimprove-job"},{"title":"Send guidance to a running job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/autoimprove/job/{jobId}/guidance","href":"/api-reference/autoimprove/send-guidance-to-a-running-job"},{"title":"Answer Roark's question","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/autoimprove/job/{jobId}/answer","href":"/api-reference/autoimprove/answer-roarks-question"},{"title":"Cancel a job","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/autoimprove/job/{jobId}/cancel","href":"/api-reference/autoimprove/cancel-a-job"},{"title":"Promote a verified job to production","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/autoimprove/job/{jobId}/promote","href":"/api-reference/autoimprove/promote-a-verified-job-to-production"},{"title":"Dismiss a verified job","description":"Discard a verified job without promoting: production stays untouched and the staging resources are cleaned up. Only a job in AWAITING_PROMOTE can be dismissed.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/autoimprove/job/{jobId}/dismiss","href":"/api-reference/autoimprove/dismiss-a-verified-job"}]},{"group":"Agent Config","pages":[{"title":"Resolve config for a session","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/agent-config/{key}/resolve","href":"/api-reference/agent-config/resolve-config-for-a-session"},{"title":"List managed configs","description":"List the managed agent configs in this project, most recent first.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/agent-config","href":"/api-reference/agent-config/list-managed-configs"},{"title":"Get a managed config","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/agent-config/{key}","href":"/api-reference/agent-config/get-a-managed-config"},{"title":"Write a config revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/agent-config/{key}","href":"/api-reference/agent-config/write-a-config-revision"},{"title":"Promote staging to production","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/agent-config/{key}/promote","href":"/api-reference/agent-config/promote-staging-to-production"},{"title":"Discard the staging revision","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/agent-config/{key}/staging","href":"/api-reference/agent-config/discard-the-staging-revision"}]},{"group":"Knowledge Base","pages":[{"title":"List knowledge bases","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/knowledge-base","href":"/api-reference/knowledge-base/list-knowledge-bases"},{"title":"Create a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/knowledge-base","href":"/api-reference/knowledge-base/create-a-knowledge-base"},{"title":"Get a knowledge base by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/knowledge-base/{id}","href":"/api-reference/knowledge-base/get-a-knowledge-base-by-id"}]},{"group":"Calendar Connection","pages":[{"title":"List calendar connections","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/calendar-connection","href":"/api-reference/calendar-connection/list-calendar-connections"},{"title":"Connect a calendar account","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/calendar-connection","href":"/api-reference/calendar-connection/connect-a-calendar-account"},{"title":"Get a calendar connection","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/calendar-connection/{connectionId}","href":"/api-reference/calendar-connection/get-a-calendar-connection"},{"title":"Delete a calendar connection","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/calendar-connection/{connectionId}","href":"/api-reference/calendar-connection/delete-a-calendar-connection"},{"title":"Update a calendar connection","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json patch /v1/calendar-connection/{connectionId}","href":"/api-reference/calendar-connection/update-a-calendar-connection"},{"title":"List what can be booked on a calendar","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/calendar-connection/{connectionId}/targets","href":"/api-reference/calendar-connection/list-what-can-be-booked-on-a-calendar"},{"title":"Read one bookable target","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/calendar-connection/{connectionId}/targets/{targetId}","href":"/api-reference/calendar-connection/read-one-bookable-target"},{"title":"Check a calendar connection","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/calendar-connection/{connectionId}/check","href":"/api-reference/calendar-connection/check-a-calendar-connection"}]},{"group":"Analytics","pages":[{"title":"Get the analytics schema","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/analytics/schema","href":"/api-reference/analytics/get-the-analytics-schema"},{"title":"Run an analytics query","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/analytics/query","href":"/api-reference/analytics/run-an-analytics-query"}]},{"group":"Dashboard","pages":[{"title":"List dashboards","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/dashboard","href":"/api-reference/dashboard/list-dashboards"},{"title":"Create a dashboard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/dashboard","href":"/api-reference/dashboard/create-a-dashboard"},{"title":"Get a dashboard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/dashboard/{dashboardId}","href":"/api-reference/dashboard/get-a-dashboard"},{"title":"Update a dashboard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/dashboard/{dashboardId}","href":"/api-reference/dashboard/update-a-dashboard"},{"title":"Delete a dashboard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/dashboard/{dashboardId}","href":"/api-reference/dashboard/delete-a-dashboard"},{"title":"Get dashboard data","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/dashboard/{dashboardId}/data","href":"/api-reference/dashboard/get-dashboard-data"},{"title":"Add a widget","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/dashboard/{dashboardId}/widget","href":"/api-reference/dashboard/add-a-widget"},{"title":"Replace a widget","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/dashboard/{dashboardId}/widget/{widgetId}","href":"/api-reference/dashboard/replace-a-widget"},{"title":"Remove a widget","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/dashboard/{dashboardId}/widget/{widgetId}","href":"/api-reference/dashboard/remove-a-widget"},{"title":"Get widget data","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/dashboard/{dashboardId}/widget/{widgetId}/data","href":"/api-reference/dashboard/get-widget-data"}]},{"group":"Live Report","pages":[{"title":"List live reports","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/live-report","href":"/api-reference/live-report/list-live-reports"},{"title":"Create a live report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/live-report","href":"/api-reference/live-report/create-a-live-report"},{"title":"Get a live report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/live-report/{reportId}","href":"/api-reference/live-report/get-a-live-report"},{"title":"Delete a live report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/live-report/{reportId}","href":"/api-reference/live-report/delete-a-live-report"},{"title":"Update a live report","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json patch /v1/live-report/{reportId}","href":"/api-reference/live-report/update-a-live-report"},{"title":"Generate a live report document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/live-report/{reportId}/generate","href":"/api-reference/live-report/generate-a-live-report-document"},{"title":"List report documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/live-report/{reportId}/document","href":"/api-reference/live-report/list-report-documents"},{"title":"Get a report document","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/live-report/{reportId}/document/{documentId}","href":"/api-reference/live-report/get-a-report-document"}]},{"group":"Config","pages":[{"title":"Diff a config bundle","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/config/diff","href":"/api-reference/config/diff-a-config-bundle"},{"title":"Apply a config bundle","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/config/apply","href":"/api-reference/config/apply-a-config-bundle"}]},{"group":"Organization Project","pages":[{"title":"List projects","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/org/project","href":"/api-reference/organization-project/list-projects"},{"title":"Create a project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/org/project","href":"/api-reference/organization-project/create-a-project"},{"title":"Get a project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/org/project/{projectId}","href":"/api-reference/organization-project/get-a-project"},{"title":"Update a project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/org/project/{projectId}","href":"/api-reference/organization-project/update-a-project"},{"title":"Delete a project","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/org/project/{projectId}","href":"/api-reference/organization-project/delete-a-project"}]},{"group":"Organization Project Member","pages":[{"title":"List project members","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/org/project/{projectId}/member","href":"/api-reference/organization-project-member/list-project-members"},{"title":"Invite a member","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/org/project/{projectId}/member","href":"/api-reference/organization-project-member/invite-a-member"},{"title":"Update a member role","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json put /v1/org/project/{projectId}/member/{memberId}","href":"/api-reference/organization-project-member/update-a-member-role"},{"title":"Remove a member","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/org/project/{projectId}/member/{memberId}","href":"/api-reference/organization-project-member/remove-a-member"}]},{"group":"Organization Project API Key","pages":[{"title":"List project API keys","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/org/project/{projectId}/api-key","href":"/api-reference/organization-project-api-key/list-project-api-keys"},{"title":"Generate a project API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json post /v1/org/project/{projectId}/api-key","href":"/api-reference/organization-project-api-key/generate-a-project-api-key"},{"title":"Revoke a project API key","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json delete /v1/org/project/{projectId}/api-key/{keyId}","href":"/api-reference/organization-project-api-key/revoke-a-project-api-key"}]},{"group":"Usage","pages":[{"title":"Get usage \u0026 cost","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/usage","href":"/api-reference/usage/get-usage-\u0026-cost"}]},{"group":"Benchmark","pages":[{"title":"List benchmark suites","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/benchmark/suite","href":"/api-reference/benchmark/list-benchmark-suites"},{"title":"List benchmark metrics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/benchmark/metric","href":"/api-reference/benchmark/list-benchmark-metrics"},{"title":"Get the benchmark leaderboard","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/benchmark/leaderboard","href":"/api-reference/benchmark/get-the-benchmark-leaderboard"},{"title":"List score samples for a target","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/benchmark/target/{targetKey}/score-sample","href":"/api-reference/benchmark/list-score-samples-for-a-target"},{"title":"List a target’s published generations","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/benchmark/target/{targetKey}/history","href":"/api-reference/benchmark/list-a-target’s-published-generations"},{"title":"Get a benchmark target","deprecated":null,"version":null,"openapi":"/api-reference/openapi.documented.json get /v1/benchmark/target/{targetKey}","href":"/api-reference/benchmark/get-a-benchmark-target"}]}]},{"tab":"CLI Reference","icon":"square-terminal","pages":[{"title":"CLI Reference","href":"/cli-reference/overview"}]},{"tab":"Changelog","icon":"history","href":"https://changelog.roark.ai"}]},"basePath":"","title":"Resolve config for a session - Roark Docs","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-Myd8dsju.js","utils-C2HkQgW0.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-8rSppmTv.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-B6MjiCFm.js","snippetPresets-DwrSAONL.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-1-a5UQKQ.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C541m7wZ.js","shallow-CWELCZ77.js","getApiPlaygroundDisplay-CTo5Zn03.js","CodeSnippet-D--dzvnl.js","CodeSnippets-DM3cXEDh.js","Page-CxAy5y67.js","getPastedJson-C-VECgcL.js","icon-BPq2-Mg3.js","MethodPill-D9J5cUHd.js","DuplicateIcon-BqHaxUnD.js","createIcon-CIbcZHp9.js","DynamicMarkdown-BKiHAm_d.js","SectionHeading-DstQXt3H.js","axios-vUo_bRtp.js","Markdown-CpxgzsKA.js","clsx-C5EfhVm0.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CJ9Oly2E.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Mk6P3qvh.js"]}