A2A-compliant streaming send. The request body uses the same
MessageSendParams shape as messages/send. The response is
delivered as Server-Sent Events (text/event-stream). Each frame is a
data: <json> line; the server emits no native SSE event: field.
Lifecycle frames use {"event":"<name>","data":{...}}.
The lifecycle sequence starts with task.status, emits zero or more
task.output.delta events, and reaches its terminal state with
task.output.completed. Clients must inspect data.status.state on
that event: completed, failed, or input-required.
Between frames, the server sends : keepalive SSE comment lines to
keep the connection open. Ignore every line starting with :, as
EventSource does.
Frames without an event property are transport frames. Discard only
the literal {"keepAlive": true} frame, the keep-alive older servers
send instead of the comment line. The server closes the stream
with a summary frame shaped as
{"error":...,"task":{"status":{"state":...}}}. Inspect that frame:
an early authorization failure is delivered there, with its code in
error.error and HTTP 200 already committed. Never treat HTTP 200 alone
as success.
The x-draft-mode: true header bypasses published_config
resolution. The same HITL approval flow as messages/send
applies - a streaming task may park in input-required until
resolved.
User-bound credential carrying an identity: either a session JWT
or a user access token (at:*) generated from the user settings UI.
Send as Authorization: Bearer <token>.
Org API keys (iak_*) are not accepted here - they carry
no user identity. Use the x-prismeai-api-key header instead
(see OrgApiKeyAuth).
Client-chosen message identifier, echoed for correlation only.
It is not used to deduplicate: the server mints its own
msg_* ids for the stored history. To make a send idempotent,
use metadata.clientMessageId.
Conversation the message belongs to. Omit it to start a new
conversation, then send the contextId returned by the first
reply with every following message. Each message opens a new
task in the conversation, and the agent receives the earlier
turns of that conversation.
Only to answer a task waiting for the user (input-required),
for example a tool-call approval sent as a DataPart{"approved": true, "toolCallId": "..."} together with
contextId. A message without taskId opens a new task.
Opt-in idempotency key, scoped to (caller, agent). The client
picks it and keeps it stable across retries of the same
logical message, typically a local id minted before the
first attempt.
Replaying a send with the same key returns the first answer
verbatim (with task.replayed: true) instead of running the
agent again, so a client killed before it could read the
response can retry without opening a second conversation.
A replay that arrives while the first run is still in flight
gets 409 MESSAGE_IN_PROGRESS.
The key alone identifies the message: the body of a replay is
not compared with the first one. A replay carrying a
different text, other parts or another contextId still gets
the first answer, silently. A client that changes the message
must mint a new key, and reuse a key only to retry the exact same
send. A replay still counts against the rate limits like any
other call (it is checked before the key is looked up), and
one that is over the limit gets 429, not the stored answer.
Honoured only for a caller authenticated as a user. An org API
key with no user behind it resolves to a single shared
identity, so the key would be shared by every caller of that
key: it is ignored there and the message is sent normally (the
format check below still applies).
Keys are kept for 7 days by default
(config.idempotency.receipt_retention_days); after that the
same key is treated as new. An invalid value is rejected with
400 VALIDATION_ERROR: omit the field to keep the previous
(non-idempotent) behaviour. Not supported on
messages/stream.
BCP-47 code of the user's interface language (fr, fr-FR,
pt-BR), used as the default response language only when the
message itself does not make the language clear. Also accepted
per part; the message level wins. Falls back to the
Accept-Language header; an unrecognised code is ignored.
Server-Sent Events stream of A2A task lifecycle events.
task.output.completed is the terminal lifecycle event. Its
data.status.state reports whether the task completed, failed,
or requires user input. A transport summary frame follows; inspect
its error and task.status.state fields before closing the stream.
Stream of data: <json> lines. Lifecycle frames use
{"event":"<name>","data":{...}}; the server does not
emit native SSE event: fields. Ignore : keepalive
comment lines, and discard the literal
{"keepAlive": true} frame sent by older servers. The final
summary frame has no
event; inspect error.error for an early authorization
failure and task.status.state for the final task state.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Prisme.ai","colors":{"primary":"#255BE0","light":"#4480ED","dark":"#255BE0"},"logo":{"light":"https://mintcdn.com/prismeai/_sSeZNUvs7sBNa3K/logo/light.svg?fit=max\u0026auto=format\u0026n=_sSeZNUvs7sBNa3K\u0026q=85\u0026s=4361458c99ac06f7a551020a022b802c","dark":"https://mintcdn.com/prismeai/_sSeZNUvs7sBNa3K/logo/dark.svg?fit=max\u0026auto=format\u0026n=_sSeZNUvs7sBNa3K\u0026q=85\u0026s=3a821be1a9c43dfe88d750b42b0879ca"},"favicon":"https://mintcdn.com/prismeai/_sSeZNUvs7sBNa3K/favicon.svg?fit=max\u0026auto=format\u0026n=_sSeZNUvs7sBNa3K\u0026q=85\u0026s=e62b8218f2529b02ddcca7e240aeb121","api":{"params":{"expanded":"all"},"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","javascript","python"]}},"background":{"color":{"light":"#F2F3F5","dark":"#0A0A0F"}},"navbar":{"links":[{"href":"mailto:support@prisme.ai","label":"Support"}],"primary":{"type":"button","label":"Ask for a demo","href":"https://www.prisme.ai/request-demo"}},"footer":{"socials":{"github":"https://github.com/prismeai","linkedin":"https://linkedin.com/company/prismeai"}},"seo":{"metatags":{"keywords":"sovereign agentic platform, plateforme agentique souveraine, AI Information System, enterprise AI platform, AI agents, agent governance, traceable AI, cloud agnostic, LLM agnostic, agentic workflows","robots":"index, follow","og:site_name":"Prisme.ai Documentation"},"indexing":"navigable"},"fonts":{"family":"PP Telegraf","weight":400},"contextual":{"options":["download-spec"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://blog.prisme.ai"},{"anchor":"Legacy Documentation","icon":"clock-rotate-left","href":"https://prismeai-legacy.mintlify.app/"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"prismeai","hasAudioNarration":false,"actualSubdomain":"prismeai","customDomains":["docs.prisme.ai"],"gitSource":{"type":"gitlab","owner":"prisme.ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"projectId":88542754,"mountPath":"","label":"","_id":"6aeca605e8540e9445e0c511"},"chroma":{"liveDeploymentHistoryId":"6aea0e3469138fe59fdb5617","collectionId":"ca55ecac-f49b-4815-a1bb-cf01f05dc184","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aea0e3469138fe59fdb5617"},"feedback":{"thumbs":true,"edits":false,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aeca605e8540e9445e0c518","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"API Reference","count":381},{"language":"default","tag":"Platform API","count":179},{"language":"default","tag":"Products","count":113},{"language":"default","tag":"App Store","count":88},{"language":"default","tag":"Agent Creator API","count":80},{"language":"default","tag":"Prisme.ai Workspaces","count":55},{"language":"default","tag":"Organizations","count":48},{"language":"default","tag":"Knowledges API","count":39},{"language":"default","tag":"Connectors","count":37},{"language":"default","tag":"API Gateway","count":37}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"type":"email","email":"support@prisme.ai"}},"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}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"@font-face{font-family:'PP Telegraf';src:url('https://uploads.prisme.ai/yj7mmn-/ffcs3WSD7NIciPjlrySpO.PPTelegraf-Regular.otf') format('opentype');font-weight:100 600;font-style:normal;font-display:swap}@font-face{font-family:'PP Telegraf';src:url('https://uploads.prisme.ai/yj7mmn-/lpdrPfRwHqg0SiRWe_hec.PPTelegraf-Ultrabold.otf') format('opentype');font-weight:700 900;font-style:normal;font-display:swap}:root{--prisme-primary: #255BE0;--prisme-bg: #F2F3F5;--prisme-fg: #0A0A0F;--prisme-card: #FFFFFF;--prisme-border: #E3E6EC;--prisme-muted: #6B7080;--prisme-secondary: #E3E5EB;--prisme-accent-warm: #F5A623;--prisme-radius: 0.5rem;--prisme-tabs-sticky-top: 4rem}@media (min-width: 1024px){:root{--prisme-tabs-sticky-top: 7rem}}[data-theme=\"dark\"],.dark{--prisme-bg: #0A0A0F;--prisme-fg: #FAFAFA;--prisme-card: #0A0A0F;--prisme-border: #1F2028;--prisme-muted: #9CA0AE;--prisme-secondary: #1F2028}body{font-family:'PP Telegraf', 'Inter', system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-weight:500}#navbar{border-bottom:1px solid var(--prisme-border)}#sidebar{border-right:1px solid var(--prisme-border)}callout{border-radius:var(--prisme-radius);border:1px solid var(--prisme-border)}[data-callout-type=\"warning\"] [data-component-part=\"callout-content\"],[data-callout-type=\"warning\"] [data-component-part=\"callout-content\"] strong{color:var(--prisme-fg)!important}code-block{border-radius:var(--prisme-radius)}#footer{border-top:1px solid var(--prisme-border)}[data-component-part=\"tabs-list\"]{position:sticky;top:var(--prisme-tabs-sticky-top);z-index:20;margin-bottom:0;padding-top:0.5rem;background:var(--prisme-bg);border-bottom-width:2px;border-bottom-color:var(--prisme-border);-webkit-backdrop-filter:saturate(180%) blur(6px);backdrop-filter:saturate(180%) blur(6px)}[data-component-part=\"tab-button\"]{color:var(--prisme-muted);font-weight:500;transition:color 0.15s ease, box-shadow 0.15s ease}[data-component-part=\"tab-button\"]:hover{color:var(--prisme-fg)}[data-component-part=\"tab-button\"][data-active=\"true\"]{color:var(--prisme-primary);font-weight:700;box-shadow:inset 0 -3px 0 0 var(--prisme-primary)}[data-component-part=\"tab-content\"]{border:1px solid var(--prisme-border);border-top:none;border-radius:0 0 var(--prisme-radius) var(--prisme-radius);padding:1.25rem 1.5rem;margin-bottom:2rem;background:var(--prisme-card)}[data-theme=\"dark\"] [data-component-part=\"tab-content\"],.dark [data-component-part=\"tab-content\"]{background:rgba(255, 255, 255, 0.02)}"},{"filePath":"tutorials/player.css","content":".pv-host{display:block;width:100%;aspect-ratio:16 / 9;margin:1.5rem 0}.pv.video-js{--pv-primary: #205BE1;--pv-ink: #151B24;--pv-muted: #69707F;--pv-border: #E4E7ED;--pv-surface: #F8FAFD;--pv-page: #FFFFFF;--pv-cover: #1E50D2;--pv-cover-eyebrow: #9DB4EE;--pv-cover-sub: #C9D8F7;--pv-title-font: Arial;--pv-pill-bg: #FFFFFF;--pv-pill-text: var(--pv-primary);container-type:size;background:var(--pv-page);border-radius:14px;overflow:hidden;font-family:-apple-system, BlinkMacSystemFont, \"Segoe UI\", Arial, sans-serif;color:var(--pv-ink)}.pv.video-js.vjs-fullscreen,.pv.video-js.vjs-full-window{border-radius:0}.pv.video-js>*{--u: min(1cqw, calc(100cqh / 56.25));--ox: calc(50cqw - 50 * var(--u));--oy: calc(50cqh - 28.125 * var(--u))}.pv.video-js .vjs-tech{left:calc(var(--ox) + var(--fx) * var(--u));top:calc(var(--oy) + (var(--fy) + 2.4) * var(--u));width:calc(var(--sw) * var(--u));height:calc(var(--sh) * var(--u));object-fit:cover;background:#fff;border-radius:0 0 calc(1 * var(--u)) calc(1 * var(--u))}.pv.video-js .vjs-poster{display:none}.pv.video-js .pv-frame{position:absolute;left:calc(var(--ox) + var(--fx) * var(--u));top:calc(var(--oy) + var(--fy) * var(--u));width:calc(var(--sw) * var(--u));height:calc((var(--sh) + 2.4) * var(--u));border-radius:calc(1 * var(--u));box-shadow:0 calc(1.2 * var(--u)) calc(3 * var(--u)) rgba(21, 27, 36, .18), 0 0 0 1px var(--pv-border);pointer-events:none}.pv.video-js .pv-bar{height:calc(2.4 * var(--u));display:flex;align-items:center;gap:calc(.55 * var(--u));padding:0 calc(1 * var(--u));background:var(--pv-surface);border-bottom:1px solid var(--pv-border);border-radius:calc(1 * var(--u)) calc(1 * var(--u)) 0 0}.pv.video-js .pv-bar i{width:calc(.7 * var(--u));height:calc(.7 * var(--u));border-radius:50%;background:#FF5F57}.pv.video-js .pv-bar i:nth-child(2){background:#FEBC2E}.pv.video-js .pv-bar i:nth-child(3){background:#28C840}.pv.video-js .pv-bar span{flex:1;margin:0 calc(4 * var(--u));height:calc(1.5 * var(--u));border-radius:calc(.75 * var(--u));background:#fff;border:1px solid var(--pv-border);color:var(--pv-muted);font-size:calc(.8 * var(--u));display:grid;place-items:center;overflow:hidden;white-space:nowrap}.pv.video-js .pv-panel{position:absolute;left:var(--ox);top:var(--oy);width:calc(27 * var(--u));height:calc(56.25 * var(--u));padding:calc(3.2 * var(--u)) calc(2.4 * var(--u)) calc(5.2 * var(--u)) calc(3.2 * var(--u));box-sizing:border-box;display:flex;flex-direction:column;color:var(--pv-ink);pointer-events:none}.pv.video-js .pv-panel .pv-logo{width:calc(13 * var(--u));margin-bottom:calc(4 * var(--u))}.pv.video-js h1,.pv.video-js p,.pv.video-js ol,.pv.video-js li,.pv.video-js button,.pv.video-js span{margin:0;padding:0;letter-spacing:normal;text-transform:none;font-family:inherit}.pv.video-js img{margin:0;border:0;box-shadow:none;max-width:none}.pv.video-js .pv-eyebrow{color:var(--pv-primary);font:700 calc(.95 * var(--u)) Arial;letter-spacing:.08em;text-transform:uppercase;margin-bottom:calc(.8 * var(--u))}.pv.video-js .pv-panel h1{font:700 calc(2.6 * var(--u)) / 1.12 var(--pv-title-font), Arial;margin:0 0 calc(.9 * var(--u));color:var(--pv-ink)}.pv.video-js .pv-panel p{color:var(--pv-muted);font-size:calc(1.25 * var(--u));line-height:1.4;margin:0 0 calc(2 * var(--u))}.pv.video-js .pv-toc{list-style:none;padding:0;margin:0;border-top:1px solid var(--pv-border);pointer-events:auto}.pv.video-js .pv-toc li{border-bottom:1px solid var(--pv-border);list-style:none}.pv.video-js .pv-toc li::before,.pv.video-js .pv-toc li::marker{content:none}.pv.video-js .pv-toc button{all:unset;box-sizing:border-box;width:100%;display:flex;gap:calc(.9 * var(--u));align-items:center;padding:calc(.7 * var(--u)) calc(.2 * var(--u));cursor:pointer;color:var(--pv-muted);font:calc(1.1 * var(--u)) / 1.3 inherit}.pv.video-js .pv-toc button:focus-visible{outline:2px solid var(--pv-primary);outline-offset:-2px}.pv.video-js .pv-toc .n{width:calc(1.9 * var(--u));height:calc(1.9 * var(--u));border-radius:50%;background:var(--pv-border);display:grid;place-items:center;font:700 calc(.85 * var(--u)) var(--pv-title-font), Arial;flex:none}.pv.video-js .pv-toc li.on button{color:var(--pv-ink);font-weight:600}.pv.video-js .pv-toc li.on .n{background:var(--pv-primary);color:#fff}.pv.video-js .pv-toc button:hover{color:var(--pv-ink)}.pv.video-js .pv-foot{margin-top:auto;color:var(--pv-muted);font-size:calc(.85 * var(--u))}.pv.video-js .pv-cover{position:absolute;inset:0;background:var(--pv-cover);color:#fff;display:none;z-index:2;cursor:pointer}.pv.video-js:not(.vjs-has-started) .pv-cover{display:block}.pv.video-js .pv-cover>div{position:absolute;left:calc(var(--ox) + 6 * var(--u));top:calc(var(--oy) + 5 * var(--u));width:calc(38 * var(--u))}.pv.video-js .pv-cover .pv-mark{position:absolute;left:calc(var(--ox) + 55 * var(--u));top:calc(var(--oy) + 4 * var(--u));width:calc(48 * var(--u))}.pv.video-js .pv-cover .pv-logo{width:calc(14 * var(--u));margin-bottom:calc(12 * var(--u))}.pv.video-js .pv-cover .pv-eyebrow{color:var(--pv-cover-eyebrow)}.pv.video-js .pv-cover h1{font:700 calc(4.6 * var(--u)) / 1.08 var(--pv-title-font), Arial;margin:0 0 calc(1.4 * var(--u));color:#fff}.pv.video-js .pv-cover p{color:var(--pv-cover-sub);font-size:calc(1.8 * var(--u));margin:0 0 calc(2.6 * var(--u))}.pv.video-js .pv-cover b{display:inline-block;background:var(--pv-pill-bg);color:var(--pv-pill-text);border-radius:calc(.7 * var(--u));padding:calc(.8 * var(--u)) calc(1.8 * var(--u));font:700 calc(1.3 * var(--u)) Arial}.pv.video-js .pv-tools{position:absolute;right:calc(100cqw - var(--ox) - 96.5 * var(--u));top:calc(var(--oy) + .9 * var(--u));display:flex;gap:calc(.3 * var(--u));background:var(--pv-surface);border:1px solid var(--pv-border);border-radius:calc(.8 * var(--u));padding:calc(.25 * var(--u));z-index:4}.pv.video-js .pv-tools button{border:0;background:none;padding:calc(.35 * var(--u)) calc(.9 * var(--u));border-radius:calc(.55 * var(--u));font:600 calc(.95 * var(--u)) Arial;color:var(--pv-muted);cursor:pointer}.pv.video-js .pv-tools button[aria-pressed=true]{background:var(--pv-primary);color:#fff}.pv.video-js .pv-tools button:focus-visible{outline:2px solid var(--pv-primary);outline-offset:1px}.pv.video-js .pv-ccwrap{position:relative;display:flex}.pv.video-js .pv-ccmenu{position:absolute;right:0;top:calc(100% + .5 * var(--u));margin:0;padding:calc(.35 * var(--u));list-style:none;background:#fff;border:1px solid var(--pv-border);border-radius:calc(.8 * var(--u));min-width:calc(13 * var(--u));box-shadow:0 calc(1 * var(--u)) calc(2.5 * var(--u)) rgba(21, 27, 36, .16)}.pv.video-js .pv-ccmenu li{padding:calc(.55 * var(--u)) calc(.9 * var(--u));border-radius:calc(.5 * var(--u));font:500 calc(.95 * var(--u)) Arial;color:var(--pv-ink);cursor:pointer;white-space:nowrap;display:flex;justify-content:space-between;gap:calc(1 * var(--u))}.pv.video-js .pv-ccmenu li:hover,.pv.video-js .pv-ccmenu li:focus{background:var(--pv-surface);outline:none}.pv.video-js .pv-ccmenu li[aria-checked=true]{color:var(--pv-primary);font-weight:700}.pv.video-js .pv-ccmenu li[aria-checked=true]::after{content:\"✓\"}.pv.video-js .pv-ccmenu li.sep{height:1px;padding:0;margin:calc(.3 * var(--u)) 0;background:var(--pv-border);cursor:default}.pv.video-js .pv-subs{position:absolute;left:var(--ox);width:calc(100 * var(--u));z-index:1;pointer-events:none;text-align:center;bottom:calc(100cqh - var(--oy) - 51.8 * var(--u));padding:0 calc(6 * var(--u));box-sizing:border-box;transition:bottom .25s}.pv.video-js.vjs-user-inactive.vjs-playing .pv-subs{bottom:calc(100cqh - var(--oy) - 54.4 * var(--u))}.pv.video-js .pv-subs span:not(:empty){display:inline-block;background:rgba(21, 27, 36, .84);color:#fff;border-radius:calc(.5 * var(--u));padding:calc(.35 * var(--u)) calc(1 * var(--u));font:500 calc(1.55 * var(--u)) / 1.35 Arial}.pv.video-js .pv-subs[hidden]{display:none}.pv.video-js .vjs-text-track-display{display:none}.pv.video-js .vjs-control-bar{background:linear-gradient(transparent, rgba(14, 17, 22, .82));height:max(34px, calc(3.6 * var(--u)));font-size:max(10px, calc(1.05 * var(--u)));z-index:3}.pv.video-js .vjs-big-play-button{left:50%;top:50%;transform:translate(-50%, -50%);margin:0;z-index:3;width:calc(7 * var(--u));height:calc(4.6 * var(--u));line-height:calc(4.6 * var(--u));font-size:calc(3 * var(--u));border-radius:calc(.8 * var(--u));background:var(--pv-primary);border:0;opacity:.94}.pv.video-js .vjs-big-play-button .vjs-icon-placeholder:before{line-height:calc(4.6 * var(--u))}.pv.video-js:hover .vjs-big-play-button{opacity:1}.pv.video-js .vjs-big-play-button,.pv.video-js .vjs-big-play-button .vjs-icon-placeholder{color:#fff}.pv.video-js:not(.vjs-has-started) .vjs-big-play-button{background:#fff;opacity:1;box-shadow:0 calc(.8 * var(--u)) calc(2 * var(--u)) rgba(0, 0, 0, .18)}.pv.video-js:not(.vjs-has-started) .vjs-big-play-button .vjs-icon-placeholder{color:var(--pv-primary)}.pv.video-js.vjs-has-started.vjs-paused .vjs-big-play-button{display:block}.pv.video-js.vjs-playing .vjs-big-play-button,.pv.video-js.vjs-seeking .vjs-big-play-button{display:none}"}],"page":{"pagePath":"agent-factory/messages/stream-an-agent-reply-via-sse-a2a","slug":"/agent-factory/messages/stream-an-agent-reply-via-sse-a2a","pageMetadata":{"title":"Stream an agent reply via SSE (A2A)","description":"A2A-compliant streaming send. The request body uses the same\n`MessageSendParams` shape as `messages/send`. The response is\ndelivered as Server-Sent Events (`text/event-stream`). Each frame is a\n`data: \u003cjson>` line; the server emits no native SSE `event:` field.\nLifecycle frames use `{\"event\":\"\u003cname>\",\"data\":{...}}`.\n\nThe lifecycle sequence starts with `task.status`, emits zero or more\n`task.output.delta` events, and reaches its terminal state with\n`task.output.completed`. Clients must inspect `data.status.state` on\nthat event: `completed`, `failed`, or `input-required`.\n\nBetween frames, the server sends `: keepalive` SSE comment lines to\nkeep the connection open. Ignore every line starting with `:`, as\n`EventSource` does.\n\nFrames without an `event` property are transport frames. Discard only\nthe literal `{\"keepAlive\": true}` frame, the keep-alive older servers\nsend instead of the comment line. The server closes the stream\nwith a summary frame shaped as\n`{\"error\":...,\"task\":{\"status\":{\"state\":...}}}`. Inspect that frame:\nan early authorization failure is delivered there, with its code in\n`error.error` and HTTP 200 already committed. Never treat HTTP 200 alone\nas success.\n\nThe `x-draft-mode: true` header bypasses `published_config`\nresolution. The same HITL approval flow as `messages/send`\napplies - a streaming task may park in `input-required` until\nresolved.\n","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/messages/stream","href":"/agent-factory/messages/stream-an-agent-reply-via-sse-a2a","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: [_jsxs(_components.p, {\n children: [\"A2A-compliant streaming send. The request body uses the same\\n\", _jsx(_components.code, {\n children: \"MessageSendParams\"\n }), \" shape as \", _jsx(_components.code, {\n children: \"messages/send\"\n }), \". The response is\\ndelivered as Server-Sent Events (\", _jsx(_components.code, {\n children: \"text/event-stream\"\n }), \"). Each frame is a\\n\", _jsx(_components.code, {\n children: \"data: \u003cjson>\"\n }), \" line; the server emits no native SSE \", _jsx(_components.code, {\n children: \"event:\"\n }), \" field.\\nLifecycle frames use \", _jsx(_components.code, {\n children: \"{\\\"event\\\":\\\"\u003cname>\\\",\\\"data\\\":{...}}\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The lifecycle sequence starts with \", _jsx(_components.code, {\n children: \"task.status\"\n }), \", emits zero or more\\n\", _jsx(_components.code, {\n children: \"task.output.delta\"\n }), \" events, and reaches its terminal state with\\n\", _jsx(_components.code, {\n children: \"task.output.completed\"\n }), \". Clients must inspect \", _jsx(_components.code, {\n children: \"data.status.state\"\n }), \" on\\nthat event: \", _jsx(_components.code, {\n children: \"completed\"\n }), \", \", _jsx(_components.code, {\n children: \"failed\"\n }), \", or \", _jsx(_components.code, {\n children: \"input-required\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Between frames, the server sends \", _jsx(_components.code, {\n children: \": keepalive\"\n }), \" SSE comment lines to\\nkeep the connection open. Ignore every line starting with \", _jsx(_components.code, {\n children: \":\"\n }), \", as\\n\", _jsx(_components.code, {\n children: \"EventSource\"\n }), \" does.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Frames without an \", _jsx(_components.code, {\n children: \"event\"\n }), \" property are transport frames. Discard only\\nthe literal \", _jsx(_components.code, {\n children: \"{\\\"keepAlive\\\": true}\"\n }), \" frame, the keep-alive older servers\\nsend instead of the comment line. The server closes the stream\\nwith a summary frame shaped as\\n\", _jsx(_components.code, {\n children: \"{\\\"error\\\":...,\\\"task\\\":{\\\"status\\\":{\\\"state\\\":...}}}\"\n }), \". Inspect that frame:\\nan early authorization failure is delivered there, with its code in\\n\", _jsx(_components.code, {\n children: \"error.error\"\n }), \" and HTTP 200 already committed. Never treat HTTP 200 alone\\nas success.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"The \", _jsx(_components.code, {\n children: \"x-draft-mode: true\"\n }), \" header bypasses \", _jsx(_components.code, {\n children: \"published_config\"\n }), \"\\nresolution. The same HITL approval flow as \", _jsx(_components.code, {\n children: \"messages/send\"\n }), \"\\napplies - a streaming task may park in \", _jsx(_components.code, {\n children: \"input-required\"\n }), \" until\\nresolved.\"]\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":{"config":{},"pageMetadata":{"title":"Stream an agent reply via SSE (A2A)","description":"A2A-compliant streaming send. The request body uses the same\n`MessageSendParams` shape as `messages/send`. The response is\ndelivered as Server-Sent Events (`text/event-stream`). Each frame is a\n`data: \u003cjson>` line; the server emits no native SSE `event:` field.\nLifecycle frames use `{\"event\":\"\u003cname>\",\"data\":{...}}`.\n\nThe lifecycle sequence starts with `task.status`, emits zero or more\n`task.output.delta` events, and reaches its terminal state with\n`task.output.completed`. Clients must inspect `data.status.state` on\nthat event: `completed`, `failed`, or `input-required`.\n\nBetween frames, the server sends `: keepalive` SSE comment lines to\nkeep the connection open. Ignore every line starting with `:`, as\n`EventSource` does.\n\nFrames without an `event` property are transport frames. Discard only\nthe literal `{\"keepAlive\": true}` frame, the keep-alive older servers\nsend instead of the comment line. The server closes the stream\nwith a summary frame shaped as\n`{\"error\":...,\"task\":{\"status\":{\"state\":...}}}`. Inspect that frame:\nan early authorization failure is delivered there, with its code in\n`error.error` and HTTP 200 already committed. Never treat HTTP 200 alone\nas success.\n\nThe `x-draft-mode: true` header bypasses `published_config`\nresolution. The same HITL approval flow as `messages/send`\napplies - a streaming task may park in `input-required` until\nresolved.\n","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/messages/stream","href":"/agent-factory/messages/stream-an-agent-reply-via-sse-a2a","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/prismeai/7f6a1ef93dff131f/tutorials/player.js"],"openApiReferenceData":{"operation":{"tags":["Messages"],"operationId":"streamMessage","summary":"Stream an agent reply via SSE (A2A)","description":"A2A-compliant streaming send. The request body uses the same\n`MessageSendParams` shape as `messages/send`. The response is\ndelivered as Server-Sent Events (`text/event-stream`). Each frame is a\n`data: \u003cjson>` line; the server emits no native SSE `event:` field.\nLifecycle frames use `{\"event\":\"\u003cname>\",\"data\":{...}}`.\n\nThe lifecycle sequence starts with `task.status`, emits zero or more\n`task.output.delta` events, and reaches its terminal state with\n`task.output.completed`. Clients must inspect `data.status.state` on\nthat event: `completed`, `failed`, or `input-required`.\n\nBetween frames, the server sends `: keepalive` SSE comment lines to\nkeep the connection open. Ignore every line starting with `:`, as\n`EventSource` does.\n\nFrames without an `event` property are transport frames. Discard only\nthe literal `{\"keepAlive\": true}` frame, the keep-alive older servers\nsend instead of the comment line. The server closes the stream\nwith a summary frame shaped as\n`{\"error\":...,\"task\":{\"status\":{\"state\":...}}}`. Inspect that frame:\nan early authorization failure is delivered there, with its code in\n`error.error` and HTTP 200 already committed. Never treat HTTP 200 alone\nas success.\n\nThe `x-draft-mode: true` header bypasses `published_config`\nresolution. The same HITL approval flow as `messages/send`\napplies - a streaming task may park in `input-required` until\nresolved.\n","parameters":["10b5da3a-2a5e-4814-943a-9942f6f7c046","06a2d032-9949-41cc-aa00-2ab8816519e7"],"requestBody":"8664ab5e-c855-4566-b606-239580b103c6","responses":{"200":"47a133a5-74fd-4650-9863-b78b15dac4b3","400":"6407f45b-da63-4967-9e2b-fd18e7307b84","401":"fe1d4558-122c-4e40-bd5e-6abaa82efde9","403":"b221f7f4-f4e8-4f15-bf46-ab6bce5c49eb","404":"9a83ea61-ef13-47ad-a5a0-94117f611974","429":"1c9cafab-0df9-49f6-a5b7-c3b24edc78f1"},"method":"post","type":"path","servers":["d50f9aca-9dea-41d8-8d88-2281f3c18f4c"],"security":["e964c05e-f536-4f7a-8889-2c72fbebe34e","b4c9fb75-504b-48dd-a252-4cae7d83af36"],"path":"/v1/agents/{agentId}/messages/stream","baseUrlOptions":["https://{host}/v2/workspaces/slug:agent-factory/webhooks"],"title":"Stream an agent reply via SSE (A2A)","codeSamples":[],"requestExampleLanguages":["bash","javascript","python"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"10b5da3a-2a5e-4814-943a-9942f6f7c046":{"name":"agentId","in":"path","required":true,"schema":{"type":"string","maxLength":64,"isRequired":true,"uniqueKey":"","typeLabel":"string"}},"06a2d032-9949-41cc-aa00-2ab8816519e7":{"name":"x-draft-mode","in":"header","required":false,"schema":{"type":"boolean","isRequired":false,"description":"When true, the stream exercises the agent's live (draft)\nconfig instead of `published_config`. Owners/writers only.\n","uniqueKey":"","typeLabel":"boolean"},"description":"When true, the stream exercises the agent's live (draft)\nconfig instead of `published_config`. Owners/writers only.\n"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["message"],"properties":{"message":{"type":"object","description":"A2A v0.3 flat message envelope.","properties":{"message_id":{"type":"string","maxLength":256,"description":"Client-chosen message identifier, echoed for correlation only.\nIt is **not** used to deduplicate: the server mints its own\n`msg_*` ids for the stored history. To make a send idempotent,\nuse `metadata.clientMessageId`.\n","uniqueKey":"message.message_id","typeLabel":"string"},"role":{"type":"string","enum":["user","agent"],"uniqueKey":"message.role","typeLabel":"enum\u003cstring>"},"contextId":{"type":"string","maxLength":64,"description":"Conversation the message belongs to. Omit it to start a new\nconversation, then send the `contextId` returned by the first\nreply with every following message. Each message opens a new\ntask in the conversation, and the agent receives the earlier\nturns of that conversation.\n","uniqueKey":"message.contextId","typeLabel":"string"},"taskId":{"type":"string","description":"Only to answer a task waiting for the user (`input-required`),\nfor example a tool-call approval sent as a `DataPart`\n`{\"approved\": true, \"toolCallId\": \"...\"}` together with\n`contextId`. A message without `taskId` opens a new task.\n","uniqueKey":"message.taskId","typeLabel":"string"},"metadata":{"type":"object","additionalProperties":true,"description":"Message-level metadata. Recognised keys below; any other key is\naccepted and ignored.\n","properties":{"clientMessageId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]{1,128}$","description":"Opt-in idempotency key, scoped to (caller, agent). The client\npicks it and keeps it **stable across retries of the same\nlogical message**, typically a local id minted before the\nfirst attempt.\n\nReplaying a send with the same key returns the first answer\nverbatim (with `task.replayed: true`) instead of running the\nagent again, so a client killed before it could read the\nresponse can retry without opening a second conversation.\nA replay that arrives while the first run is still in flight\ngets `409 MESSAGE_IN_PROGRESS`.\n\nThe key alone identifies the message: the body of a replay is\n**not compared** with the first one. A replay carrying a\ndifferent text, other parts or another `contextId` still gets\nthe first answer, silently. A client that changes the message\nmust mint a new key, and reuse a key only to retry the exact same\nsend. A replay still counts against the rate limits like any\nother call (it is checked before the key is looked up), and\none that is over the limit gets `429`, not the stored answer.\n\nHonoured only for a caller authenticated as a user. An org API\nkey with no user behind it resolves to a single shared\nidentity, so the key would be shared by every caller of that\nkey: it is ignored there and the message is sent normally (the\nformat check below still applies).\n\nKeys are kept for 7 days by default\n(`config.idempotency.receipt_retention_days`); after that the\nsame key is treated as new. An invalid value is rejected with\n`400 VALIDATION_ERROR`: omit the field to keep the previous\n(non-idempotent) behaviour. Not supported on\n`messages/stream`.\n","uniqueKey":"message.metadata.clientMessageId","typeLabel":"string"},"locale":{"type":"string","description":"BCP-47 code of the user's interface language (`fr`, `fr-FR`,\n`pt-BR`), used as the default response language only when the\nmessage itself does not make the language clear. Also accepted\nper part; the message level wins. Falls back to the\n`Accept-Language` header; an unrecognised code is ignored.\n","uniqueKey":"message.metadata.locale","typeLabel":"string"}},"uniqueKey":"message.metadata","typeLabel":"object"},"parts":{"type":"array","items":{"type":"object","description":"A2A message part. Discriminated by field presence:\n`TextPart` (`text`), `FilePart` (`url`/`raw`, `mediaType`,\n`filename`), `DataPart` (`data`, `mediaType`).\n","additionalProperties":true,"uniqueKey":"message.parts.items.[INDEX]","typeLabel":"object"},"uniqueKey":"message.parts","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"message","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":{"message_id":"\u003cstring>","contextId":"\u003cstring>","taskId":"\u003cstring>","metadata":{"clientMessageId":"\u003cstring>","locale":"\u003cstring>"},"parts":[{}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"47a133a5-74fd-4650-9863-b78b15dac4b3":{"description":"Server-Sent Events stream of A2A task lifecycle events.\n`task.output.completed` is the terminal lifecycle event. Its\n`data.status.state` reports whether the task completed, failed,\nor requires user input. A transport summary frame follows; inspect\nits `error` and `task.status.state` fields before closing the stream.\n","content":{"text/event-stream":{"schema":{"type":"string","description":"Stream of `data: \u003cjson>` lines. Lifecycle frames use\n`{\"event\":\"\u003cname>\",\"data\":{...}}`; the server does not\nemit native SSE `event:` fields. Ignore `: keepalive`\ncomment lines, and discard the literal\n`{\"keepAlive\": true}` frame sent by older servers. The final\nsummary frame has no\n`event`; inspect `error.error` for an early authorization\nfailure and `task.status.state` for the final task state.\n","uniqueKey":"","typeLabel":"string"},"examples":{"Example":{"title":"Example","value":"\u003cstring>"}},"exampleType":"generated"}},"exampleType":"generated"},"6407f45b-da63-4967-9e2b-fd18e7307b84":{"description":"Validation error.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable PascalCase or SNAKE_CASE error code (e.g. AgentNotFound, VALIDATION_ERROR, FORBIDDEN, METHOD_NOT_ALLOWED).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional structured context for the error.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"fe1d4558-122c-4e40-bd5e-6abaa82efde9":{"description":"Authentication required.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable PascalCase or SNAKE_CASE error code (e.g. AgentNotFound, VALIDATION_ERROR, FORBIDDEN, METHOD_NOT_ALLOWED).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional structured context for the error.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"b221f7f4-f4e8-4f15-bf46-ab6bce5c49eb":{"description":"Forbidden, including an agent with no published version called by someone who is neither an editor nor an explicit grantee.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable PascalCase or SNAKE_CASE error code (e.g. AgentNotFound, VALIDATION_ERROR, FORBIDDEN, METHOD_NOT_ALLOWED).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional structured context for the error.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"9a83ea61-ef13-47ad-a5a0-94117f611974":{"description":"Agent not found.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable PascalCase or SNAKE_CASE error code (e.g. AgentNotFound, VALIDATION_ERROR, FORBIDDEN, METHOD_NOT_ALLOWED).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional structured context for the error.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"1c9cafab-0df9-49f6-a5b7-c3b24edc78f1":{"description":"Rate limit exceeded.","content":{"application/json":{"schema":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","description":"Stable PascalCase or SNAKE_CASE error code (e.g. AgentNotFound, VALIDATION_ERROR, FORBIDDEN, METHOD_NOT_ALLOWED).","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"details":{"type":"object","description":"Optional structured context for the error.","additionalProperties":true,"uniqueKey":"details","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","message":"\u003cstring>","details":{}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"e964c05e-f536-4f7a-8889-2c72fbebe34e":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"User-bound credential carrying an identity: either a session JWT\nor a user access token (`at:*`) generated from the user settings UI.\nSend as `Authorization: Bearer \u003ctoken>`.\nOrg API keys (`iak_*`) are **not** accepted here - they carry\nno user identity. Use the `x-prismeai-api-key` header instead\n(see `OrgApiKeyAuth`).\n","scopes":[],"schemeName":"BearerAuth"}},"b4c9fb75-504b-48dd-a252-4cae7d83af36":{"OrgApiKeyAuth":{"type":"apiKey","in":"header","name":"x-prismeai-api-key","description":"Organization API key (`iak_{orgSlug}_{uuid}`). Unlike\n`Authorization: Bearer`, this credential is **not** tied to a user\nidentity - it is bound to the org and its effective access is\ndefined by the scopes / permission rules attached to it (it can\nbe restricted to a single project, or kept broader).\nFor Agent Factory, these keys can be generated directly from\nthe Agent Factory UI (in addition to the AI Governance settings).\nSend as `x-prismeai-api-key: iak_...`.\n","scopes":[],"schemeName":"OrgApiKeyAuth"}}},"servers":{"d50f9aca-9dea-41d8-8d88-2281f3c18f4c":{"url":"https://{host}/v2/workspaces/slug:agent-factory/webhooks","description":"Prisme.ai workspace webhooks","variables":{"host":{"default":"api.studio.prisme.ai","description":"API host (override for self-hosted or sandbox)"}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"User-bound credential carrying an identity: either a session JWT\nor a user access token (`at:*`) generated from the user settings UI.\nSend as `Authorization: Bearer \u003ctoken>`.\nOrg API keys (`iak_*`) are **not** accepted here - they carry\nno user identity. Use the `x-prismeai-api-key` header instead\n(see `OrgApiKeyAuth`).\n","scopes":[],"schemeName":"BearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"User-bound credential carrying an identity: either a session JWT\nor a user access token (`at:*`) generated from the user settings UI.\nSend as `Authorization: Bearer \u003ctoken>`.\nOrg API keys (`iak_*`) are **not** accepted here - they carry\nno user identity. Use the `x-prismeai-api-key` header instead\n(see `OrgApiKeyAuth`).\n","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"},{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-prismeai-api-key","description":"Organization API key (`iak_{orgSlug}_{uuid}`). Unlike\n`Authorization: Bearer`, this credential is **not** tied to a user\nidentity - it is bound to the org and its effective access is\ndefined by the scopes / permission rules attached to it (it can\nbe restricted to a single project, or kept broader).\nFor Agent Factory, these keys can be generated directly from\nthe Agent Factory UI (in addition to the AI Governance settings).\nSend as `x-prismeai-api-key: iak_...`.\n","scopes":[],"schemeName":"OrgApiKeyAuth"},"schema":{"title":"x-prismeai-api-key","type":"string","description":"Organization API key (`iak_{orgSlug}_{uuid}`). Unlike\n`Authorization: Bearer`, this credential is **not** tied to a user\nidentity - it is bound to the org and its effective access is\ndefined by the scopes / permission rules attached to it (it can\nbe restricted to a single project, or kept broader).\nFor Agent Factory, these keys can be generated directly from\nthe Agent Factory UI (in addition to the AI Governance settings).\nSend as `x-prismeai-api-key: iak_...`.\n","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"OrgApiKeyAuth","name":"x-prismeai-api-key"}],"title":"OrgApiKeyAuth"}]},"originalFileLocation":"api-reference/agent-factory/swagger.yml"},"subdomain":"prismeai","siteName":"Prisme.ai","title":"Stream an agent reply via SSE (A2A) - Prisme.ai","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T16:40:31.456Z","originalFileLocation":"agent-factory/messages/stream-an-agent-reply-via-sse-a2a.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=\"A2A-compliant streaming send. The request body uses the same MessageSendParams shape as messages/send. The response is delivered as Server-Sent Events (text/event-stream). Each frame is a data: line; the server emits no native SSE event: field. Lifecycle frames use {\u0026quot;event\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;data\u0026quot;:{...}}. The lifecycle sequence starts with task.status, emits zero or more task.output.delta events, and reaches its terminal state with task.output.completed. Clients must inspect data.status.state on that event: completed, failed, or input-required. Between frames, the server sends : keepalive SSE comment lines to keep the connection open. Ignore every line starting with :, as EventSource does. Frames without an event property are transport frames. Discard only the literal {\u0026quot;keepAlive\u0026quot;: true} frame, the keep-alive older servers send instead of the comment line. The server closes the stream with a summary frame shaped as {\u0026quot;error\u0026quot;:...,\u0026quot;task\u0026quot;:{\u0026quot;status\u0026quot;:{\u0026quot;state\u0026quot;:...}}}. Inspect that frame: an early authorization failure is delivered there, with its code in error.error and HTTP 200 already committed. Never treat HTTP 200 alone as success. The x-draft-mode: true header bypasses published_config resolution. The same HITL approval flow as messages/send applies - a streaming task may park in input-required until resolved.\">\u003cmeta data-mint-head name=\"keywords\" content=\"sovereign agentic platform, plateforme agentique souveraine, AI Information System, enterprise AI platform, AI agents, agent governance, traceable AI, cloud agnostic, LLM agnostic, agentic workflows\">\u003cmeta data-mint-head name=\"application-name\" content=\"Prisme.ai\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_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/prismeai/sbDkziZfjieAR-LF/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Stream an agent reply via SSE (A2A) - Prisme.ai\">\u003cmeta data-mint-head property=\"og:description\" content=\"A2A-compliant streaming send. The request body uses the same MessageSendParams shape as messages/send. The response is delivered as Server-Sent Events (text/event-stream). Each frame is a data: line; the server emits no native SSE event: field. Lifecycle frames use {\u0026quot;event\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;data\u0026quot;:{...}}. The lifecycle sequence starts with task.status, emits zero or more task.output.delta events, and reaches its terminal state with task.output.completed. Clients must inspect data.status.state on that event: completed, failed, or input-required. Between frames, the server sends : keepalive SSE comment lines to keep the connection open. Ignore every line starting with :, as EventSource does. Frames without an event property are transport frames. Discard only the literal {\u0026quot;keepAlive\u0026quot;: true} frame, the keep-alive older servers send instead of the comment line. The server closes the stream with a summary frame shaped as {\u0026quot;error\u0026quot;:...,\u0026quot;task\u0026quot;:{\u0026quot;status\u0026quot;:{\u0026quot;state\u0026quot;:...}}}. Inspect that frame: an early authorization failure is delivered there, with its code in error.error and HTTP 200 already committed. Never treat HTTP 200 alone as success. The x-draft-mode: true header bypasses published_config resolution. The same HITL approval flow as messages/send applies - a streaming task may park in input-required until resolved.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Prisme.ai Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.prisme.ai/agent-factory/messages/stream-an-agent-reply-via-sse-a2a\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://prismeai.mintlify.app/_mintlify/api/og/v2?division=Messages\u0026amp;title=Stream+an+agent+reply+via+SSE+%28A2A%29\u0026amp;description=A2A-compliant+streaming+send.+The+request+body+uses+the+same%0A%60MessageSendParams%60+shape+as+%60messages%2Fsend%60.+The+response+is%0Adelivered+as+Server-Sent+Events+%28%60tex\u0026amp;theme=c8710758a6c77ff28ffcc297\u0026amp;signature=599567cbfbb3b499e38d2a3044d27b7df02dab51c7f6b3c8e61f7f3fd542012b\">\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=\"Stream an agent reply via SSE (A2A) - Prisme.ai\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"A2A-compliant streaming send. The request body uses the same MessageSendParams shape as messages/send. The response is delivered as Server-Sent Events (text/event-stream). Each frame is a data: line; the server emits no native SSE event: field. Lifecycle frames use {\u0026quot;event\u0026quot;:\u0026quot;\u0026quot;,\u0026quot;data\u0026quot;:{...}}. The lifecycle sequence starts with task.status, emits zero or more task.output.delta events, and reaches its terminal state with task.output.completed. Clients must inspect data.status.state on that event: completed, failed, or input-required. Between frames, the server sends : keepalive SSE comment lines to keep the connection open. Ignore every line starting with :, as EventSource does. Frames without an event property are transport frames. Discard only the literal {\u0026quot;keepAlive\u0026quot;: true} frame, the keep-alive older servers send instead of the comment line. The server closes the stream with a summary frame shaped as {\u0026quot;error\u0026quot;:...,\u0026quot;task\u0026quot;:{\u0026quot;status\u0026quot;:{\u0026quot;state\u0026quot;:...}}}. Inspect that frame: an early authorization failure is delivered there, with its code in error.error and HTTP 200 already committed. Never treat HTTP 200 alone as success. The x-draft-mode: true header bypasses published_config resolution. The same HITL approval flow as messages/send applies - a streaming task may park in input-required until resolved.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://prismeai.mintlify.app/_mintlify/api/og/v2?division=Messages\u0026amp;title=Stream+an+agent+reply+via+SSE+%28A2A%29\u0026amp;description=A2A-compliant+streaming+send.+The+request+body+uses+the+same%0A%60MessageSendParams%60+shape+as+%60messages%2Fsend%60.+The+response+is%0Adelivered+as+Server-Sent+Events+%28%60tex\u0026amp;theme=c8710758a6c77ff28ffcc297\u0026amp;signature=599567cbfbb3b499e38d2a3044d27b7df02dab51c7f6b3c8e61f7f3fd542012b\">\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/prismeai/sbDkziZfjieAR-LF/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Prisme.ai\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#255BE0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.prisme.ai/agent-factory/messages/stream-an-agent-reply-via-sse-a2a\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/agent-factory/messages/stream-an-agent-reply-via-sse-a2a.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.prisme.ai/#organization\",\"name\":\"Prisme.ai\",\"url\":\"https://docs.prisme.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/prismeai/_sSeZNUvs7sBNa3K/logo/light.svg?fit=max\u0026auto=format\u0026n=_sSeZNUvs7sBNa3K\u0026q=85\u0026s=4361458c99ac06f7a551020a022b802c\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.prisme.ai#website\",\"name\":\"Prisme.ai\",\"url\":\"https://docs.prisme.ai\",\"publisher\":{\"@id\":\"https://docs.prisme.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.prisme.ai/agent-factory/messages/stream-an-agent-reply-via-sse-a2a#webpage\",\"url\":\"https://docs.prisme.ai/agent-factory/messages/stream-an-agent-reply-via-sse-a2a\",\"name\":\"Stream an agent reply via SSE (A2A)\",\"description\":\"A2A-compliant streaming send. The request body uses the same MessageSendParams shape as messages/send. The response is delivered as Server-Sent Events (text/event-stream). Each frame is a data: line; the server emits no native SSE event: field. Lifecycle frames use {\\\"event\\\":\\\"\\\",\\\"data\\\":{...}}. The lifecycle sequence starts with task.status, emits zero or more task.output.delta events, and reaches its terminal state with task.output.completed. Clients must inspect data.status.state on that event: completed, failed, or input-required. Between frames, the server sends : keepalive SSE comment lines to keep the connection open. Ignore every line starting with :, as EventSource does. Frames without an event property are transport frames. Discard only the literal {\\\"keepAlive\\\": true} frame, the keep-alive older servers send instead of the comment line. The server closes the stream with a summary frame shaped as {\\\"error\\\":...,\\\"task\\\":{\\\"status\\\":{\\\"state\\\":...}}}. Inspect that frame: an early authorization failure is delivered there, with its code in error.error and HTTP 200 already committed. Never treat HTTP 200 alone as success. The x-draft-mode: true header bypasses published_config resolution. The same HITL approval flow as messages/send applies - a streaming task may park in input-required until resolved.\",\"dateModified\":\"2026-11-03T16:40:31.456Z\",\"isPartOf\":{\"@id\":\"https://docs.prisme.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.prisme.ai/agent-factory/messages/stream-an-agent-reply-via-sse-a2a#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.prisme.ai/agent-factory/messages/stream-an-agent-reply-via-sse-a2a#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Agent Creator API\",\"item\":\"https://docs.prisme.ai/agent-factory/profiles/list-available-agent-profiles-presets\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Messages\",\"item\":\"https://docs.prisme.ai/agent-factory/messages/send-a-message-to-an-agent-a2a-non-streaming\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Stream an agent reply via SSE (A2A)\",\"item\":\"https://docs.prisme.ai/agent-factory/messages/stream-an-agent-reply-via-sse-a2a\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.prisme.ai/agent-factory/messages/stream-an-agent-reply-via-sse-a2a#apireference\",\"headline\":\"Stream an agent reply via SSE (A2A)\",\"name\":\"Stream an agent reply via SSE (A2A)\",\"description\":\"A2A-compliant streaming send. The request body uses the same MessageSendParams shape as messages/send. The response is delivered as Server-Sent Events (text/event-stream). Each frame is a data: line; the server emits no native SSE event: field. Lifecycle frames use {\\\"event\\\":\\\"\\\",\\\"data\\\":{...}}. The lifecycle sequence starts with task.status, emits zero or more task.output.delta events, and reaches its terminal state with task.output.completed. Clients must inspect data.status.state on that event: completed, failed, or input-required. Between frames, the server sends : keepalive SSE comment lines to keep the connection open. Ignore every line starting with :, as EventSource does. Frames without an event property are transport frames. Discard only the literal {\\\"keepAlive\\\": true} frame, the keep-alive older servers send instead of the comment line. The server closes the stream with a summary frame shaped as {\\\"error\\\":...,\\\"task\\\":{\\\"status\\\":{\\\"state\\\":...}}}. Inspect that frame: an early authorization failure is delivered there, with its code in error.error and HTTP 200 already committed. Never treat HTTP 200 alone as success. The x-draft-mode: true header bypasses published_config resolution. The same HITL approval flow as messages/send applies - a streaming task may park in input-required until resolved.\",\"url\":\"https://docs.prisme.ai/agent-factory/messages/stream-an-agent-reply-via-sse-a2a\",\"mainEntityOfPage\":{\"@id\":\"https://docs.prisme.ai/agent-factory/messages/stream-an-agent-reply-via-sse-a2a#webpage\"},\"dateModified\":\"2026-11-03T16:40:31.456Z\",\"publisher\":{\"@id\":\"https://docs.prisme.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.prisme.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Prisme.ai\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Prisme.ai","nav":{"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://blog.prisme.ai"},{"anchor":"Legacy Documentation","icon":"clock-rotate-left","href":"https://prismeai-legacy.mintlify.app/"}]},"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/home"}]},{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/home"}]},{"tab":"Products","pages":[{"title":"Products","href":"/products/overview"}]},{"tab":"API Reference","groups":[{"group":"Introduction","pages":[{"title":"Overview","href":"/api-reference/introduction"},{"title":"SDKs","href":"/api-reference/sdks"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Errors","href":"/api-reference/errors"},{"title":"Rate Limits","href":"/api-reference/rate-limits"},{"title":"Security","href":"/api-reference/security"},{"title":"Versioning","href":"/api-reference/versioning"}]},{"group":"Platform API","pages":[{"group":"API Gateway","pages":[{"title":"Get Login Providers","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/login/providers","href":"/playground/api-gateway/get-login-providers"},{"title":"Anonymous Auth","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/login/anonymous","href":"/playground/api-gateway/anonymous-auth"},{"title":"Token Exchange","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/login/token-exchange","href":"/playground/api-gateway/token-exchange"},{"title":"Generic Auth Init","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/login","href":"/playground/api-gateway/generic-auth-init"},{"title":"OAuth Callback (GET)","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/login/callback","href":"/playground/api-gateway/oauth-callback-get"},{"title":"OAuth Callback (POST)","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/login/callback","href":"/playground/api-gateway/oauth-callback-post"},{"title":"SAML Service Provider Metadata","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/login/saml/{slug}/metadata","href":"/playground/api-gateway/saml-service-provider-metadata"},{"title":"Azure Auth Init","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/login/azure","href":"/playground/api-gateway/azure-auth-init"},{"title":"Azure Auth Callback","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/login/azure/callback","href":"/playground/api-gateway/azure-auth-callback"},{"title":"Get My Profile","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/me","href":"/playground/api-gateway/get-my-profile"},{"title":"Delete My User","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/user","href":"/playground/api-gateway/delete-my-user"},{"title":"Patch My User","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/user","href":"/playground/api-gateway/patch-my-user"},{"title":"Post User Photo","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/user/photo","href":"/playground/api-gateway/post-user-photo"},{"title":"List Access Tokens","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/user/accessTokens","href":"/playground/api-gateway/list-access-tokens"},{"title":"Create Access Token","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/user/accessTokens","href":"/playground/api-gateway/create-access-token"},{"title":"Delete Access Token","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/user/accessTokens/{token}","href":"/playground/api-gateway/delete-access-token"},{"title":"Issue Web Session Ticket","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/user/webSessionTicket","href":"/playground/api-gateway/issue-web-session-ticket"},{"title":"Exchange Web Session Ticket","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/user/webSession","href":"/playground/api-gateway/exchange-web-session-ticket"},{"title":"List Auth Providers","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/auth/sso","href":"/playground/api-gateway/list-auth-providers"},{"title":"Create Auth Provider","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/auth/sso","href":"/playground/api-gateway/create-auth-provider"},{"title":"Get Auth Provider","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/auth/sso/{slug}","href":"/playground/api-gateway/get-auth-provider"},{"title":"Update Auth Provider","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml put /v2/orgs/{orgSlug}/auth/sso/{slug}","href":"/playground/api-gateway/update-auth-provider"},{"title":"Delete Auth Provider","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/orgs/{orgSlug}/auth/sso/{slug}","href":"/playground/api-gateway/delete-auth-provider"},{"title":"Rotate SAML Signing Certificate","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/auth/sso/{slug}/saml/signing-cert","href":"/playground/api-gateway/rotate-saml-signing-certificate"},{"title":"Setup MFA","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/user/mfa","href":"/playground/api-gateway/setup-mfa"},{"title":"Disable another user's MFA","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/users/{userId}/mfa","href":"/playground/api-gateway/disable-another-users-mfa"},{"title":"Set Meta","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/user/meta","href":"/playground/api-gateway/set-meta"},{"title":"Delete Meta","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/user/meta/{key}","href":"/playground/api-gateway/delete-meta"},{"title":"Find Contacts","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/contacts","href":"/playground/api-gateway/find-contacts"},{"title":"Bulk Patch Users","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/users","href":"/playground/api-gateway/bulk-patch-users"},{"title":"Delete User","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/users/{userId}","href":"/playground/api-gateway/delete-user"},{"title":"Patch User","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/users/{userId}","href":"/playground/api-gateway/patch-user"},{"title":"Signup","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/signup","href":"/playground/api-gateway/signup"},{"title":"Set Active Org","deprecated":true,"version":null,"openapi":"/api-reference/swagger.yml put /v2/user/active-org","href":"/playground/api-gateway/set-active-org"},{"title":"Change Password","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml put /v2/user/password","href":"/playground/api-gateway/change-password"},{"title":"Reset Password","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/user/password","href":"/playground/api-gateway/reset-password"},{"title":"Validate Account","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/user/validate","href":"/playground/api-gateway/validate-account"}]},{"group":"Organizations","pages":[{"title":"List Organizations","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs","href":"/playground/organizations/list-organizations"},{"title":"Create Organization","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs","href":"/playground/organizations/create-organization"},{"title":"Get Organization","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}","href":"/playground/organizations/get-organization"},{"title":"Delete Organization","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/orgs/{orgSlug}","href":"/playground/organizations/delete-organization"},{"title":"Update Organization","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/orgs/{orgSlug}","href":"/playground/organizations/update-organization"},{"title":"List Org Members","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/members","href":"/playground/organizations/list-org-members"},{"title":"Add Org Members","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/members","href":"/playground/organizations/add-org-members"},{"title":"Remove Org Members","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/orgs/{orgSlug}/members","href":"/playground/organizations/remove-org-members"},{"title":"Export Org Members as CSV","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/members/export","href":"/playground/organizations/export-org-members-as-csv"},{"title":"Get Org Member","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/members/{userId}","href":"/playground/organizations/get-org-member"},{"title":"Remove Org Member","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/orgs/{orgSlug}/members/{userId}","href":"/playground/organizations/remove-org-member"},{"title":"Update Org Member","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/orgs/{orgSlug}/members/{userId}","href":"/playground/organizations/update-org-member"},{"title":"List Org Invites","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/invites","href":"/playground/organizations/list-org-invites"},{"title":"Create Org Invite","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/invites","href":"/playground/organizations/create-org-invite"},{"title":"Get Org Invite","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/invites/{inviteCode}","href":"/playground/organizations/get-org-invite"},{"title":"Revoke Org Invite","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/orgs/{orgSlug}/invites/{inviteCode}","href":"/playground/organizations/revoke-org-invite"},{"title":"Join Organization","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/join","href":"/playground/organizations/join-organization"},{"title":"List Org Roles","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/roles","href":"/playground/organizations/list-org-roles"},{"title":"Create Org Role","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/roles","href":"/playground/organizations/create-org-role"},{"title":"Get Org Role","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/roles/{roleSlug}","href":"/playground/organizations/get-org-role"},{"title":"Delete Org Role","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/orgs/{orgSlug}/roles/{roleSlug}","href":"/playground/organizations/delete-org-role"},{"title":"Update Org Role","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/orgs/{orgSlug}/roles/{roleSlug}","href":"/playground/organizations/update-org-role"},{"title":"List Org API Keys","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/api-keys","href":"/playground/organizations/list-org-api-keys"},{"title":"Create Org API Key","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/api-keys","href":"/playground/organizations/create-org-api-key"},{"title":"Get Org API Key","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/api-keys/{keyId}","href":"/playground/organizations/get-org-api-key"},{"title":"Delete Org API Key","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/orgs/{orgSlug}/api-keys/{keyId}","href":"/playground/organizations/delete-org-api-key"},{"title":"Update Org API Key","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/orgs/{orgSlug}/api-keys/{keyId}","href":"/playground/organizations/update-org-api-key"},{"title":"Rotate Org API Key","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/api-keys/{keyId}/rotate","href":"/playground/organizations/rotate-org-api-key"},{"title":"Validate Org API Key","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/api-keys/validate","href":"/playground/organizations/validate-org-api-key"},{"title":"List Org Service Accounts","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/service-accounts","href":"/playground/organizations/list-org-service-accounts"},{"title":"Create Org Service Account","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/service-accounts","href":"/playground/organizations/create-org-service-account"},{"title":"Get Org Service Account","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/service-accounts/{saSlug}","href":"/playground/organizations/get-org-service-account"},{"title":"Delete Org Service Account","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/orgs/{orgSlug}/service-accounts/{saSlug}","href":"/playground/organizations/delete-org-service-account"},{"title":"Update Org Service Account","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/orgs/{orgSlug}/service-accounts/{saSlug}","href":"/playground/organizations/update-org-service-account"},{"title":"Rotate Org Service Account Secret","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/service-accounts/{saSlug}/rotate","href":"/playground/organizations/rotate-org-service-account-secret"},{"title":"Issue Org Service Account Token","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/service-accounts/{saSlug}/token","href":"/playground/organizations/issue-org-service-account-token"},{"title":"List Org Workspace Privileges","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/workspace-privileges","href":"/playground/organizations/list-org-workspace-privileges"},{"title":"Get Org Workspace Privileges","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/workspaces/{workspaceIdOrSlug}/privileges","href":"/playground/organizations/get-org-workspace-privileges"},{"title":"Set Org Workspace Privileges","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml put /v2/orgs/{orgSlug}/workspaces/{workspaceIdOrSlug}/privileges","href":"/playground/organizations/set-org-workspace-privileges"},{"title":"Delete Org Workspace Privileges","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/orgs/{orgSlug}/workspaces/{workspaceIdOrSlug}/privileges","href":"/playground/organizations/delete-org-workspace-privileges"},{"title":"List Org Groups","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/groups","href":"/playground/organizations/list-org-groups"},{"title":"Create Org Group","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/groups","href":"/playground/organizations/create-org-group"},{"title":"Get Org Group","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/groups/{groupSlug}","href":"/playground/organizations/get-org-group"},{"title":"Delete Org Group","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/orgs/{orgSlug}/groups/{groupSlug}","href":"/playground/organizations/delete-org-group"},{"title":"Update Org Group","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/orgs/{orgSlug}/groups/{groupSlug}","href":"/playground/organizations/update-org-group"},{"title":"List Org Group Members","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/{orgSlug}/groups/{groupSlug}/members","href":"/playground/organizations/list-org-group-members"},{"title":"Add Org Group Members","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/{orgSlug}/groups/{groupSlug}/members","href":"/playground/organizations/add-org-group-members"},{"title":"Remove Org Group Members","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/orgs/{orgSlug}/groups/{groupSlug}/members","href":"/playground/organizations/remove-org-group-members"}]},{"group":"Subscriptions","pages":[{"title":"List Org Subscriptions","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/subscriptions","href":"/playground/subscriptions/list-org-subscriptions"},{"title":"Create Org Subscription","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/orgs/subscriptions","href":"/playground/subscriptions/create-org-subscription"},{"title":"Get Org Subscription","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/orgs/subscriptions/{subscriptionSlug}","href":"/playground/subscriptions/get-org-subscription"},{"title":"Delete Org Subscription","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/orgs/subscriptions/{subscriptionSlug}","href":"/playground/subscriptions/delete-org-subscription"},{"title":"Update Org Subscription","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/orgs/subscriptions/{subscriptionSlug}","href":"/playground/subscriptions/update-org-subscription"}]},{"group":"OIDC","pages":[{"title":"OpenID Connect Discovery","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /oidc/.well-known/openid-configuration","href":"/playground/oidc/openid-connect-discovery"},{"title":"OIDC JSON Web Key Set","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /oidc/jwks","href":"/playground/oidc/oidc-json-web-key-set"},{"title":"OAuth 2.0 Authorization Endpoint","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /oidc/auth","href":"/playground/oidc/oauth-20-authorization-endpoint"},{"title":"Resume an OIDC Authorization Request","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /oidc/auth/{uid}","href":"/playground/oidc/resume-an-oidc-authorization-request"},{"title":"OAuth 2.0 Token Endpoint","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /oidc/token","href":"/playground/oidc/oauth-20-token-endpoint"},{"title":"RP-Initiated Logout","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /oidc/session/end","href":"/playground/oidc/rp-initiated-logout"},{"title":"Confirm RP-Initiated Logout","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /oidc/session/end/confirm","href":"/playground/oidc/confirm-rp-initiated-logout"},{"title":"Logout Landing Page","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /oidc/session/end/success","href":"/playground/oidc/logout-landing-page"},{"title":"Get OIDC Interaction Details","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /oidc/interaction/{grant}","href":"/playground/oidc/get-oidc-interaction-details"},{"title":"Submit OIDC Login Credentials","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /oidc/interaction/{grant}/login","href":"/playground/oidc/submit-oidc-login-credentials"},{"title":"Enrol an Authenticator During Login","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /oidc/interaction/{grant}/mfa/setup","href":"/playground/oidc/enrol-an-authenticator-during-login"},{"title":"Validate the Second Factor During Login","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /oidc/interaction/{grant}/mfa","href":"/playground/oidc/validate-the-second-factor-during-login"}]},{"group":"Monitoring","pages":[{"title":"Get Platform Readiness","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/readiness","href":"/playground/monitoring/get-platform-readiness"}]},{"group":"Permissions","pages":[{"title":"Get Permissions","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/{subjectType}/{subjectId}/permissions","href":"/playground/permissions/get-permissions"},{"title":"Share","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/{subjectType}/{subjectId}/permissions","href":"/playground/permissions/share"},{"title":"Revoke Permissions","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/{subjectType}/{subjectId}/permissions/{id}","href":"/playground/permissions/revoke-permissions"}]},{"group":"Prisme.ai Events","pages":[{"title":"Events Longpolling","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/events","href":"/playground/prismeai-events/events-longpolling"},{"title":"Send Workspace Event","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/events","href":"/playground/prismeai-events/send-workspace-event"},{"title":"Workspace Usage","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/usage","href":"/playground/prismeai-events/workspace-usage"},{"title":"Search","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/search","href":"/playground/prismeai-events/search"},{"title":"Global Search","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/search","href":"/playground/prismeai-events/global-search"}]},{"group":"Prisme.ai Runtime","pages":[{"title":"Automation Webhook (GET)","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/webhooks/{automationSlug}*","href":"/playground/prismeai-runtime/automation-webhook-get"},{"title":"Automation Webhook (PUT)","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml put /v2/workspaces/{workspaceId}/webhooks/{automationSlug}*","href":"/playground/prismeai-runtime/automation-webhook-put"},{"title":"Automation Webhook (POST)","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/webhooks/{automationSlug}*","href":"/playground/prismeai-runtime/automation-webhook-post"},{"title":"Automation Webhook (DELETE)","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/workspaces/{workspaceId}/webhooks/{automationSlug}*","href":"/playground/prismeai-runtime/automation-webhook-delete"},{"title":"Automation Webhook (PATCH)","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/workspaces/{workspaceId}/webhooks/{automationSlug}*","href":"/playground/prismeai-runtime/automation-webhook-patch"}]},{"group":"Prisme.ai Workspaces","pages":[{"title":"Get Workspace Labels","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/labels","href":"/playground/prismeai-workspaces/get-workspace-labels"},{"title":"Get Workspaces","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces","href":"/playground/prismeai-workspaces/get-workspaces"},{"title":"Create Workspace","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces","href":"/playground/prismeai-workspaces/create-workspace"},{"title":"Get Workspace","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}","href":"/playground/prismeai-workspaces/get-workspace"},{"title":"Delete Workspace","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/workspaces/{workspaceId}","href":"/playground/prismeai-workspaces/delete-workspace"},{"title":"Update Workspace","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/workspaces/{workspaceId}","href":"/playground/prismeai-workspaces/update-workspace"},{"title":"Get Workspace Config","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/config","href":"/playground/prismeai-workspaces/get-workspace-config"},{"title":"Update Workspace Config","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/workspaces/{workspaceId}/config","href":"/playground/prismeai-workspaces/update-workspace-config"},{"title":"Import New Workspace","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/import","href":"/playground/prismeai-workspaces/import-new-workspace"},{"title":"Import Existing Workspace","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/import","href":"/playground/prismeai-workspaces/import-existing-workspace"},{"title":"List Workspace Versions","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/versions","href":"/playground/prismeai-workspaces/list-workspace-versions"},{"title":"Publish Workspace Version","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/versions","href":"/playground/prismeai-workspaces/publish-workspace-version"},{"title":"Delete Workspace Version","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/workspaces/{workspaceId}/versions/{versionId}","href":"/playground/prismeai-workspaces/delete-workspace-version"},{"title":"Pull Workspace Version","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/versions/{versionId}/pull","href":"/playground/prismeai-workspaces/pull-workspace-version"},{"title":"Pull Platform Versions","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/platform/versions/latest/pull","href":"/playground/prismeai-workspaces/pull-platform-versions"},{"title":"Push Platform Versions","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/platform/versions","href":"/playground/prismeai-workspaces/push-platform-versions"},{"title":"Duplicate Workspace Version","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/versions/{versionId}/duplicate","href":"/playground/prismeai-workspaces/duplicate-workspace-version"},{"title":"Export Workspace Version","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/versions/{versionId}/export","href":"/playground/prismeai-workspaces/export-workspace-version"},{"title":"Get Workspace Status","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/status","href":"/playground/prismeai-workspaces/get-workspace-status"},{"title":"Set Write Lock","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/writeLock","href":"/playground/prismeai-workspaces/set-write-lock"},{"title":"Clear Write Lock","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/workspaces/{workspaceId}/writeLock","href":"/playground/prismeai-workspaces/clear-write-lock"},{"title":"Export Multiple Workspaces","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/export","href":"/playground/prismeai-workspaces/export-multiple-workspaces"},{"title":"Create Automation","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/automations","href":"/playground/prismeai-workspaces/create-automation"},{"title":"Get Automation","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/automations/{automationSlug}","href":"/playground/prismeai-workspaces/get-automation"},{"title":"Delete Automation","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/workspaces/{workspaceId}/automations/{automationSlug}","href":"/playground/prismeai-workspaces/delete-automation"},{"title":"Update Automation","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/workspaces/{workspaceId}/automations/{automationSlug}","href":"/playground/prismeai-workspaces/update-automation"},{"title":"Test Automation","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/test/{automationSlug}","href":"/playground/prismeai-workspaces/test-automation"},{"title":"List Pages","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/pages","href":"/playground/prismeai-workspaces/list-pages"},{"title":"Create Page","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/pages","href":"/playground/prismeai-workspaces/create-page"},{"title":"Get Page","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/pages/{slug}","href":"/playground/prismeai-workspaces/get-page"},{"title":"Delete Page","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/workspaces/{workspaceId}/pages/{slug}","href":"/playground/prismeai-workspaces/delete-page"},{"title":"Update Page","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/workspaces/{workspaceId}/pages/{slug}","href":"/playground/prismeai-workspaces/update-page"},{"title":"Get Workspace Bundle","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/pages/{workspaceSlug}/_bundle","href":"/playground/prismeai-workspaces/get-workspace-bundle"},{"title":"Get Page By Slug","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/pages/{workspaceSlug}/{pageSlug}","href":"/playground/prismeai-workspaces/get-page-by-slug"},{"title":"Get Security","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/security","href":"/playground/prismeai-workspaces/get-security"},{"title":"Update Security","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml put /v2/workspaces/{workspaceId}/security","href":"/playground/prismeai-workspaces/update-security"},{"title":"Get Roles","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/security/roles","href":"/playground/prismeai-workspaces/get-roles"},{"title":"Search Apps","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/apps","href":"/playground/prismeai-workspaces/search-apps"},{"title":"Publish App","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/apps","href":"/playground/prismeai-workspaces/publish-app"},{"title":"Get App","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/apps/{appSlug}","href":"/playground/prismeai-workspaces/get-app"},{"title":"Delete App","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/apps/{appSlug}","href":"/playground/prismeai-workspaces/delete-app"},{"title":"List App Instances","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/apps","href":"/playground/prismeai-workspaces/list-app-instances"},{"title":"Install App Instance","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/apps","href":"/playground/prismeai-workspaces/install-app-instance"},{"title":"Get App Instance Config","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/apps/{slug}/config","href":"/playground/prismeai-workspaces/get-app-instance-config"},{"title":"Update App Instance Config","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/workspaces/{workspaceId}/apps/{slug}/config","href":"/playground/prismeai-workspaces/update-app-instance-config"},{"title":"Get App Instance","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/apps/{slug}","href":"/playground/prismeai-workspaces/get-app-instance"},{"title":"Uninstall App Instance","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/workspaces/{workspaceId}/apps/{slug}","href":"/playground/prismeai-workspaces/uninstall-app-instance"},{"title":"Configure App Instance","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/workspaces/{workspaceId}/apps/{slug}","href":"/playground/prismeai-workspaces/configure-app-instance"},{"title":"Get File","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/files/{id}","href":"/playground/prismeai-workspaces/get-file"},{"title":"Replace File Content","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml put /v2/workspaces/{workspaceId}/files/{id}","href":"/playground/prismeai-workspaces/replace-file-content"},{"title":"Delete File","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/workspaces/{workspaceId}/files/{id}","href":"/playground/prismeai-workspaces/delete-file"},{"title":"Update File","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/workspaces/{workspaceId}/files/{id}","href":"/playground/prismeai-workspaces/update-file"},{"title":"List Files","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/files","href":"/playground/prismeai-workspaces/list-files"},{"title":"Upload File","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/files","href":"/playground/prismeai-workspaces/upload-file"},{"title":"Share File","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/files/{id}/share","href":"/playground/prismeai-workspaces/share-file"}]},{"group":"Secrets","pages":[{"title":"Get Workspace Secrets","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/security/secrets","href":"/playground/secrets/get-workspace-secrets"},{"title":"Update Workspace Secrets","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml put /v2/workspaces/{workspaceId}/security/secrets","href":"/playground/secrets/update-workspace-secrets"},{"title":"Patch Workspace Secrets","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml patch /v2/workspaces/{workspaceId}/security/secrets","href":"/playground/secrets/patch-workspace-secrets"},{"title":"Delete Workspace Secret","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/workspaces/{workspaceId}/security/secrets/{secretName}","href":"/playground/secrets/delete-workspace-secret"}]},{"group":"ApiKeys","pages":[{"title":"List API Keys","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml get /v2/workspaces/{workspaceId}/security/apikeys","href":"/playground/apikeys/list-api-keys"},{"title":"Create API Key","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml post /v2/workspaces/{workspaceId}/security/apikeys","href":"/playground/apikeys/create-api-key"},{"title":"Update API Key","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml put /v2/workspaces/{workspaceId}/security/apikeys/{apiKey}","href":"/playground/apikeys/update-api-key"},{"title":"Delete API Key","deprecated":null,"version":null,"openapi":"/api-reference/swagger.yml delete /v2/workspaces/{workspaceId}/security/apikeys/{apiKey}","href":"/playground/apikeys/delete-api-key"}]}]},{"group":"Agent Creator API","pages":[{"group":"Profiles","pages":[{"title":"List available agent profiles (presets)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/profiles","href":"/agent-factory/profiles/list-available-agent-profiles-presets"}]},{"group":"Activity","pages":[{"title":"Get the activity feed for an agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/activity","href":"/agent-factory/activity/get-the-activity-feed-for-an-agent"}]},{"group":"Analytics","pages":[{"title":"Get analytics (series + summary) for an agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/analytics","href":"/agent-factory/analytics/get-analytics-series-+-summary-for-an-agent"},{"title":"On-demand metrics refresh for an agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/refresh-metrics","href":"/agent-factory/analytics/on-demand-metrics-refresh-for-an-agent"}]},{"group":"Agents","pages":[{"title":"List agents","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents","href":"/agent-factory/agents/list-agents"},{"title":"Create a new agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents","href":"/agent-factory/agents/create-a-new-agent"},{"title":"Get a single agent by ID","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}","href":"/agent-factory/agents/get-a-single-agent-by-id"},{"title":"Delete an agent and its associated data","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml delete /v1/agents/{agentId}","href":"/agent-factory/agents/delete-an-agent-and-its-associated-data"},{"title":"Update an agent (partial update)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml patch /v1/agents/{agentId}","href":"/agent-factory/agents/update-an-agent-partial-update"},{"title":"Get featured agents and categories","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/discovery","href":"/agent-factory/agents/get-featured-agents-and-categories"},{"title":"Import an agent from AGENTS.md","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/import","href":"/agent-factory/agents/import-an-agent-from-agentsmd"},{"title":"Resolve a file_search citation link (302 redirect)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/citations/source_url","href":"/agent-factory/agents/resolve-a-file_search-citation-link-302-redirect"},{"title":"Export an agent as AGENTS.md","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/export","href":"/agent-factory/agents/export-an-agent-as-agentsmd"},{"title":"List all agents of an organization (admin)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/orgs/{orgSlug}/agents","href":"/agent-factory/agents/list-all-agents-of-an-organization-admin"}]},{"group":"Access","pages":[{"title":"List access bindings for an agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/access","href":"/agent-factory/access/list-access-bindings-for-an-agent"},{"title":"Share an agent with a principal (create binding)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/access","href":"/agent-factory/access/share-an-agent-with-a-principal-create-binding"},{"title":"Revoke an agent access binding","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml delete /v1/agents/{agentId}/access/{principalType}/{principalId}","href":"/agent-factory/access/revoke-an-agent-access-binding"},{"title":"Change an agent share's role","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml patch /v1/agents/{agentId}/access/{principalType}/{principalId}","href":"/agent-factory/access/change-an-agent-shares-role"},{"title":"Request access to a published restricted agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/access/request","href":"/agent-factory/access/request-access-to-a-published-restricted-agent"},{"title":"List access requests for an agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/access/requests","href":"/agent-factory/access/list-access-requests-for-an-agent"},{"title":"Approve or reject an access request","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/access/requests/{requestId}","href":"/agent-factory/access/approve-or-reject-an-access-request"}]},{"group":"ApiKeys","pages":[{"title":"List agent-scoped API keys","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/api-keys","href":"/agent-factory/apikeys/list-agent-scoped-api-keys"},{"title":"Mint a new agent-scoped API key","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/api-keys","href":"/agent-factory/apikeys/mint-a-new-agent-scoped-api-key"},{"title":"Revoke an agent API key","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml delete /v1/agents/{agentId}/api-keys/{keyId}","href":"/agent-factory/apikeys/revoke-an-agent-api-key"},{"title":"Rotate (regenerate) an agent API key secret","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/api-keys/{keyId}/rotate","href":"/agent-factory/apikeys/rotate-regenerate-an-agent-api-key-secret"}]},{"group":"Publishing","pages":[{"title":"Publish an agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/publish","href":"/agent-factory/publishing/publish-an-agent"},{"title":"Unpublish an agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/unpublish","href":"/agent-factory/publishing/unpublish-an-agent"},{"title":"Discard draft changes and revert to the published snapshot","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/discard-draft","href":"/agent-factory/publishing/discard-draft-changes-and-revert-to-the-published-snapshot"}]},{"group":"Ratings","pages":[{"title":"Rate an agent (1-5)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/ratings","href":"/agent-factory/ratings/rate-an-agent-1-5"}]},{"group":"Conversations","pages":[{"title":"List conversations for an agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/conversations","href":"/agent-factory/conversations/list-conversations-for-an-agent"},{"title":"Create a new conversation","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/conversations","href":"/agent-factory/conversations/create-a-new-conversation"},{"title":"Delete all conversations for the caller on this agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml delete /v1/agents/{agentId}/conversations","href":"/agent-factory/conversations/delete-all-conversations-for-the-caller-on-this-agent"},{"title":"Get a single conversation with its message history","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/conversations/{contextId}","href":"/agent-factory/conversations/get-a-single-conversation-with-its-message-history"},{"title":"Delete a single conversation (cascades to tasks + artifacts)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml delete /v1/agents/{agentId}/conversations/{contextId}","href":"/agent-factory/conversations/delete-a-single-conversation-cascades-to-tasks-+-artifacts"},{"title":"Update conversation metadata (title, archive, star)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml patch /v1/agents/{agentId}/conversations/{contextId}","href":"/agent-factory/conversations/update-conversation-metadata-title-archive-star"},{"title":"Usage totals for one conversation","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/conversations/{contextId}/usage","href":"/agent-factory/conversations/usage-totals-for-one-conversation"},{"title":"List the caller's connector accounts for an agent's knowledge bases","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/connector_accounts","href":"/agent-factory/conversations/list-the-callers-connector-accounts-for-an-agents-knowledge-bases"}]},{"group":"Traces","pages":[{"title":"Execution trace of one agent turn","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/traces/{correlationId}","href":"/agent-factory/traces/execution-trace-of-one-agent-turn"},{"title":"Inputs and outputs of one trace step","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/traces/{correlationId}/events/{eventId}","href":"/agent-factory/traces/inputs-and-outputs-of-one-trace-step"}]},{"group":"Messages","pages":[{"title":"Send a message to an agent (A2A, non-streaming)","description":"A2A-compliant message send. The body follows the A2A flat\n`MessageSendParams` shape - a `message` envelope with\n`message_id`, `role`, `parts[]`, and an optional `contextId`.\nParts are discriminated by field presence: `TextPart` (`text`),\n`FilePart` (`url` or `raw`), `DataPart` (`data`).\n\nAn always-on rate-limit floor (200/h per user) applies, plus any\nagent-configured limit. The HITL approval flow is supported and\nwill park the task in `input-required` until resolved through\n`/v1/agents/{agentId}/tasks/{taskId}/resolve`.\n\nSend the `x-draft-mode: true` header to bypass `published_config`\nresolution and exercise live (draft) configuration - owners and\nagent-factory writers only.\n\n**Idempotency (opt-in).** Set `message.metadata.clientMessageId` to a\nstable per-user key and the send becomes replay-safe: the first call\nruns normally, and any later call with the same key returns that\nfirst answer verbatim with `task.replayed: true`, without running the\nagent and without opening a second conversation. A replay arriving\nwhile the first run is still in flight answers `409\nMESSAGE_IN_PROGRESS` and names the conversation it is writing to.\nThe body of a replay is not compared with the first one: a different\nmessage under the same key still gets the first answer. Replays count\nagainst the rate limits. The body's `message_id` plays no part in this. **Not supported on\n`messages/stream`**: a streamed send is always executed.\n","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/messages/send","href":"/agent-factory/messages/send-a-message-to-an-agent-a2a-non-streaming"},{"title":"Stream an agent reply via SSE (A2A)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/messages/stream","href":"/agent-factory/messages/stream-an-agent-reply-via-sse-a2a"}]},{"group":"Tasks","pages":[{"title":"List tasks for an agent","description":"List the caller's tasks on this agent, with optional\n`context_id` and `status` filters.\n","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/tasks","href":"/agent-factory/tasks/list-tasks-for-an-agent"},{"title":"Get a single task by ID","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/tasks/{taskId}","href":"/agent-factory/tasks/get-a-single-task-by-id"},{"title":"Update a task from a hook callback","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml patch /v1/agents/{agentId}/tasks/{taskId}","href":"/agent-factory/tasks/update-a-task-from-a-hook-callback"},{"title":"Push an event into a task from a hook callback","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/tasks/{taskId}/events","href":"/agent-factory/tasks/push-an-event-into-a-task-from-a-hook-callback"},{"title":"Cancel a running task (A2A)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/tasks/{taskId}/cancel","href":"/agent-factory/tasks/cancel-a-running-task-a2a"},{"title":"Resolve a pending HITL approval (external approver)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/tasks/{taskId}/resolve","href":"/agent-factory/tasks/resolve-a-pending-hitl-approval-external-approver"},{"title":"Get a task snapshot (A2A subscribe - non-streaming)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/tasks/{taskId}/subscribe","href":"/agent-factory/tasks/get-a-task-snapshot-a2a-subscribe--non-streaming"}]},{"group":"Artifacts","pages":[{"title":"List artifacts owned by the caller","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/artifacts","href":"/agent-factory/artifacts/list-artifacts-owned-by-the-caller"},{"title":"Get an artifact (with current version content)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/artifacts/{artifactId}","href":"/agent-factory/artifacts/get-an-artifact-with-current-version-content"},{"title":"Delete an artifact and all of its versions","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml delete /v1/artifacts/{artifactId}","href":"/agent-factory/artifacts/delete-an-artifact-and-all-of-its-versions"},{"title":"Update artifact content or restore a version","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml patch /v1/artifacts/{artifactId}","href":"/agent-factory/artifacts/update-artifact-content-or-restore-a-version"}]},{"group":"Shares","pages":[{"title":"Create a share snapshot of a conversation or single message","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/conversations/{contextId}/share","href":"/agent-factory/shares/create-a-share-snapshot-of-a-conversation-or-single-message"},{"title":"Create (or refresh) a share for an artifact","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/artifacts/{artifactId}/shares","href":"/agent-factory/shares/create-or-refresh-a-share-for-an-artifact"},{"title":"List shares created by the caller","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/shares","href":"/agent-factory/shares/list-shares-created-by-the-caller"},{"title":"Get a share owned by the caller","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/shares/{shareId}","href":"/agent-factory/shares/get-a-share-owned-by-the-caller"},{"title":"Delete a share owned by the caller","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml delete /v1/shares/{shareId}","href":"/agent-factory/shares/delete-a-share-owned-by-the-caller"},{"title":"Public-facing share viewer (auth-required)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/shared/{shareId}","href":"/agent-factory/shares/public-facing-share-viewer-auth-required"}]},{"group":"A2A","pages":[{"title":"Legacy A2A gateway - task snapshot dispatch (GET)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/a2a","href":"/agent-factory/a2a/legacy-a2a-gateway--task-snapshot-dispatch-get"},{"title":"Legacy A2A gateway - JSON-RPC 2.0 dispatch (POST)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/a2a","href":"/agent-factory/a2a/legacy-a2a-gateway--json-rpc-20-dispatch-post"},{"title":"A2A task snapshot (per-agent, GET)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/a2a","href":"/agent-factory/a2a/a2a-task-snapshot-per-agent-get"},{"title":"A2A JSON-RPC 2.0 dispatch (per-agent)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/a2a","href":"/agent-factory/a2a/a2a-json-rpc-20-dispatch-per-agent"},{"title":"A2A discovery card (.well-known/agent.json)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/.well-known/agent.json","href":"/agent-factory/a2a/a2a-discovery-card-well-knownagentjson"},{"title":"A2A extended card (full agent config)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/extendedAgentCard","href":"/agent-factory/a2a/a2a-extended-card-full-agent-config"}]},{"group":"Tools","pages":[{"title":"List the tools attached to an agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/tools","href":"/agent-factory/tools/list-the-tools-attached-to-an-agent"},{"title":"Attach a tool to an agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/tools","href":"/agent-factory/tools/attach-a-tool-to-an-agent"},{"title":"Get a single tool from an agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/tools/{toolId}","href":"/agent-factory/tools/get-a-single-tool-from-an-agent"},{"title":"Remove a tool from an agent","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml delete /v1/agents/{agentId}/tools/{toolId}","href":"/agent-factory/tools/remove-a-tool-from-an-agent"},{"title":"List the tools an attached MCP server exposes","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/tools/{toolId}/capabilities","href":"/agent-factory/tools/list-the-tools-an-attached-mcp-server-exposes"}]},{"group":"Retention","pages":[{"title":"Get an agent's retention policy","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/retention","href":"/agent-factory/retention/get-an-agents-retention-policy"},{"title":"Upsert an agent retention policy","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml put /v1/agents/{agentId}/retention","href":"/agent-factory/retention/upsert-an-agent-retention-policy"},{"title":"Delete the agent-level retention policy (revert to org/defaults)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml delete /v1/agents/{agentId}/retention","href":"/agent-factory/retention/delete-the-agent-level-retention-policy-revert-to-orgdefaults"},{"title":"Get the org-level retention policy","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/orgs/{orgSlug}/retention","href":"/agent-factory/retention/get-the-org-level-retention-policy"},{"title":"Upsert the org-level retention policy","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml put /v1/orgs/{orgSlug}/retention","href":"/agent-factory/retention/upsert-the-org-level-retention-policy"}]},{"group":"Evaluations","pages":[{"title":"List or fetch an evaluation","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml get /v1/agents/{agentId}/evaluations","href":"/agent-factory/evaluations/list-or-fetch-an-evaluation"},{"title":"Start a new evaluation run","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/agents/{agentId}/evaluations","href":"/agent-factory/evaluations/start-a-new-evaluation-run"}]},{"group":"Admin","pages":[{"title":"Delete a user's data (GDPR erasure)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/admin/user-deletion","href":"/agent-factory/admin/delete-a-users-data-gdpr-erasure"},{"title":"Export a user's data (GDPR access)","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/admin/user-export","href":"/agent-factory/admin/export-a-users-data-gdpr-access"}]},{"group":"Push","pages":[{"title":"Register the signed-in user's mobile device for push notifications","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml post /v1/push/devices","href":"/agent-factory/push/register-the-signed-in-users-mobile-device-for-push-notifications"},{"title":"Forget one of the signed-in user's devices","deprecated":null,"version":null,"openapi":"/api-reference/agent-factory/swagger.yml delete /v1/push/devices","href":"/agent-factory/push/forget-one-of-the-signed-in-users-devices"}]}]},{"group":"LLM Gateway API","pages":[{"group":"Completions","pages":[{"title":"Create a chat completion","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml post /v1/chat/completions","href":"/llm-gateway/completions/create-a-chat-completion"}]},{"group":"Embeddings","pages":[{"title":"Create text embeddings","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml post /v1/embeddings","href":"/llm-gateway/embeddings/create-text-embeddings"}]},{"group":"Rerank","pages":[{"title":"Rerank documents by relevance","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml post /v1/rerank","href":"/llm-gateway/rerank/rerank-documents-by-relevance"}]},{"group":"Images","pages":[{"title":"Generate images","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml post /v1/images/generations","href":"/llm-gateway/images/generate-images"},{"title":"Edit an image","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml post /v1/images/edits","href":"/llm-gateway/images/edit-an-image"}]},{"group":"Audio","pages":[{"title":"Transcribe audio into text","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml post /v1/audio/transcriptions","href":"/llm-gateway/audio/transcribe-audio-into-text"}]},{"group":"Defaults","pages":[{"title":"Get resolved default models","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml get /v1/defaults","href":"/llm-gateway/defaults/get-resolved-default-models"}]},{"group":"Models","pages":[{"title":"List models from the catalogue","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml get /v1/models","href":"/llm-gateway/models/list-models-from-the-catalogue"},{"title":"Bulk-replace the entire model catalogue","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml put /v1/models","href":"/llm-gateway/models/bulk-replace-the-entire-model-catalogue"},{"title":"Create a model in the catalogue","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml post /v1/models","href":"/llm-gateway/models/create-a-model-in-the-catalogue"},{"title":"Read the Prisme.ai reference model catalogue","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml get /v1/models/catalog","href":"/llm-gateway/models/read-the-prismeai-reference-model-catalogue"},{"title":"Align the environment's models with the catalogue","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml post /v1/models/catalog/sync","href":"/llm-gateway/models/align-the-environments-models-with-the-catalogue"},{"title":"List provider ids declared but not registered","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml get /v1/models/unregistered","href":"/llm-gateway/models/list-provider-ids-declared-but-not-registered"},{"title":"List carbon-footprint regions","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml get /v1/models/regions","href":"/llm-gateway/models/list-carbon-footprint-regions"},{"title":"Get a model by ID","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml get /v1/models/{modelId}","href":"/llm-gateway/models/get-a-model-by-id"},{"title":"Delete a model","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml delete /v1/models/{modelId}","href":"/llm-gateway/models/delete-a-model"},{"title":"Update a model","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml patch /v1/models/{modelId}","href":"/llm-gateway/models/update-a-model"},{"title":"List the models available at one provider entry","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml get /v1/providers/{type}/{index}/models","href":"/llm-gateway/models/list-the-models-available-at-one-provider-entry"}]},{"group":"Test","pages":[{"title":"Smoke-test a model through the gateway","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml post /v1/test","href":"/llm-gateway/test/smoke-test-a-model-through-the-gateway"},{"title":"Probe which optional request features a model accepts","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml post /v1/test/capabilities","href":"/llm-gateway/test/probe-which-optional-request-features-a-model-accepts"}]},{"group":"Quotas","pages":[{"title":"Get the caller's effective quotas","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml get /v1/quotas/me","href":"/llm-gateway/quotas/get-the-callers-effective-quotas"},{"title":"Get the organization's quota usage","deprecated":null,"version":null,"openapi":"/api-reference/llm-gateway/swagger.yml get /v1/quotas/usage","href":"/llm-gateway/quotas/get-the-organizations-quota-usage"}]}]},{"group":"Governance API","pages":[{"group":"Announcements","pages":[{"title":"List announcements for the current organization","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/announcements","href":"/ai-governance-v2/announcements/list-announcements-for-the-current-organization"},{"title":"Create an announcement","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml post /v1/announcements","href":"/ai-governance-v2/announcements/create-an-announcement"},{"title":"Get an announcement by id","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/announcements/{announcementId}","href":"/ai-governance-v2/announcements/get-an-announcement-by-id"},{"title":"Delete an announcement","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml delete /v1/announcements/{announcementId}","href":"/ai-governance-v2/announcements/delete-an-announcement"},{"title":"Update an announcement","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml patch /v1/announcements/{announcementId}","href":"/ai-governance-v2/announcements/update-an-announcement"}]},{"group":"Legal","pages":[{"title":"Read legal content for a type and the caller's organization","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/legal/{type}","href":"/ai-governance-v2/legal/read-legal-content-for-a-type-and-the-callers-organization"},{"title":"Upsert legal content for a type","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml put /v1/legal/{type}","href":"/ai-governance-v2/legal/upsert-legal-content-for-a-type"},{"title":"Delete legal content for a type","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml delete /v1/legal/{type}","href":"/ai-governance-v2/legal/delete-legal-content-for-a-type"}]},{"group":"Notifications","pages":[{"title":"List notifications for the current user","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/notifications","href":"/ai-governance-v2/notifications/list-notifications-for-the-current-user"},{"title":"Get a notification and mark it as read","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/notifications/{notificationId}","href":"/ai-governance-v2/notifications/get-a-notification-and-mark-it-as-read"},{"title":"Dismiss a notification for the current user","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml post /v1/notifications/{notificationId}/dismiss","href":"/ai-governance-v2/notifications/dismiss-a-notification-for-the-current-user"},{"title":"Get unread notifications count for a product","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/notifications/unread-count","href":"/ai-governance-v2/notifications/get-unread-notifications-count-for-a-product"}]},{"group":"Observability","pages":[{"title":"Get a cross-organization platform observability summary","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/observability/platform/summary","href":"/ai-governance-v2/observability/get-a-cross-organization-platform-observability-summary"},{"title":"List the top N most active workspaces for a period","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/observability/platform/top-workspaces","href":"/ai-governance-v2/observability/list-the-top-n-most-active-workspaces-for-a-period"},{"title":"Get the unified observability dashboard for a workspace","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/observability/{workspaceId}/dashboard","href":"/ai-governance-v2/observability/get-the-unified-observability-dashboard-for-a-workspace"},{"title":"Get the workspace dependency graph","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/observability/{workspaceId}/dependencies","href":"/ai-governance-v2/observability/get-the-workspace-dependency-graph"},{"title":"Get the real-time event feed for a workspace","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/observability/{workspaceId}/feed","href":"/ai-governance-v2/observability/get-the-real-time-event-feed-for-a-workspace"},{"title":"Detect anomalies in errors, latency, and traffic","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/observability/{workspaceId}/issues","href":"/ai-governance-v2/observability/detect-anomalies-in-errors-latency-and-traffic"},{"title":"Get the full trace timeline for a correlationId","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/observability/{workspaceId}/traces/{correlationId}","href":"/ai-governance-v2/observability/get-the-full-trace-timeline-for-a-correlationid"},{"title":"List workspaces visible to observability users","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/observability/workspaces","href":"/ai-governance-v2/observability/list-workspaces-visible-to-observability-users"}]},{"group":"Orgs","pages":[{"title":"List active organizations (platform-wide)","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/orgs/active","href":"/ai-governance-v2/orgs/list-active-organizations-platform-wide"},{"title":"List audit events for an organization","deprecated":null,"version":null,"openapi":"/api-reference/ai-governance-v2/swagger.yml get /v1/orgs/{orgSlug}/audit","href":"/ai-governance-v2/orgs/list-audit-events-for-an-organization"}]}]},{"group":"Knowledges API","pages":[{"group":"Knowledge Bases","pages":[{"title":"List knowledge bases visible to the caller","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/knowledge_bases","href":"/storage/knowledge-bases/list-knowledge-bases-visible-to-the-caller"},{"title":"Create a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/knowledge_bases","href":"/storage/knowledge-bases/create-a-knowledge-base"},{"title":"Retrieve a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/knowledge_bases/{knowledgeBaseId}","href":"/storage/knowledge-bases/retrieve-a-knowledge-base"},{"title":"Delete a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml delete /v1/knowledge_bases/{knowledgeBaseId}","href":"/storage/knowledge-bases/delete-a-knowledge-base"},{"title":"Update knowledge base metadata and crawl settings","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml patch /v1/knowledge_bases/{knowledgeBaseId}","href":"/storage/knowledge-bases/update-knowledge-base-metadata-and-crawl-settings"},{"title":"Bulk reindex DISPATCHER - queue re-processing of every document","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/knowledge_bases/{knowledgeBaseId}/reindex","href":"/storage/knowledge-bases/bulk-reindex-dispatcher--queue-re-processing-of-every-document"}]},{"group":"Documents","pages":[{"title":"List documents","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/knowledge_bases/{knowledgeBaseId}/documents","href":"/storage/documents/list-documents"},{"title":"Attach a source (idempotent upsert)","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/knowledge_bases/{knowledgeBaseId}/documents","href":"/storage/documents/attach-a-source-idempotent-upsert"},{"title":"Retrieve a document","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/knowledge_bases/{knowledgeBaseId}/documents/{documentId}","href":"/storage/documents/retrieve-a-document"},{"title":"Detach a source","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml delete /v1/knowledge_bases/{knowledgeBaseId}/documents/{documentId}","href":"/storage/documents/detach-a-source"},{"title":"Update document metadata","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml patch /v1/knowledge_bases/{knowledgeBaseId}/documents/{documentId}","href":"/storage/documents/update-document-metadata"},{"title":"Force a re-run of the indexing pipeline (re-fetch, re-parse, re-chunk, re-embed)","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/knowledge_bases/{knowledgeBaseId}/documents/{documentId}/reindex","href":"/storage/documents/force-a-re-run-of-the-indexing-pipeline-re-fetch-re-parse-re-chunk-re-embed"},{"title":"List the document's chunks","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/knowledge_bases/{knowledgeBaseId}/documents/{documentId}/chunks","href":"/storage/documents/list-the-documents-chunks"},{"title":"Resolve a citation link (lazy)","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/knowledge_bases/{knowledgeBaseId}/documents/{documentId}/source_url","href":"/storage/documents/resolve-a-citation-link-lazy"},{"title":"Resolve citation links in a batch","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/knowledge_bases/{knowledgeBaseId}/source_urls","href":"/storage/documents/resolve-citation-links-in-a-batch"}]},{"group":"Web Sources","pages":[{"title":"List crawl seeds","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/knowledge_bases/{knowledgeBaseId}/web_sources","href":"/storage/web-sources/list-crawl-seeds"},{"title":"Create a recurring crawl seed","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/knowledge_bases/{knowledgeBaseId}/web_sources","href":"/storage/web-sources/create-a-recurring-crawl-seed"},{"title":"Retrieve a crawl seed (config + metrics + last/next run)","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/knowledge_bases/{knowledgeBaseId}/web_sources/{seedId}","href":"/storage/web-sources/retrieve-a-crawl-seed-config-+-metrics-+-lastnext-run"},{"title":"Delete a crawl seed","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml delete /v1/knowledge_bases/{knowledgeBaseId}/web_sources/{seedId}","href":"/storage/web-sources/delete-a-crawl-seed"},{"title":"Update seed configuration","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml patch /v1/knowledge_bases/{knowledgeBaseId}/web_sources/{seedId}","href":"/storage/web-sources/update-seed-configuration"}]},{"group":"Search","pages":[{"title":"Semantic search","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/knowledge_bases/{knowledgeBaseId}/search","href":"/storage/search/semantic-search"}]},{"group":"MCP","pages":[{"title":"MCP endpoint (agentic filesystem access)","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/knowledge_bases/{knowledgeBaseId}/mcp","href":"/storage/mcp/mcp-endpoint-agentic-filesystem-access"}]},{"group":"Access","pages":[{"title":"List access bindings","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/knowledge_bases/{knowledgeBaseId}/access","href":"/storage/access/list-access-bindings"},{"title":"Grant access","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/knowledge_bases/{knowledgeBaseId}/access","href":"/storage/access/grant-access"},{"title":"Revoke access","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml delete /v1/knowledge_bases/{knowledgeBaseId}/access/{principalType}/{principalId}","href":"/storage/access/revoke-access"},{"title":"Change a principal's role","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml patch /v1/knowledge_bases/{knowledgeBaseId}/access/{principalType}/{principalId}","href":"/storage/access/change-a-principals-role"}]},{"group":"API Keys","pages":[{"title":"List API keys","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/knowledge_bases/{knowledgeBaseId}/api-keys","href":"/storage/api-keys/list-api-keys"},{"title":"Mint an API key","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/knowledge_bases/{knowledgeBaseId}/api-keys","href":"/storage/api-keys/mint-an-api-key"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml delete /v1/knowledge_bases/{knowledgeBaseId}/api-keys/{apiKeyId}","href":"/storage/api-keys/revoke-an-api-key"},{"title":"Rotate an API key","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/knowledge_bases/{knowledgeBaseId}/api-keys/{apiKeyId}/rotate","href":"/storage/api-keys/rotate-an-api-key"}]},{"group":"Stats","pages":[{"title":"Dashboard stats","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/stats","href":"/storage/stats/dashboard-stats"}]},{"group":"Formats","pages":[{"title":"List the file formats a knowledge base can ingest","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/supported_formats","href":"/storage/formats/list-the-file-formats-a-knowledge-base-can-ingest"}]},{"group":"Files","pages":[{"title":"Delete an uploaded file that no document uses","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml delete /v1/files/{fileId}","href":"/storage/files/delete-an-uploaded-file-that-no-document-uses"}]},{"group":"Skills","pages":[{"title":"List skills","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/skills","href":"/storage/skills/list-skills"},{"title":"Create a skill","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/skills","href":"/storage/skills/create-a-skill"},{"title":"Retrieve a skill","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml get /v1/skills/{skillId}","href":"/storage/skills/retrieve-a-skill"},{"title":"Delete a skill","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml delete /v1/skills/{skillId}","href":"/storage/skills/delete-a-skill"},{"title":"Update a skill","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml patch /v1/skills/{skillId}","href":"/storage/skills/update-a-skill"}]},{"group":"Admin","pages":[{"title":"Run the storage self-test","deprecated":null,"version":null,"openapi":"/api-reference/storage/swagger.yml post /v1/test","href":"/storage/admin/run-the-storage-self-test"}]}]},{"group":"Collections API","pages":[{"group":"Collections","pages":[{"title":"List collections","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml get /v1/collections","href":"/ai-collection/collections/list-collections"},{"title":"Create a collection","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml post /v1/collections","href":"/ai-collection/collections/create-a-collection"},{"title":"Get collection metadata","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml get /v1/collections/{collection_id}","href":"/ai-collection/collections/get-collection-metadata"},{"title":"Delete a collection","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml delete /v1/collections/{collection_id}","href":"/ai-collection/collections/delete-a-collection"},{"title":"Update collection metadata","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml patch /v1/collections/{collection_id}","href":"/ai-collection/collections/update-collection-metadata"},{"title":"Get saved charts","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml get /v1/collections/{collection_id}/charts","href":"/ai-collection/collections/get-saved-charts"},{"title":"Replace saved charts","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml put /v1/collections/{collection_id}/charts","href":"/ai-collection/collections/replace-saved-charts"}]},{"group":"Records","pages":[{"title":"Query records","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml get /v1/collections/{collection_id}/data","href":"/ai-collection/records/query-records"},{"title":"Insert records","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml post /v1/collections/{collection_id}/data","href":"/ai-collection/records/insert-records"},{"title":"Upsert a record","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml post /v1/collections/{collection_id}/data/upsert","href":"/ai-collection/records/upsert-a-record"},{"title":"Get a record","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml get /v1/collections/{collection_id}/data/{record_id}","href":"/ai-collection/records/get-a-record"},{"title":"Delete a record","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml delete /v1/collections/{collection_id}/data/{record_id}","href":"/ai-collection/records/delete-a-record"},{"title":"Update a record","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml patch /v1/collections/{collection_id}/data/{record_id}","href":"/ai-collection/records/update-a-record"},{"title":"Bulk-insert records (large imports)","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml post /v1/collections/{collection_id}/data/bulk","href":"/ai-collection/records/bulk-insert-records-large-imports"}]},{"group":"Analytics","pages":[{"title":"Count records","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml get /v1/collections/{collection_id}/data/count","href":"/ai-collection/analytics/count-records"},{"title":"Get distinct values of a field","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml get /v1/collections/{collection_id}/data/distinct","href":"/ai-collection/analytics/get-distinct-values-of-a-field"},{"title":"Run aggregations","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml post /v1/collections/{collection_id}/data/aggregate","href":"/ai-collection/analytics/run-aggregations"}]},{"group":"Schema","pages":[{"title":"Add or merge columns","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml patch /v1/collections/{collection_id}/schema","href":"/ai-collection/schema/add-or-merge-columns"},{"title":"Apply indexes and unique constraints","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml post /v1/collections/{collection_id}/indexes","href":"/ai-collection/schema/apply-indexes-and-unique-constraints"}]},{"group":"AI","pages":[{"title":"Ask a plain-language question","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml post /v1/collections/{collection_id}/ask","href":"/ai-collection/ai/ask-a-plain-language-question"},{"title":"Suggest a schema from a description","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml post /v1/suggest-schema","href":"/ai-collection/ai/suggest-a-schema-from-a-description"}]},{"group":"Sharing","pages":[{"title":"List access bindings","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml get /v1/collections/{collection_id}/access","href":"/ai-collection/sharing/list-access-bindings"},{"title":"Grant access","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml post /v1/collections/{collection_id}/access","href":"/ai-collection/sharing/grant-access"},{"title":"Get an access binding","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml get /v1/collections/{collection_id}/access/{principal_type}/{principal_id}","href":"/ai-collection/sharing/get-an-access-binding"},{"title":"Revoke access","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml delete /v1/collections/{collection_id}/access/{principal_type}/{principal_id}","href":"/ai-collection/sharing/revoke-access"},{"title":"Change a binding role","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml patch /v1/collections/{collection_id}/access/{principal_type}/{principal_id}","href":"/ai-collection/sharing/change-a-binding-role"}]},{"group":"API Keys","pages":[{"title":"List API keys","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml get /v1/collections/{collection_id}/api-keys","href":"/ai-collection/api-keys/list-api-keys"},{"title":"Mint an API key","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml post /v1/collections/{collection_id}/api-keys","href":"/ai-collection/api-keys/mint-an-api-key"},{"title":"Get an API key","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml get /v1/collections/{collection_id}/api-keys/{key_id}","href":"/ai-collection/api-keys/get-an-api-key"},{"title":"Revoke an API key","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml delete /v1/collections/{collection_id}/api-keys/{key_id}","href":"/ai-collection/api-keys/revoke-an-api-key"},{"title":"Rotate an API key","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml post /v1/collections/{collection_id}/api-keys/{key_id}/rotate","href":"/ai-collection/api-keys/rotate-an-api-key"}]},{"group":"MCP","pages":[{"title":"MCP endpoint (JSON-RPC 2.0)","deprecated":null,"version":null,"openapi":"/api-reference/ai-collection/swagger.yml post /ai-collection/mcp","href":"/ai-collection/mcp/mcp-endpoint-json-rpc-20"}]}]}]},{"tab":"App Store","pages":[{"title":"App Store","href":"/apps-store/overview"}]},{"tab":"Self-Hosting","pages":[{"title":"Self-Hosting","href":"/self-hosting/overview"}]},{"tab":"Resources","pages":[{"title":"Resources","href":"/resources/adoption-governance/overview"}]}]},"basePath":"","title":"Stream an agent reply via SSE (A2A) - Prisme.ai","buildId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","deploymentId":"dpl_9VVk5y1P8k1ATeJguVngy9Q3cmbD","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DX1Meug0.js","utils-B_OMIQVC.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-ChxhRPMa.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CuKvD8Iv.js","snippetPresets-C5d7p2hp.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CfHcE8m4.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C1zZV314.js","shallow-CmQhqCJn.js","getApiPlaygroundDisplay-YRo9s1O7.js","CodeSnippet-RN1MTdfk.js","CodeSnippets-DKLPHxJA.js","Page-BAvA99GL.js","getPastedJson-bz0M41mU.js","icon-CsmhpPrv.js","MethodPill-CNGsVE77.js","DuplicateIcon-DilfU_Z2.js","createIcon-BdsYzQck.js","DynamicMarkdown-CbqEDjbV.js","SectionHeading-O6hXpFCN.js","axios-vUo_bRtp.js","Markdown-nKm-uidQ.js","clsx-ClVdStUn.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CIQkMg3R.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-ImrFS4Fy.js"]}