Add a new immutable version to an existing API-managed Knowledge entry. The version number is assigned automatically (previous + 1).
API-owned sections (where the apiControl flag was set to true on create): Send the updated content. Full-overwrite semantics apply — whatever you send becomes the new version’s content. Omitting a list, sending null, or sending [] sets that section to empty. Echo a referenceId from the previous version to update that item; omit the referenceId to add a new item. Supplying an unknown referenceId is rejected (400).
GovWorx-owned sections (where the apiControl flag was false on create): Do NOT send content for these sections. GovWorx automatically carries the previous version’s content forward. Sending content for a GovWorx-owned section is rejected (400).
Flag immutability:apiControl is set once at creation — you do not need to resend it on append. Omitting it is recommended; the stored flags are used automatically. If you do include it, each flag must match the value set on create (400 if different).
externalReferenceId: in an API-owned section it follows the full-overwrite rule — an item sent without it doesn’t have it in the new version, so echo it on every append if you use it. In a GovWorx-owned section the stored value is carried forward; an echo that adds, changes, or removes it differs from what’s stored and is rejected (400).
publish defaults to false: the new version is an unpublished draft and the previously published version stays live. Send "publish": true to publish it immediately, replacing the previously published version (or becoming the first published one if there is none).
Optional description. When supplied, updates both the Knowledge entry's top-level description and the new version's description. When omitted, the Knowledge description is unchanged and the version description defaults to 'Appended via external API'.
Example:
"Updated chest-compression rate per Q1 2026 guidelines."
If true, publishes the new version immediately, replacing the previously published version. Defaults to false: the new version is an unpublished draft and the previously published version stays live.
Optional. Ownership flags are set once at creation and are immutable — you do not need to resend them on every append. If omitted (recommended), the stored flags are used automatically. If supplied, each provided flag must match the value set on create (400 if different). To change ownership, delete the entry and recreate it.
Interview content for the new version. API-owned questions (apiControl.questions = true): Send the full questionList. Echo a referenceId to update an existing question; omit it to add a new one. Unknown ids → 400. Omitting / null / [] results in an empty question list (full overwrite). Each question's externalReferenceId follows the same rule — echo it to keep it, omit it to drop it. GovWorx-owned questions (apiControl.questions = false): it is carried forward automatically regardless of what's sent. Omitting questionList, sending it null or [], or echoing it back unchanged are all accepted and ignored. A value that differs from what's stored is rejected (400), including an echo that adds, changes, or removes an externalReferenceId.
Action set content for the new version. For each API-owned sub-section (flag = true): send the updated list; echo a referenceId to update, omit to add new. Omit / null / [] = empty (full overwrite). Each item's externalReferenceId follows the same rule — echo it to keep it, omit it to drop it. For each GovWorx-owned sub-section (flag = false): it is carried forward automatically regardless of what's sent. Omitting that list, sending it null or [], or echoing it back unchanged are all accepted and ignored. A value that differs from what's stored is rejected (400), including an echo that adds, changes, or removes an externalReferenceId.
Show child attributes
Response
Version appended. Response includes the full new version with all GovWorx-generated referenceIds.
Full detail of a Knowledge version, including its normalized interview and action content. All referenceId values in the returned content are GovWorx-generated stable identifiers. Store these ids — they must be echoed in future append requests to update existing items in place.
The active API ownership flags for this version. Echoes what was declared on create and is immutable between versions. Use this to confirm which sections are API-controlled vs GovWorx-controlled.
Interview (question list) content for this version with all GovWorx-generated referenceIds populated. Null if this knowledge type does not carry interview content.
Action set content for this version with all GovWorx-generated referenceIds populated across spoken instructions (si-), CAD actions (ca-), SMS messages (sms-), and dispatch triggers (dt-). Null if no action content exists for this version.
Show child attributes
⌘I
{"docsConfig":{"theme":"willow","$schema":"https://mintlify.com/docs.json","name":"GovWorx API Documentation","colors":{"primary":"#339af0","light":"#339af0","dark":"#339af0"},"logo":{"light":"https://mintcdn.com/govworx/0FFQLB-2pFQKMa2M/logo/GovWorx-Logo_light.png?fit=max\u0026auto=format\u0026n=0FFQLB-2pFQKMa2M\u0026q=85\u0026s=6f689d9f51a89e59482167234491c4ee","dark":"https://mintcdn.com/govworx/0FFQLB-2pFQKMa2M/logo/GovWorx-Logo-dark.png?fit=max\u0026auto=format\u0026n=0FFQLB-2pFQKMa2M\u0026q=85\u0026s=c21ce7ceeeaf3286e2d7153637741578"},"favicon":"https://mintcdn.com/govworx/qDX7OjQnRmbzD40w/images/gw_favicon.png?fit=max\u0026auto=format\u0026n=qDX7OjQnRmbzD40w\u0026q=85\u0026s=2bd89f34a56a030007368242536a11e4","navbar":{"links":[{"href":"https://support.govworx.net","label":"Support"}],"primary":{"type":"button","label":"Application Dashboard","href":"https://app.govworx.net"}},"footer":{},"banner":{"content":"Welcome to the GovWorx Beta API Documentation! Please reach out to support if you are interested in gaining access to the GovWorx API.","dismissible":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"About GovWorx","icon":"book-open-cover","href":"https://www.govworx.ai"},{"anchor":"Trust Center","icon":"lock","href":"https://security.govworx.ai"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"govworx","hasAudioNarration":false,"actualSubdomain":"govworx","customDomains":["developers.govworx.ai"],"gitSource":{"type":"github","owner":"psco-tech","repo":"gw-api-docs-mintlify","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae2b7aeb7812a2f5f9bc0df","collectionId":"fa2f4a63-0021-4d48-841b-419314e96c4e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae2b7aeb7812a2f5f9bc0df"},"entitlements":{},"buildId":"6ae2b7aeb7812a2f5f9bc0df","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API reference","count":53},{"language":"default","tag":"API Reference","count":31},{"language":"default","tag":"Connections Platform","count":22},{"language":"default","tag":"Realtime API Reference","count":21},{"language":"default","tag":"MCP Resources","count":10},{"language":"default","tag":"CAD integration","count":9},{"language":"default","tag":"Testing","count":8},{"language":"default","tag":"Test Calls","count":8},{"language":"default","tag":"Realtime Calls","count":7},{"language":"default","tag":"capture-radio-controller","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"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":"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":"byok-sep-25","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":"billing-updated-9-15","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}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/knowledge/append-knowledge-version","slug":"/api-reference/knowledge/append-knowledge-version","pageMetadata":{"title":"Append Knowledge version","description":"Add a new immutable version to an existing API-managed Knowledge entry. The version number is assigned automatically (previous + 1).\n\n**API-owned sections** (where the `apiControl` flag was set to true on create): Send the updated content. Full-overwrite semantics apply — whatever you send becomes the new version's content. Omitting a list, sending null, or sending `[]` sets that section to empty. Echo a `referenceId` from the previous version to update that item; omit the `referenceId` to add a new item. Supplying an unknown `referenceId` is rejected (400).\n\n**GovWorx-owned sections** (where the `apiControl` flag was false on create): Do NOT send content for these sections. GovWorx automatically carries the previous version's content forward. Sending content for a GovWorx-owned section is rejected (400).\n\n**Flag immutability:** `apiControl` is set once at creation — you do not need to resend it on append. Omitting it is recommended; the stored flags are used automatically. If you do include it, each flag must match the value set on create (400 if different).\n\n**`externalReferenceId`:** in an API-owned section it follows the full-overwrite rule — an item sent without it doesn't have it in the new version, so echo it on every append if you use it. In a GovWorx-owned section the stored value is carried forward; an echo that adds, changes, or removes it differs from what's stored and is rejected (400).\n\n`publish` defaults to false: the new version is an unpublished draft and the previously published version stays live. Send `\"publish\": true` to publish it immediately, replacing the previously published version (or becoming the first published one if there is none).","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs post /api/v1/external/knowledge/{knowledgeId}/versions","href":"/api-reference/knowledge/append-knowledge-version","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 strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Add a new immutable version to an existing API-managed Knowledge entry. The version number is assigned automatically (previous + 1).\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"API-owned sections\"\n }), \" (where the \", _jsx(_components.code, {\n children: \"apiControl\"\n }), \" flag was set to true on create): Send the updated content. Full-overwrite semantics apply — whatever you send becomes the new version’s content. Omitting a list, sending null, or sending \", _jsx(_components.code, {\n children: \"[]\"\n }), \" sets that section to empty. Echo a \", _jsx(_components.code, {\n children: \"referenceId\"\n }), \" from the previous version to update that item; omit the \", _jsx(_components.code, {\n children: \"referenceId\"\n }), \" to add a new item. Supplying an unknown \", _jsx(_components.code, {\n children: \"referenceId\"\n }), \" is rejected (400).\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"GovWorx-owned sections\"\n }), \" (where the \", _jsx(_components.code, {\n children: \"apiControl\"\n }), \" flag was false on create): Do NOT send content for these sections. GovWorx automatically carries the previous version’s content forward. Sending content for a GovWorx-owned section is rejected (400).\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Flag immutability:\"\n }), \" \", _jsx(_components.code, {\n children: \"apiControl\"\n }), \" is set once at creation — you do not need to resend it on append. Omitting it is recommended; the stored flags are used automatically. If you do include it, each flag must match the value set on create (400 if different).\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [_jsx(_components.code, {\n children: \"externalReferenceId\"\n }), \":\"]\n }), \" in an API-owned section it follows the full-overwrite rule — an item sent without it doesn’t have it in the new version, so echo it on every append if you use it. In a GovWorx-owned section the stored value is carried forward; an echo that adds, changes, or removes it differs from what’s stored and is rejected (400).\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"publish\"\n }), \" defaults to false: the new version is an unpublished draft and the previously published version stays live. Send \", _jsx(_components.code, {\n children: \"\\\"publish\\\": true\"\n }), \" to publish it immediately, replacing the previously published version (or becoming the first published one if there is none).\"]\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":"Append Knowledge version","description":"Add a new immutable version to an existing API-managed Knowledge entry. The version number is assigned automatically (previous + 1).\n\n**API-owned sections** (where the `apiControl` flag was set to true on create): Send the updated content. Full-overwrite semantics apply — whatever you send becomes the new version's content. Omitting a list, sending null, or sending `[]` sets that section to empty. Echo a `referenceId` from the previous version to update that item; omit the `referenceId` to add a new item. Supplying an unknown `referenceId` is rejected (400).\n\n**GovWorx-owned sections** (where the `apiControl` flag was false on create): Do NOT send content for these sections. GovWorx automatically carries the previous version's content forward. Sending content for a GovWorx-owned section is rejected (400).\n\n**Flag immutability:** `apiControl` is set once at creation — you do not need to resend it on append. Omitting it is recommended; the stored flags are used automatically. If you do include it, each flag must match the value set on create (400 if different).\n\n**`externalReferenceId`:** in an API-owned section it follows the full-overwrite rule — an item sent without it doesn't have it in the new version, so echo it on every append if you use it. In a GovWorx-owned section the stored value is carried forward; an echo that adds, changes, or removes it differs from what's stored and is rejected (400).\n\n`publish` defaults to false: the new version is an unpublished draft and the previously published version stays live. Send `\"publish\": true` to publish it immediately, replacing the previously published version (or becoming the first published one if there is none).","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs post /api/v1/external/knowledge/{knowledgeId}/versions","href":"/api-reference/knowledge/append-knowledge-version","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Knowledge"],"summary":"Append Knowledge version","description":"Add a new immutable version to an existing API-managed Knowledge entry. The version number is assigned automatically (previous + 1).\n\n**API-owned sections** (where the `apiControl` flag was set to true on create): Send the updated content. Full-overwrite semantics apply — whatever you send becomes the new version's content. Omitting a list, sending null, or sending `[]` sets that section to empty. Echo a `referenceId` from the previous version to update that item; omit the `referenceId` to add a new item. Supplying an unknown `referenceId` is rejected (400).\n\n**GovWorx-owned sections** (where the `apiControl` flag was false on create): Do NOT send content for these sections. GovWorx automatically carries the previous version's content forward. Sending content for a GovWorx-owned section is rejected (400).\n\n**Flag immutability:** `apiControl` is set once at creation — you do not need to resend it on append. Omitting it is recommended; the stored flags are used automatically. If you do include it, each flag must match the value set on create (400 if different).\n\n**`externalReferenceId`:** in an API-owned section it follows the full-overwrite rule — an item sent without it doesn't have it in the new version, so echo it on every append if you use it. In a GovWorx-owned section the stored value is carried forward; an echo that adds, changes, or removes it differs from what's stored and is rejected (400).\n\n`publish` defaults to false: the new version is an unpublished draft and the previously published version stays live. Send `\"publish\": true` to publish it immediately, replacing the previously published version (or becoming the first published one if there is none).","operationId":"appendVersion","parameters":["daec1ba1-7d66-4626-b3d7-8855c608cb44"],"requestBody":"66f060b4-c5af-487e-b0aa-15b1b365701c","responses":{"201":"885468ce-3531-44ea-a474-ec936c786500","400":"2c277610-a6af-4900-9916-41283db3a8a2","401":"f5898270-ddc7-4502-a41a-134f94488971","403":"bca83314-794a-423f-9317-31b7d14f74c8","404":"7786c52a-8611-4756-a984-874d59101194","409":"3308f6db-6011-4743-8c3b-55903c7178a4"},"method":"post","type":"path","servers":["af7bb609-9f25-4c28-b1e1-79243d2da4fd"],"security":[],"path":"/api/v1/external/knowledge/{knowledgeId}/versions","baseUrlOptions":["https://app.govworx.net"],"title":"Append Knowledge version","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"daec1ba1-7d66-4626-b3d7-8855c608cb44":{"name":"knowledgeId","in":"path","description":"GovWorx internal Knowledge id returned from the create endpoint.","required":true,"schema":{"type":"integer","format":"int64","isRequired":true,"description":"GovWorx internal Knowledge id returned from the create endpoint.","uniqueKey":"","typeLabel":"integer\u003cint64>"},"example":12345}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","description":"Append a new immutable version to an existing Knowledge entry. Provide at least one of `interview` or `actions`.","properties":{"name":{"type":"string","description":"Optional updated name for the Knowledge entry. When supplied, replaces the existing name.","example":"Cardiac Arrest - Adult (Updated)","maxLength":255,"minLength":0,"uniqueKey":"name","typeLabel":"string"},"description":{"type":"string","description":"Optional description. When supplied, updates both the Knowledge entry's top-level description and the new version's description. When omitted, the Knowledge description is unchanged and the version description defaults to 'Appended via external API'.","example":"Updated chest-compression rate per Q1 2026 guidelines.","uniqueKey":"description","typeLabel":"string"},"isAllCallers":{"type":"boolean","default":false,"description":"If true, marks this entry as the tenant's all-callers guide card (single per tenant). Omit to leave the existing value unchanged.","uniqueKey":"isAllCallers","typeLabel":"boolean"},"externalVersion":{"type":"string","description":"Optional partner-supplied version label. Free-form short string; stored but not used for ordering or lookup.","example":"v1.2.0","maxLength":64,"minLength":0,"uniqueKey":"externalVersion","typeLabel":"string"},"publish":{"type":"boolean","default":false,"description":"If true, publishes the new version immediately, replacing the previously published version. Defaults to false: the new version is an unpublished draft and the previously published version stays live.","uniqueKey":"publish","typeLabel":"boolean"},"apiControl":{"type":"object","description":"Optional. Ownership flags are set once at creation and are immutable — you do not need to resend them on every append. If omitted (recommended), the stored flags are used automatically. If supplied, each provided flag must match the value set on create (400 if different). To change ownership, delete the entry and recreate it.","properties":{"questions":{"type":"boolean","default":false,"description":"If true, the `questionList` (including all conditional sub-questions, and each question's `displayCriteria` condition) and the `intent` field are owned by the API. Each append fully overwrites — omitting, null, or `[]` → empty. If false (default), interview questions and their conditions are editable in GovWorx. On append, `questionList`/`intent` may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","uniqueKey":"apiControl.questions","typeLabel":"boolean"},"incidentType":{"type":"boolean","default":false,"description":"Reserved for future use — must be false or omitted. Incident type assignment from the API payload is not yet supported; incident types are always carried forward from the previous version and remain editable in GovWorx regardless of this flag.","uniqueKey":"apiControl.incidentType","typeLabel":"boolean"},"spokenInstructions":{"type":"boolean","default":false,"description":"If true, the `spokenInstructions` list and the `purpose` field are owned by the API. Each append fully overwrites. If false (default), spoken instructions are editable in GovWorx. On append, `spokenInstructions`/`purpose` may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","uniqueKey":"apiControl.spokenInstructions","typeLabel":"boolean"},"cadActions":{"type":"boolean","default":false,"description":"If true, the `cadActions` list is owned by the API. Each append fully overwrites. If false (default), CAD actions are editable in GovWorx. On append, `cadActions` may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","uniqueKey":"apiControl.cadActions","typeLabel":"boolean"},"smsMessages":{"type":"boolean","default":false,"description":"If true, the `smsMessages` list is owned by the API. Each append fully overwrites. If false (default), SMS messages are editable in GovWorx. On append, `smsMessages` may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","uniqueKey":"apiControl.smsMessages","typeLabel":"boolean"},"dispatchTriggers":{"type":"boolean","default":false,"description":"If true, the `dispatchTriggers` list is owned by the API. Each append fully overwrites. If false (default), dispatch triggers are editable in GovWorx. On append, `dispatchTriggers` may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","uniqueKey":"apiControl.dispatchTriggers","typeLabel":"boolean"},"links":{"type":"boolean","default":false,"description":"If true, the card-level `links` list is owned by the API. Each link's `targetExternalId` is resolved server-side into the target Knowledge entry on every write; the target document must already exist in this tenant. Each append fully overwrites. If false (default), links are editable in GovWorx and must not be included in create payloads. On append, `links` may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","uniqueKey":"apiControl.links","typeLabel":"boolean"}},"uniqueKey":"apiControl","typeLabel":"object"},"interview":{"type":"object","description":"Interview content for the new version. **API-owned questions (`apiControl.questions = true`):** Send the full `questionList`. Echo a `referenceId` to update an existing question; omit it to add a new one. Unknown ids → 400. Omitting / null / `[]` results in an empty question list (full overwrite). Each question's `externalReferenceId` follows the same rule — echo it to keep it, omit it to drop it. **GovWorx-owned questions (`apiControl.questions = false`):** it is carried forward automatically regardless of what's sent. Omitting `questionList`, sending it `null` or `[]`, or echoing it back unchanged are all accepted and ignored. A value that differs from what's stored is rejected (400), including an echo that adds, changes, or removes an `externalReferenceId`.","properties":{"id":{"type":"string","description":"Stable identifier within the document, assigned by the author or generator.","uniqueKey":"interview.id","typeLabel":"string"},"name":{"type":"string","description":"Display name of the guide card.","example":"Cardiac Arrest - Adult","uniqueKey":"interview.name","typeLabel":"string"},"intent":{"type":"string","description":"Short statement of when this guide card applies.","example":"Caller reports an unresponsive adult with no pulse.","uniqueKey":"interview.intent","typeLabel":"string"},"service":{"type":"string","description":"Optional service category (e.g., MEDICAL, FIRE, LAW). Used internally for routing.","example":"MEDICAL","uniqueKey":"interview.service","typeLabel":"string"},"isRoot":{"type":"boolean","description":"True if this is the entry-point guide card for the protocol. Default false.","uniqueKey":"interview.isRoot","typeLabel":"boolean"},"disciplines":{"type":"array","description":"Disciplines (id + name, e.g. EMD, LAW, FIRE) this guide card applies to. Absent if none selected.","items":{"type":"object","properties":{"id":{"type":"integer","format":"int64","uniqueKey":"interview.disciplines.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"name":{"type":"string","uniqueKey":"interview.disciplines.items.[INDEX].name","typeLabel":"string"}},"uniqueKey":"interview.disciplines.items.[INDEX]","typeLabel":"object"},"uniqueKey":"interview.disciplines","typeLabel":"object[]"},"questionList":{"type":"array","description":"Ordered list of interview questions asked by the calltaker.","items":{"type":"object","description":"A single interview question.","properties":{"id":{"type":"integer","format":"int64","description":"Sequential identifier within the questionList. Assigned by GovWorx on import; partners may omit.","uniqueKey":"interview.questionList.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"referenceId":{"type":"string","description":"Stable identifier for cross-references (format: q-{8 hex chars}).","example":"q-1a2b3c4d","uniqueKey":"interview.questionList.items.[INDEX].referenceId","typeLabel":"string"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255,"uniqueKey":"interview.questionList.items.[INDEX].externalReferenceId","typeLabel":"string"},"text":{"type":"string","description":"The question as it should be asked to the caller.","example":"Is the patient breathing normally?","uniqueKey":"interview.questionList.items.[INDEX].text","typeLabel":"string"},"intent":{"type":"string","description":"What the calltaker is trying to learn from this question.","uniqueKey":"interview.questionList.items.[INDEX].intent","typeLabel":"string"},"lowQualityCriteria":{"type":"string","description":"Description of a poor-quality answer to this question.","uniqueKey":"interview.questionList.items.[INDEX].lowQualityCriteria","typeLabel":"string"},"highQualityCriteria":{"type":"string","description":"Description of a high-quality answer to this question.","uniqueKey":"interview.questionList.items.[INDEX].highQualityCriteria","typeLabel":"string"},"evaluatable":{"type":"boolean","description":"Whether this question can be evaluated/scored. Default true if null.","uniqueKey":"interview.questionList.items.[INDEX].evaluatable","typeLabel":"boolean"},"useInAssist":{"type":"boolean","description":"Whether this question is used by the AI assist system. Default true if null.","uniqueKey":"interview.questionList.items.[INDEX].useInAssist","typeLabel":"boolean"},"displayCriteria":{"type":"string","description":"Natural-language condition making this question applicable, which may be compound. Null or empty means the question always applies. On a question inside a relatedQuestions group this stacks with the group's own condition.","example":"If the patient fell from something other than the ground","uniqueKey":"interview.questionList.items.[INDEX].displayCriteria","typeLabel":"string"},"isCritical":{"type":"boolean","description":"Critical questions weigh heavily in evaluation. Default false.","uniqueKey":"interview.questionList.items.[INDEX].isCritical","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this question must be asked. Default true if null.","uniqueKey":"interview.questionList.items.[INDEX].required","typeLabel":"boolean"},"relatedQuestions":{"type":"array","description":"Follow-up question groups shown conditionally based on the answer.","items":{"type":"object","description":"Group of related follow-up questions shown conditionally.","properties":{"id":{"type":"integer","format":"int64","description":"Sequential identifier within the relatedQuestions array.","uniqueKey":"interview.questionList.items.[INDEX].relatedQuestions.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"displayCriteria":{"type":"string","description":"Natural-language condition describing when this group is shown.","uniqueKey":"interview.questionList.items.[INDEX].relatedQuestions.items.[INDEX].displayCriteria","typeLabel":"string"},"questionList":{"type":"array","description":"Questions in this group.","items":{"$circularRef":"4fac6d59-c053-4304-b92e-3cb8698640e4"},"uniqueKey":"interview.questionList.items.[INDEX].relatedQuestions.items.[INDEX].questionList","typeLabel":"array"}},"uniqueKey":"interview.questionList.items.[INDEX].relatedQuestions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"interview.questionList.items.[INDEX].relatedQuestions","typeLabel":"object[]"}},"uniqueKey":"interview.questionList.items.[INDEX]","typeLabel":"object"},"uniqueKey":"interview.questionList","typeLabel":"object[]"}},"uniqueKey":"interview","typeLabel":"object"},"actions":{"type":"object","description":"Action set content for the new version. For each API-owned sub-section (flag = true): send the updated list; echo a `referenceId` to update, omit to add new. Omit / null / `[]` = empty (full overwrite). Each item's `externalReferenceId` follows the same rule — echo it to keep it, omit it to drop it. For each GovWorx-owned sub-section (flag = false): it is carried forward automatically regardless of what's sent. Omitting that list, sending it `null` or `[]`, or echoing it back unchanged are all accepted and ignored. A value that differs from what's stored is rejected (400), including an echo that adds, changes, or removes an `externalReferenceId`.","properties":{"id":{"type":"string","description":"Stable identifier within the document.","uniqueKey":"actions.id","typeLabel":"string"},"name":{"type":"string","description":"Display name of the action set.","example":"Cardiac Arrest - Actions","uniqueKey":"actions.name","typeLabel":"string"},"purpose":{"type":"string","description":"Short statement of what these actions accomplish. Ownership follows the `spokenInstructions` flag in the Knowledge entry's `apiControl`.","uniqueKey":"actions.purpose","typeLabel":"string"},"disciplines":{"type":"array","description":"Disciplines (id + name, e.g. EMD, LAW, FIRE) this card applies to. Absent if none selected.","items":{"type":"object","properties":{"id":{"type":"integer","format":"int64","uniqueKey":"actions.disciplines.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"name":{"type":"string","uniqueKey":"actions.disciplines.items.[INDEX].name","typeLabel":"string"}},"uniqueKey":"actions.disciplines.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.disciplines","typeLabel":"object[]"},"spokenInstructions":{"type":"array","description":"Instructions the calltaker reads aloud to the caller.","items":{"type":"object","description":"A single spoken instruction read to the caller.","properties":{"referenceId":{"type":"string","description":"Stable identifier (format: si-{8 hex chars}).","example":"si-1a2b3c4d","uniqueKey":"actions.spokenInstructions.items.[INDEX].referenceId","typeLabel":"string"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255,"uniqueKey":"actions.spokenInstructions.items.[INDEX].externalReferenceId","typeLabel":"string"},"instruction":{"type":"string","description":"The instruction text to read.","example":"Place the heel of one hand on the center of the chest.","uniqueKey":"actions.spokenInstructions.items.[INDEX].instruction","typeLabel":"string"},"sequence":{"type":"integer","format":"int32","description":"Delivery order (0-based).","uniqueKey":"actions.spokenInstructions.items.[INDEX].sequence","typeLabel":"integer\u003cint32>"},"conditionedOn":{"type":"string","description":"Natural-language condition describing when this instruction applies.","uniqueKey":"actions.spokenInstructions.items.[INDEX].conditionedOn","typeLabel":"string"},"referenceMedia":{"type":"string","description":"Reference id of an associated media asset, matching ActionSetMedia.referenceId.","uniqueKey":"actions.spokenInstructions.items.[INDEX].referenceMedia","typeLabel":"string"},"evaluatable":{"type":"boolean","description":"Whether this instruction can be evaluated/scored. Default true if null.","uniqueKey":"actions.spokenInstructions.items.[INDEX].evaluatable","typeLabel":"boolean"},"useInAssist":{"type":"boolean","description":"Whether this instruction is used by the AI assist system. Default true if null.","uniqueKey":"actions.spokenInstructions.items.[INDEX].useInAssist","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this instruction is required to be delivered. Default true if null.","uniqueKey":"actions.spokenInstructions.items.[INDEX].required","typeLabel":"boolean"},"isCritical":{"type":"boolean","description":"Critical instructions weigh heavily in evaluation. Default false if null.","uniqueKey":"actions.spokenInstructions.items.[INDEX].isCritical","typeLabel":"boolean"}},"uniqueKey":"actions.spokenInstructions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.spokenInstructions","typeLabel":"object[]"},"cadActions":{"type":"array","description":"Steps the calltaker or dispatcher performs in the CAD system.","items":{"type":"object","description":"A CAD-system action the calltaker or dispatcher performs.","properties":{"referenceId":{"type":"string","description":"Stable identifier (format: ca-{8 hex chars}).","example":"ca-1a2b3c4d","uniqueKey":"actions.cadActions.items.[INDEX].referenceId","typeLabel":"string"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255,"uniqueKey":"actions.cadActions.items.[INDEX].externalReferenceId","typeLabel":"string"},"instruction":{"type":"string","description":"What to do in CAD.","example":"Enter call type CARDIAC.","uniqueKey":"actions.cadActions.items.[INDEX].instruction","typeLabel":"string"},"role":{"type":"string","description":"Who performs the action.","enum":["CALLTAKER","DISPATCHER"],"example":"CALLTAKER","uniqueKey":"actions.cadActions.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"conditionedOn":{"type":"string","description":"Natural-language condition describing when this action applies.","uniqueKey":"actions.cadActions.items.[INDEX].conditionedOn","typeLabel":"string"},"sequence":{"type":"integer","format":"int32","description":"Delivery order (0-based).","uniqueKey":"actions.cadActions.items.[INDEX].sequence","typeLabel":"integer\u003cint32>"},"evaluatable":{"type":"boolean","description":"Whether this action can be evaluated/scored. Default true if null.","uniqueKey":"actions.cadActions.items.[INDEX].evaluatable","typeLabel":"boolean"},"useInAssist":{"type":"boolean","description":"Whether this action is used by the AI assist system. Default true if null.","uniqueKey":"actions.cadActions.items.[INDEX].useInAssist","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this action is required. Default true if null.","uniqueKey":"actions.cadActions.items.[INDEX].required","typeLabel":"boolean"}},"uniqueKey":"actions.cadActions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.cadActions","typeLabel":"object[]"},"smsMessages":{"type":"array","description":"SMS messages the calltaker may send to the caller.","items":{"type":"object","description":"SMS message template that may be sent to the caller.","properties":{"referenceId":{"type":"string","description":"Stable identifier (format: sms-{8 hex chars}).","example":"sms-1a2b3c4d","uniqueKey":"actions.smsMessages.items.[INDEX].referenceId","typeLabel":"string"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255,"uniqueKey":"actions.smsMessages.items.[INDEX].externalReferenceId","typeLabel":"string"},"message":{"type":"string","description":"Message body.","example":"We've dispatched help. Stay on the line.","uniqueKey":"actions.smsMessages.items.[INDEX].message","typeLabel":"string"},"mediaRef":{"type":"string","description":"Reference id of an associated media asset, matching ActionSetMedia.referenceId.","uniqueKey":"actions.smsMessages.items.[INDEX].mediaRef","typeLabel":"string"},"conditionedOn":{"type":"string","description":"Natural-language condition describing when this message should be sent.","uniqueKey":"actions.smsMessages.items.[INDEX].conditionedOn","typeLabel":"string"},"sequence":{"type":"integer","format":"int32","description":"Delivery order (0-based).","uniqueKey":"actions.smsMessages.items.[INDEX].sequence","typeLabel":"integer\u003cint32>"}},"uniqueKey":"actions.smsMessages.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.smsMessages","typeLabel":"object[]"},"dispatchTriggers":{"type":"array","description":"Cues for the calltaker to update CAD priority/code (e.g., dispatch code changes).","items":{"type":"object","description":"A cue for the calltaker to set/update the CAD dispatch code or priority.","properties":{"referenceId":{"type":"string","description":"Stable identifier (format: dt-{8 hex chars}).","example":"dt-1a2b3c4d","uniqueKey":"actions.dispatchTriggers.items.[INDEX].referenceId","typeLabel":"string"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255,"uniqueKey":"actions.dispatchTriggers.items.[INDEX].externalReferenceId","typeLabel":"string"},"dispatchCode":{"type":"string","description":"The CAD dispatch code to apply.","example":"29B","uniqueKey":"actions.dispatchTriggers.items.[INDEX].dispatchCode","typeLabel":"string"},"condition":{"type":"string","description":"Natural-language condition describing when this trigger fires. Null means it fires whenever the guide card becomes active.","uniqueKey":"actions.dispatchTriggers.items.[INDEX].condition","typeLabel":"string"},"sequence":{"type":"integer","format":"int32","description":"Delivery order (0-based).","uniqueKey":"actions.dispatchTriggers.items.[INDEX].sequence","typeLabel":"integer\u003cint32>"},"pinnedCode":{"type":"boolean","description":"When true, this trigger always appears at the top of the All Triggers panel in Assist while its guide card is active.","uniqueKey":"actions.dispatchTriggers.items.[INDEX].pinnedCode","typeLabel":"boolean"},"fallbackTrigger":{"type":"boolean","description":"When true, this trigger fires automatically if no other code has been sent to CAD. Only one fallback trigger per guide card per tenant is supported.","uniqueKey":"actions.dispatchTriggers.items.[INDEX].fallbackTrigger","typeLabel":"boolean"}},"uniqueKey":"actions.dispatchTriggers.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.dispatchTriggers","typeLabel":"object[]"},"media":{"type":"array","description":"Media assets (images, videos) referenced by spoken instructions or SMS messages.","items":{"type":"object","description":"A media asset referenced by spoken instructions or SMS messages.","properties":{"referenceId":{"type":"string","description":"Stable identifier referenced by SpokenInstruction.referenceMedia or SMSMessage.mediaRef.","uniqueKey":"actions.media.items.[INDEX].referenceId","typeLabel":"string"},"name":{"type":"string","description":"Display name.","uniqueKey":"actions.media.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Short description of the media asset.","uniqueKey":"actions.media.items.[INDEX].description","typeLabel":"string"},"mediaType":{"type":"string","description":"Type of media.","enum":["IMAGE","VIDEO"],"example":"IMAGE","uniqueKey":"actions.media.items.[INDEX].mediaType","typeLabel":"enum\u003cstring>"},"url":{"type":"string","description":"Public URL to the media asset.","uniqueKey":"actions.media.items.[INDEX].url","typeLabel":"string"}},"uniqueKey":"actions.media.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.media","typeLabel":"object[]"},"links":{"type":"array","description":"Card-level conditional links to other guide cards or instruction cards. Each link is independent of any individual spoken instruction. displayCriteria describes when the link should be suggested (null = always show). Ownership follows the `links` flag in the Knowledge entry's `apiControl`: if true, links are owned by the API and each `targetExternalId` is resolved server-side; if false (default), links are authored inside GovWorx. On create, this field must be omitted — supplying it is rejected (400). On append, it may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","items":{"type":"object","description":"Conditional link to another guide card or instruction card.","properties":{"id":{"type":"integer","format":"int64","description":"Sequential identifier within the links array.","uniqueKey":"actions.links.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"referenceId":{"type":"string","description":"Stable identifier (format: lk-{8 hex chars}).","example":"lk-1a2b3c4d","uniqueKey":"actions.links.items.[INDEX].referenceId","typeLabel":"string"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255,"uniqueKey":"actions.links.items.[INDEX].externalReferenceId","typeLabel":"string"},"displayCriteria":{"type":"string","description":"Natural-language condition describing when this link should be suggested.","uniqueKey":"actions.links.items.[INDEX].displayCriteria","typeLabel":"string"},"targetExternalId":{"type":"string","description":"The target document's externalId (per provider/tenant). Required on an API-controlled link; resolved server-side into the target* fields below on every write. The target document must already exist in this tenant.","example":"cpr-instructions","uniqueKey":"actions.links.items.[INDEX].targetExternalId","typeLabel":"string"},"targetSectionId":{"type":"integer","format":"int64","description":"Target knowledge section id. Null if the link has not yet been resolved. Server-resolved from `targetExternalId` on an API-controlled link; ignored on write otherwise.","uniqueKey":"actions.links.items.[INDEX].targetSectionId","typeLabel":"integer\u003cint64>"}},"uniqueKey":"actions.links.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.links","typeLabel":"object[]"}},"uniqueKey":"actions","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"name":"Cardiac Arrest - Adult (Updated)","description":"Updated chest-compression rate per Q1 2026 guidelines.","isAllCallers":false,"externalVersion":"v1.2.0","publish":false,"apiControl":{"questions":false,"incidentType":false,"spokenInstructions":false,"cadActions":false,"smsMessages":false,"dispatchTriggers":false,"links":false},"interview":{"id":"\u003cstring>","name":"Cardiac Arrest - Adult","intent":"Caller reports an unresponsive adult with no pulse.","service":"MEDICAL","isRoot":true,"disciplines":[{"id":123,"name":"\u003cstring>"}],"questionList":[{"id":123,"referenceId":"q-1a2b3c4d","externalReferenceId":"\u003cstring>","text":"Is the patient breathing normally?","intent":"\u003cstring>","lowQualityCriteria":"\u003cstring>","highQualityCriteria":"\u003cstring>","evaluatable":true,"useInAssist":true,"displayCriteria":"If the patient fell from something other than the ground","isCritical":true,"required":true,"relatedQuestions":[{"id":123,"displayCriteria":"\u003cstring>","questionList":"\u003carray>"}]}]},"actions":{"id":"\u003cstring>","name":"Cardiac Arrest - Actions","purpose":"\u003cstring>","disciplines":[{"id":123,"name":"\u003cstring>"}],"spokenInstructions":[{"referenceId":"si-1a2b3c4d","externalReferenceId":"\u003cstring>","instruction":"Place the heel of one hand on the center of the chest.","sequence":123,"conditionedOn":"\u003cstring>","referenceMedia":"\u003cstring>","evaluatable":true,"useInAssist":true,"required":true,"isCritical":true}],"cadActions":[{"referenceId":"ca-1a2b3c4d","externalReferenceId":"\u003cstring>","instruction":"Enter call type CARDIAC.","role":"CALLTAKER","conditionedOn":"\u003cstring>","sequence":123,"evaluatable":true,"useInAssist":true,"required":true}],"smsMessages":[{"referenceId":"sms-1a2b3c4d","externalReferenceId":"\u003cstring>","message":"We've dispatched help. Stay on the line.","mediaRef":"\u003cstring>","conditionedOn":"\u003cstring>","sequence":123}],"dispatchTriggers":[{"referenceId":"dt-1a2b3c4d","externalReferenceId":"\u003cstring>","dispatchCode":"29B","condition":"\u003cstring>","sequence":123,"pinnedCode":true,"fallbackTrigger":true}],"media":[{"referenceId":"\u003cstring>","name":"\u003cstring>","description":"\u003cstring>","mediaType":"IMAGE","url":"\u003cstring>"}],"links":[{"id":123,"referenceId":"lk-1a2b3c4d","externalReferenceId":"\u003cstring>","displayCriteria":"\u003cstring>","targetExternalId":"cpr-instructions","targetSectionId":123}]}}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"885468ce-3531-44ea-a474-ec936c786500":{"description":"Version appended. Response includes the full new version with all GovWorx-generated referenceIds.","content":{"*/*":{"schema":{"type":"object","description":"Full detail of a Knowledge version, including its normalized interview and action content. All `referenceId` values in the returned content are GovWorx-generated stable identifiers. Store these ids — they must be echoed in future append requests to update existing items in place.","properties":{"version":{"type":"integer","format":"int32","description":"Monotonic version number, unique per Knowledge id. Use this in version-scoped routes.","example":3,"uniqueKey":"version","typeLabel":"integer\u003cint32>"},"externalVersion":{"type":"string","description":"Optional partner-supplied version label.","example":"v1.2.0","uniqueKey":"externalVersion","typeLabel":"string"},"isPublished":{"type":"boolean","description":"True if this version is the currently published version for the Knowledge entry.","uniqueKey":"isPublished","typeLabel":"boolean"},"description":{"type":"string","description":"Optional description of this version, as provided on create or append.","uniqueKey":"description","typeLabel":"string"},"createdAt":{"type":"string","format":"date-time","description":"UTC timestamp when this version was created (i.e., when GovWorx received and stored the payload).","uniqueKey":"createdAt","typeLabel":"string\u003cdate-time>"},"publishedAt":{"type":"string","format":"date-time","description":"UTC timestamp when this version was last published (made active), or null if never published.","uniqueKey":"publishedAt","typeLabel":"string\u003cdate-time>"},"apiControl":{"type":"object","description":"The active API ownership flags for this version. Echoes what was declared on create and is immutable between versions. Use this to confirm which sections are API-controlled vs GovWorx-controlled.","properties":{"questions":{"type":"boolean","default":false,"description":"If true, the `questionList` (including all conditional sub-questions, and each question's `displayCriteria` condition) and the `intent` field are owned by the API. Each append fully overwrites — omitting, null, or `[]` → empty. If false (default), interview questions and their conditions are editable in GovWorx. On append, `questionList`/`intent` may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","uniqueKey":"apiControl.questions","typeLabel":"boolean"},"incidentType":{"type":"boolean","default":false,"description":"Reserved for future use — must be false or omitted. Incident type assignment from the API payload is not yet supported; incident types are always carried forward from the previous version and remain editable in GovWorx regardless of this flag.","uniqueKey":"apiControl.incidentType","typeLabel":"boolean"},"spokenInstructions":{"type":"boolean","default":false,"description":"If true, the `spokenInstructions` list and the `purpose` field are owned by the API. Each append fully overwrites. If false (default), spoken instructions are editable in GovWorx. On append, `spokenInstructions`/`purpose` may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","uniqueKey":"apiControl.spokenInstructions","typeLabel":"boolean"},"cadActions":{"type":"boolean","default":false,"description":"If true, the `cadActions` list is owned by the API. Each append fully overwrites. If false (default), CAD actions are editable in GovWorx. On append, `cadActions` may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","uniqueKey":"apiControl.cadActions","typeLabel":"boolean"},"smsMessages":{"type":"boolean","default":false,"description":"If true, the `smsMessages` list is owned by the API. Each append fully overwrites. If false (default), SMS messages are editable in GovWorx. On append, `smsMessages` may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","uniqueKey":"apiControl.smsMessages","typeLabel":"boolean"},"dispatchTriggers":{"type":"boolean","default":false,"description":"If true, the `dispatchTriggers` list is owned by the API. Each append fully overwrites. If false (default), dispatch triggers are editable in GovWorx. On append, `dispatchTriggers` may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","uniqueKey":"apiControl.dispatchTriggers","typeLabel":"boolean"},"links":{"type":"boolean","default":false,"description":"If true, the card-level `links` list is owned by the API. Each link's `targetExternalId` is resolved server-side into the target Knowledge entry on every write; the target document must already exist in this tenant. Each append fully overwrites. If false (default), links are editable in GovWorx and must not be included in create payloads. On append, `links` may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","uniqueKey":"apiControl.links","typeLabel":"boolean"}},"uniqueKey":"apiControl","typeLabel":"object"},"interview":{"type":"object","description":"Interview (question list) content for this version with all GovWorx-generated `referenceId`s populated. Null if this knowledge type does not carry interview content.","properties":{"id":{"type":"string","description":"Stable identifier within the document, assigned by the author or generator.","uniqueKey":"interview.id","typeLabel":"string"},"name":{"type":"string","description":"Display name of the guide card.","example":"Cardiac Arrest - Adult","uniqueKey":"interview.name","typeLabel":"string"},"intent":{"type":"string","description":"Short statement of when this guide card applies.","example":"Caller reports an unresponsive adult with no pulse.","uniqueKey":"interview.intent","typeLabel":"string"},"service":{"type":"string","description":"Optional service category (e.g., MEDICAL, FIRE, LAW). Used internally for routing.","example":"MEDICAL","uniqueKey":"interview.service","typeLabel":"string"},"isRoot":{"type":"boolean","description":"True if this is the entry-point guide card for the protocol. Default false.","uniqueKey":"interview.isRoot","typeLabel":"boolean"},"disciplines":{"type":"array","description":"Disciplines (id + name, e.g. EMD, LAW, FIRE) this guide card applies to. Absent if none selected.","items":{"type":"object","properties":{"id":{"type":"integer","format":"int64","uniqueKey":"interview.disciplines.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"name":{"type":"string","uniqueKey":"interview.disciplines.items.[INDEX].name","typeLabel":"string"}},"uniqueKey":"interview.disciplines.items.[INDEX]","typeLabel":"object"},"uniqueKey":"interview.disciplines","typeLabel":"object[]"},"questionList":{"type":"array","description":"Ordered list of interview questions asked by the calltaker.","items":{"type":"object","description":"A single interview question.","properties":{"id":{"type":"integer","format":"int64","description":"Sequential identifier within the questionList. Assigned by GovWorx on import; partners may omit.","uniqueKey":"interview.questionList.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"referenceId":{"type":"string","description":"Stable identifier for cross-references (format: q-{8 hex chars}).","example":"q-1a2b3c4d","uniqueKey":"interview.questionList.items.[INDEX].referenceId","typeLabel":"string"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255,"uniqueKey":"interview.questionList.items.[INDEX].externalReferenceId","typeLabel":"string"},"text":{"type":"string","description":"The question as it should be asked to the caller.","example":"Is the patient breathing normally?","uniqueKey":"interview.questionList.items.[INDEX].text","typeLabel":"string"},"intent":{"type":"string","description":"What the calltaker is trying to learn from this question.","uniqueKey":"interview.questionList.items.[INDEX].intent","typeLabel":"string"},"lowQualityCriteria":{"type":"string","description":"Description of a poor-quality answer to this question.","uniqueKey":"interview.questionList.items.[INDEX].lowQualityCriteria","typeLabel":"string"},"highQualityCriteria":{"type":"string","description":"Description of a high-quality answer to this question.","uniqueKey":"interview.questionList.items.[INDEX].highQualityCriteria","typeLabel":"string"},"evaluatable":{"type":"boolean","description":"Whether this question can be evaluated/scored. Default true if null.","uniqueKey":"interview.questionList.items.[INDEX].evaluatable","typeLabel":"boolean"},"useInAssist":{"type":"boolean","description":"Whether this question is used by the AI assist system. Default true if null.","uniqueKey":"interview.questionList.items.[INDEX].useInAssist","typeLabel":"boolean"},"displayCriteria":{"type":"string","description":"Natural-language condition making this question applicable, which may be compound. Null or empty means the question always applies. On a question inside a relatedQuestions group this stacks with the group's own condition.","example":"If the patient fell from something other than the ground","uniqueKey":"interview.questionList.items.[INDEX].displayCriteria","typeLabel":"string"},"isCritical":{"type":"boolean","description":"Critical questions weigh heavily in evaluation. Default false.","uniqueKey":"interview.questionList.items.[INDEX].isCritical","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this question must be asked. Default true if null.","uniqueKey":"interview.questionList.items.[INDEX].required","typeLabel":"boolean"},"relatedQuestions":{"type":"array","description":"Follow-up question groups shown conditionally based on the answer.","items":{"type":"object","description":"Group of related follow-up questions shown conditionally.","properties":{"id":{"type":"integer","format":"int64","description":"Sequential identifier within the relatedQuestions array.","uniqueKey":"interview.questionList.items.[INDEX].relatedQuestions.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"displayCriteria":{"type":"string","description":"Natural-language condition describing when this group is shown.","uniqueKey":"interview.questionList.items.[INDEX].relatedQuestions.items.[INDEX].displayCriteria","typeLabel":"string"},"questionList":{"type":"array","description":"Questions in this group.","items":{"$circularRef":"4fac6d59-c053-4304-b92e-3cb8698640e4"},"uniqueKey":"interview.questionList.items.[INDEX].relatedQuestions.items.[INDEX].questionList","typeLabel":"array"}},"uniqueKey":"interview.questionList.items.[INDEX].relatedQuestions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"interview.questionList.items.[INDEX].relatedQuestions","typeLabel":"object[]"}},"uniqueKey":"interview.questionList.items.[INDEX]","typeLabel":"object"},"uniqueKey":"interview.questionList","typeLabel":"object[]"}},"uniqueKey":"interview","typeLabel":"object"},"actions":{"type":"object","description":"Action set content for this version with all GovWorx-generated `referenceId`s populated across spoken instructions (`si-`), CAD actions (`ca-`), SMS messages (`sms-`), and dispatch triggers (`dt-`). Null if no action content exists for this version.","properties":{"id":{"type":"string","description":"Stable identifier within the document.","uniqueKey":"actions.id","typeLabel":"string"},"name":{"type":"string","description":"Display name of the action set.","example":"Cardiac Arrest - Actions","uniqueKey":"actions.name","typeLabel":"string"},"purpose":{"type":"string","description":"Short statement of what these actions accomplish. Ownership follows the `spokenInstructions` flag in the Knowledge entry's `apiControl`.","uniqueKey":"actions.purpose","typeLabel":"string"},"disciplines":{"type":"array","description":"Disciplines (id + name, e.g. EMD, LAW, FIRE) this card applies to. Absent if none selected.","items":{"type":"object","properties":{"id":{"type":"integer","format":"int64","uniqueKey":"actions.disciplines.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"name":{"type":"string","uniqueKey":"actions.disciplines.items.[INDEX].name","typeLabel":"string"}},"uniqueKey":"actions.disciplines.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.disciplines","typeLabel":"object[]"},"spokenInstructions":{"type":"array","description":"Instructions the calltaker reads aloud to the caller.","items":{"type":"object","description":"A single spoken instruction read to the caller.","properties":{"referenceId":{"type":"string","description":"Stable identifier (format: si-{8 hex chars}).","example":"si-1a2b3c4d","uniqueKey":"actions.spokenInstructions.items.[INDEX].referenceId","typeLabel":"string"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255,"uniqueKey":"actions.spokenInstructions.items.[INDEX].externalReferenceId","typeLabel":"string"},"instruction":{"type":"string","description":"The instruction text to read.","example":"Place the heel of one hand on the center of the chest.","uniqueKey":"actions.spokenInstructions.items.[INDEX].instruction","typeLabel":"string"},"sequence":{"type":"integer","format":"int32","description":"Delivery order (0-based).","uniqueKey":"actions.spokenInstructions.items.[INDEX].sequence","typeLabel":"integer\u003cint32>"},"conditionedOn":{"type":"string","description":"Natural-language condition describing when this instruction applies.","uniqueKey":"actions.spokenInstructions.items.[INDEX].conditionedOn","typeLabel":"string"},"referenceMedia":{"type":"string","description":"Reference id of an associated media asset, matching ActionSetMedia.referenceId.","uniqueKey":"actions.spokenInstructions.items.[INDEX].referenceMedia","typeLabel":"string"},"evaluatable":{"type":"boolean","description":"Whether this instruction can be evaluated/scored. Default true if null.","uniqueKey":"actions.spokenInstructions.items.[INDEX].evaluatable","typeLabel":"boolean"},"useInAssist":{"type":"boolean","description":"Whether this instruction is used by the AI assist system. Default true if null.","uniqueKey":"actions.spokenInstructions.items.[INDEX].useInAssist","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this instruction is required to be delivered. Default true if null.","uniqueKey":"actions.spokenInstructions.items.[INDEX].required","typeLabel":"boolean"},"isCritical":{"type":"boolean","description":"Critical instructions weigh heavily in evaluation. Default false if null.","uniqueKey":"actions.spokenInstructions.items.[INDEX].isCritical","typeLabel":"boolean"}},"uniqueKey":"actions.spokenInstructions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.spokenInstructions","typeLabel":"object[]"},"cadActions":{"type":"array","description":"Steps the calltaker or dispatcher performs in the CAD system.","items":{"type":"object","description":"A CAD-system action the calltaker or dispatcher performs.","properties":{"referenceId":{"type":"string","description":"Stable identifier (format: ca-{8 hex chars}).","example":"ca-1a2b3c4d","uniqueKey":"actions.cadActions.items.[INDEX].referenceId","typeLabel":"string"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255,"uniqueKey":"actions.cadActions.items.[INDEX].externalReferenceId","typeLabel":"string"},"instruction":{"type":"string","description":"What to do in CAD.","example":"Enter call type CARDIAC.","uniqueKey":"actions.cadActions.items.[INDEX].instruction","typeLabel":"string"},"role":{"type":"string","description":"Who performs the action.","enum":["CALLTAKER","DISPATCHER"],"example":"CALLTAKER","uniqueKey":"actions.cadActions.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"conditionedOn":{"type":"string","description":"Natural-language condition describing when this action applies.","uniqueKey":"actions.cadActions.items.[INDEX].conditionedOn","typeLabel":"string"},"sequence":{"type":"integer","format":"int32","description":"Delivery order (0-based).","uniqueKey":"actions.cadActions.items.[INDEX].sequence","typeLabel":"integer\u003cint32>"},"evaluatable":{"type":"boolean","description":"Whether this action can be evaluated/scored. Default true if null.","uniqueKey":"actions.cadActions.items.[INDEX].evaluatable","typeLabel":"boolean"},"useInAssist":{"type":"boolean","description":"Whether this action is used by the AI assist system. Default true if null.","uniqueKey":"actions.cadActions.items.[INDEX].useInAssist","typeLabel":"boolean"},"required":{"type":"boolean","description":"Whether this action is required. Default true if null.","uniqueKey":"actions.cadActions.items.[INDEX].required","typeLabel":"boolean"}},"uniqueKey":"actions.cadActions.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.cadActions","typeLabel":"object[]"},"smsMessages":{"type":"array","description":"SMS messages the calltaker may send to the caller.","items":{"type":"object","description":"SMS message template that may be sent to the caller.","properties":{"referenceId":{"type":"string","description":"Stable identifier (format: sms-{8 hex chars}).","example":"sms-1a2b3c4d","uniqueKey":"actions.smsMessages.items.[INDEX].referenceId","typeLabel":"string"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255,"uniqueKey":"actions.smsMessages.items.[INDEX].externalReferenceId","typeLabel":"string"},"message":{"type":"string","description":"Message body.","example":"We've dispatched help. Stay on the line.","uniqueKey":"actions.smsMessages.items.[INDEX].message","typeLabel":"string"},"mediaRef":{"type":"string","description":"Reference id of an associated media asset, matching ActionSetMedia.referenceId.","uniqueKey":"actions.smsMessages.items.[INDEX].mediaRef","typeLabel":"string"},"conditionedOn":{"type":"string","description":"Natural-language condition describing when this message should be sent.","uniqueKey":"actions.smsMessages.items.[INDEX].conditionedOn","typeLabel":"string"},"sequence":{"type":"integer","format":"int32","description":"Delivery order (0-based).","uniqueKey":"actions.smsMessages.items.[INDEX].sequence","typeLabel":"integer\u003cint32>"}},"uniqueKey":"actions.smsMessages.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.smsMessages","typeLabel":"object[]"},"dispatchTriggers":{"type":"array","description":"Cues for the calltaker to update CAD priority/code (e.g., dispatch code changes).","items":{"type":"object","description":"A cue for the calltaker to set/update the CAD dispatch code or priority.","properties":{"referenceId":{"type":"string","description":"Stable identifier (format: dt-{8 hex chars}).","example":"dt-1a2b3c4d","uniqueKey":"actions.dispatchTriggers.items.[INDEX].referenceId","typeLabel":"string"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255,"uniqueKey":"actions.dispatchTriggers.items.[INDEX].externalReferenceId","typeLabel":"string"},"dispatchCode":{"type":"string","description":"The CAD dispatch code to apply.","example":"29B","uniqueKey":"actions.dispatchTriggers.items.[INDEX].dispatchCode","typeLabel":"string"},"condition":{"type":"string","description":"Natural-language condition describing when this trigger fires. Null means it fires whenever the guide card becomes active.","uniqueKey":"actions.dispatchTriggers.items.[INDEX].condition","typeLabel":"string"},"sequence":{"type":"integer","format":"int32","description":"Delivery order (0-based).","uniqueKey":"actions.dispatchTriggers.items.[INDEX].sequence","typeLabel":"integer\u003cint32>"},"pinnedCode":{"type":"boolean","description":"When true, this trigger always appears at the top of the All Triggers panel in Assist while its guide card is active.","uniqueKey":"actions.dispatchTriggers.items.[INDEX].pinnedCode","typeLabel":"boolean"},"fallbackTrigger":{"type":"boolean","description":"When true, this trigger fires automatically if no other code has been sent to CAD. Only one fallback trigger per guide card per tenant is supported.","uniqueKey":"actions.dispatchTriggers.items.[INDEX].fallbackTrigger","typeLabel":"boolean"}},"uniqueKey":"actions.dispatchTriggers.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.dispatchTriggers","typeLabel":"object[]"},"media":{"type":"array","description":"Media assets (images, videos) referenced by spoken instructions or SMS messages.","items":{"type":"object","description":"A media asset referenced by spoken instructions or SMS messages.","properties":{"referenceId":{"type":"string","description":"Stable identifier referenced by SpokenInstruction.referenceMedia or SMSMessage.mediaRef.","uniqueKey":"actions.media.items.[INDEX].referenceId","typeLabel":"string"},"name":{"type":"string","description":"Display name.","uniqueKey":"actions.media.items.[INDEX].name","typeLabel":"string"},"description":{"type":"string","description":"Short description of the media asset.","uniqueKey":"actions.media.items.[INDEX].description","typeLabel":"string"},"mediaType":{"type":"string","description":"Type of media.","enum":["IMAGE","VIDEO"],"example":"IMAGE","uniqueKey":"actions.media.items.[INDEX].mediaType","typeLabel":"enum\u003cstring>"},"url":{"type":"string","description":"Public URL to the media asset.","uniqueKey":"actions.media.items.[INDEX].url","typeLabel":"string"}},"uniqueKey":"actions.media.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.media","typeLabel":"object[]"},"links":{"type":"array","description":"Card-level conditional links to other guide cards or instruction cards. Each link is independent of any individual spoken instruction. displayCriteria describes when the link should be suggested (null = always show). Ownership follows the `links` flag in the Knowledge entry's `apiControl`: if true, links are owned by the API and each `targetExternalId` is resolved server-side; if false (default), links are authored inside GovWorx. On create, this field must be omitted — supplying it is rejected (400). On append, it may be omitted, sent empty, or echoed back unchanged — all are ignored and the stored content is kept; a differing value is rejected (400).","items":{"type":"object","description":"Conditional link to another guide card or instruction card.","properties":{"id":{"type":"integer","format":"int64","description":"Sequential identifier within the links array.","uniqueKey":"actions.links.items.[INDEX].id","typeLabel":"integer\u003cint64>"},"referenceId":{"type":"string","description":"Stable identifier (format: lk-{8 hex chars}).","example":"lk-1a2b3c4d","uniqueKey":"actions.links.items.[INDEX].referenceId","typeLabel":"string"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255,"uniqueKey":"actions.links.items.[INDEX].externalReferenceId","typeLabel":"string"},"displayCriteria":{"type":"string","description":"Natural-language condition describing when this link should be suggested.","uniqueKey":"actions.links.items.[INDEX].displayCriteria","typeLabel":"string"},"targetExternalId":{"type":"string","description":"The target document's externalId (per provider/tenant). Required on an API-controlled link; resolved server-side into the target* fields below on every write. The target document must already exist in this tenant.","example":"cpr-instructions","uniqueKey":"actions.links.items.[INDEX].targetExternalId","typeLabel":"string"},"targetSectionId":{"type":"integer","format":"int64","description":"Target knowledge section id. Null if the link has not yet been resolved. Server-resolved from `targetExternalId` on an API-controlled link; ignored on write otherwise.","uniqueKey":"actions.links.items.[INDEX].targetSectionId","typeLabel":"integer\u003cint64>"},"targetDocumentName":{"type":"string","description":"Resolved on fetch; ignored on write.","readOnly":true,"uniqueKey":"actions.links.items.[INDEX].targetDocumentName","typeLabel":"string"},"targetKnowledgeType":{"type":"string","description":"Resolved on fetch; ignored on write.","readOnly":true,"uniqueKey":"actions.links.items.[INDEX].targetKnowledgeType","typeLabel":"string"},"targetKnowledgeId":{"type":"integer","format":"int64","description":"Resolved on fetch; ignored on write.","readOnly":true,"uniqueKey":"actions.links.items.[INDEX].targetKnowledgeId","typeLabel":"integer\u003cint64>"}},"uniqueKey":"actions.links.items.[INDEX]","typeLabel":"object"},"uniqueKey":"actions.links","typeLabel":"object[]"}},"uniqueKey":"actions","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"version":3,"externalVersion":"v1.2.0","isPublished":true,"description":"\u003cstring>","createdAt":"2023-11-07T05:31:56Z","publishedAt":"2023-11-07T05:31:56Z","apiControl":{"questions":false,"incidentType":false,"spokenInstructions":false,"cadActions":false,"smsMessages":false,"dispatchTriggers":false,"links":false},"interview":{"id":"\u003cstring>","name":"Cardiac Arrest - Adult","intent":"Caller reports an unresponsive adult with no pulse.","service":"MEDICAL","isRoot":true,"disciplines":[{"id":123,"name":"\u003cstring>"}],"questionList":[{"id":123,"referenceId":"q-1a2b3c4d","externalReferenceId":"\u003cstring>","text":"Is the patient breathing normally?","intent":"\u003cstring>","lowQualityCriteria":"\u003cstring>","highQualityCriteria":"\u003cstring>","evaluatable":true,"useInAssist":true,"displayCriteria":"If the patient fell from something other than the ground","isCritical":true,"required":true,"relatedQuestions":[{"id":123,"displayCriteria":"\u003cstring>","questionList":"\u003carray>"}]}]},"actions":{"id":"\u003cstring>","name":"Cardiac Arrest - Actions","purpose":"\u003cstring>","disciplines":[{"id":123,"name":"\u003cstring>"}],"spokenInstructions":[{"referenceId":"si-1a2b3c4d","externalReferenceId":"\u003cstring>","instruction":"Place the heel of one hand on the center of the chest.","sequence":123,"conditionedOn":"\u003cstring>","referenceMedia":"\u003cstring>","evaluatable":true,"useInAssist":true,"required":true,"isCritical":true}],"cadActions":[{"referenceId":"ca-1a2b3c4d","externalReferenceId":"\u003cstring>","instruction":"Enter call type CARDIAC.","role":"CALLTAKER","conditionedOn":"\u003cstring>","sequence":123,"evaluatable":true,"useInAssist":true,"required":true}],"smsMessages":[{"referenceId":"sms-1a2b3c4d","externalReferenceId":"\u003cstring>","message":"We've dispatched help. Stay on the line.","mediaRef":"\u003cstring>","conditionedOn":"\u003cstring>","sequence":123}],"dispatchTriggers":[{"referenceId":"dt-1a2b3c4d","externalReferenceId":"\u003cstring>","dispatchCode":"29B","condition":"\u003cstring>","sequence":123,"pinnedCode":true,"fallbackTrigger":true}],"media":[{"referenceId":"\u003cstring>","name":"\u003cstring>","description":"\u003cstring>","mediaType":"IMAGE","url":"\u003cstring>"}],"links":[{"id":123,"referenceId":"lk-1a2b3c4d","externalReferenceId":"\u003cstring>","displayCriteria":"\u003cstring>","targetExternalId":"cpr-instructions","targetSectionId":123,"targetDocumentName":"\u003cstring>","targetKnowledgeType":"\u003cstring>","targetKnowledgeId":123}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"2c277610-a6af-4900-9916-41283db3a8a2":{"description":"Validation error — GovWorx-owned section content supplied, unknown referenceId, flag immutability violation, multiple fallback triggers, or unsupported digest type for this knowledge type.","content":{"*/*":{"schema":{"type":"object","properties":{"info":{"type":"string","uniqueKey":"info","typeLabel":"string"},"reason":{"type":"string","uniqueKey":"reason","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"GovWorx-owned section supplied":{"title":"GovWorx-owned section supplied","description":"GovWorx-owned section supplied","value":{"info":"The `spokenInstructions` section is not API-controlled and is managed within GovWorx. Remove `spokenInstructions` from the request."}},"Unknown referenceId":{"title":"Unknown referenceId","description":"Unknown referenceId","value":{"info":"Unknown referenceId 'si-deadbeef' on API-controlled spoken instructions. Updates must echo a GovWorx-generated referenceId from the previous version; omit the referenceId to add a new item."}},"Flag immutability":{"title":"Flag immutability","description":"Flag immutability","value":{"info":"The `spokenInstructions` setting cannot change between versions (currently true). Delete the Knowledge entry and recreate it to change which sections the API manages."}},"Multiple fallback triggers":{"title":"Multiple fallback triggers","description":"Multiple fallback triggers","value":{"info":"Only one dispatch trigger may be the fallback trigger (fallbackTrigger=true), but 2 were supplied: 27D01, 27B01. Set fallbackTrigger=true on at most one."}}},"exampleType":"examples"}},"exampleType":"examples"},"f5898270-ddc7-4502-a41a-134f94488971":{"description":"Missing or invalid bearer token.","content":{"*/*":{"schema":{"type":"object","properties":{"info":{"type":"string","uniqueKey":"info","typeLabel":"string"},"reason":{"type":"string","uniqueKey":"reason","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"info":"Authentication required"},"examples":{"Example":{"title":"Example","value":{"info":"Authentication required"}}},"exampleType":"examples"}},"exampleType":"examples"},"bca83314-794a-423f-9317-31b7d14f74c8":{"description":"Token does not have the Manage Knowledge permission.","content":{"*/*":{"schema":{"type":"object","properties":{"info":{"type":"string","uniqueKey":"info","typeLabel":"string"},"reason":{"type":"string","uniqueKey":"reason","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"info":"Access denied — Manage Knowledge permission required"},"examples":{"Example":{"title":"Example","value":{"info":"Access denied — Manage Knowledge permission required"}}},"exampleType":"examples"}},"exampleType":"examples"},"7786c52a-8611-4756-a984-874d59101194":{"description":"Knowledge entry not found, or the entry is not API-managed.","content":{"*/*":{"schema":{"type":"object","properties":{"info":{"type":"string","uniqueKey":"info","typeLabel":"string"},"reason":{"type":"string","uniqueKey":"reason","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"info":"Versions can only be appended to API-managed Knowledge entries"},"examples":{"Example":{"title":"Example","value":{"info":"Versions can only be appended to API-managed Knowledge entries"}}},"exampleType":"examples"}},"exampleType":"examples"},"3308f6db-6011-4743-8c3b-55903c7178a4":{"description":"A concurrent request appended the same version number — retry the request.","content":{"*/*":{"schema":{"type":"object","properties":{"info":{"type":"string","uniqueKey":"info","typeLabel":"string"},"reason":{"type":"string","uniqueKey":"reason","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"info":"A concurrent append created version 3 for this Knowledge entry. Retry the request to append the next version."},"examples":{"Example":{"title":"Example","value":{"info":"A concurrent append created version 3 for this Knowledge entry. Retry the request to append the next version."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{},"servers":{"af7bb609-9f25-4c28-b1e1-79243d2da4fd":{"url":"https://app.govworx.net"}},"schemas":{"4fac6d59-c053-4304-b92e-3cb8698640e4":{"type":"object","description":"A single interview question.","properties":{"id":{"type":"integer","format":"int64","description":"Sequential identifier within the questionList. Assigned by GovWorx on import; partners may omit."},"referenceId":{"type":"string","description":"Stable identifier for cross-references (format: q-{8 hex chars}).","example":"q-1a2b3c4d"},"externalReferenceId":{"type":"string","description":"Optional identifier owned by the partner. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items — referenceId stays the only item identity. Max 255 characters; a blank value is treated as absent. On append to an API-owned section, an item sent without it is stored without it. In a GovWorx-owned section the stored value is carried forward, and an echo that adds, changes, or removes it is rejected (400).","maxLength":255},"text":{"type":"string","description":"The question as it should be asked to the caller.","example":"Is the patient breathing normally?"},"intent":{"type":"string","description":"What the calltaker is trying to learn from this question."},"lowQualityCriteria":{"type":"string","description":"Description of a poor-quality answer to this question."},"highQualityCriteria":{"type":"string","description":"Description of a high-quality answer to this question."},"evaluatable":{"type":"boolean","description":"Whether this question can be evaluated/scored. Default true if null."},"useInAssist":{"type":"boolean","description":"Whether this question is used by the AI assist system. Default true if null."},"displayCriteria":{"type":"string","description":"Natural-language condition making this question applicable, which may be compound. Null or empty means the question always applies. On a question inside a relatedQuestions group this stacks with the group's own condition.","example":"If the patient fell from something other than the ground"},"isCritical":{"type":"boolean","description":"Critical questions weigh heavily in evaluation. Default false."},"required":{"type":"boolean","description":"Whether this question must be asked. Default true if null."},"relatedQuestions":{"type":"array","description":"Follow-up question groups shown conditionally based on the answer.","items":{"type":"object","description":"Group of related follow-up questions shown conditionally.","properties":{"id":{"type":"integer","format":"int64","description":"Sequential identifier within the relatedQuestions array."},"displayCriteria":{"type":"string","description":"Natural-language condition describing when this group is shown."},"questionList":{"type":"array","description":"Questions in this group.","items":{"$circularRef":"4fac6d59-c053-4304-b92e-3cb8698640e4"}}}}}}}}},"originalFileLocation":"https://app.govworx.net/u/api-docs"},"subdomain":"govworx","siteName":"GovWorx API Documentation","title":"Append Knowledge version - GovWorx API Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T03:04:22.169Z","originalFileLocation":"api-reference/knowledge/append-knowledge-version.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=\"Add a new immutable version to an existing API-managed Knowledge entry. The version number is assigned automatically (previous + 1). API-owned sections (where the apiControl flag was set to true on create): Send the updated content. Full-overwrite semantics apply — whatever you send becomes the new version\u0026#x27;s content. Omitting a list, sending null, or sending [] sets that section to empty. Echo a referenceId from the previous version to update that item; omit the referenceId to add a new item. Supplying an unknown referenceId is rejected (400). GovWorx-owned sections (where the apiControl flag was false on create): Do NOT send content for these sections. GovWorx automatically carries the previous version\u0026#x27;s content forward. Sending content for a GovWorx-owned section is rejected (400). Flag immutability: apiControl is set once at creation — you do not need to resend it on append. Omitting it is recommended; the stored flags are used automatically. If you do include it, each flag must match the value set on create (400 if different). externalReferenceId: in an API-owned section it follows the full-overwrite rule — an item sent without it doesn\u0026#x27;t have it in the new version, so echo it on every append if you use it. In a GovWorx-owned section the stored value is carried forward; an echo that adds, changes, or removes it differs from what\u0026#x27;s stored and is rejected (400). publish defaults to false: the new version is an unpublished draft and the previously published version stays live. Send \u0026quot;publish\u0026quot;: true to publish it immediately, replacing the previously published version (or becoming the first published one if there is none).\">\u003cmeta data-mint-head name=\"application-name\" content=\"GovWorx API Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/govworx/LV4nt-UNetYIjxXN/_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/govworx/LV4nt-UNetYIjxXN/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/govworx/LV4nt-UNetYIjxXN/_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/govworx/LV4nt-UNetYIjxXN/_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/govworx/LV4nt-UNetYIjxXN/_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/govworx/LV4nt-UNetYIjxXN/_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/govworx/LV4nt-UNetYIjxXN/_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/govworx/LV4nt-UNetYIjxXN/_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/govworx/LV4nt-UNetYIjxXN/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Append Knowledge version - GovWorx API Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Add a new immutable version to an existing API-managed Knowledge entry. The version number is assigned automatically (previous + 1). API-owned sections (where the apiControl flag was set to true on create): Send the updated content. Full-overwrite semantics apply — whatever you send becomes the new version\u0026#x27;s content. Omitting a list, sending null, or sending [] sets that section to empty. Echo a referenceId from the previous version to update that item; omit the referenceId to add a new item. Supplying an unknown referenceId is rejected (400). GovWorx-owned sections (where the apiControl flag was false on create): Do NOT send content for these sections. GovWorx automatically carries the previous version\u0026#x27;s content forward. Sending content for a GovWorx-owned section is rejected (400). Flag immutability: apiControl is set once at creation — you do not need to resend it on append. Omitting it is recommended; the stored flags are used automatically. If you do include it, each flag must match the value set on create (400 if different). externalReferenceId: in an API-owned section it follows the full-overwrite rule — an item sent without it doesn\u0026#x27;t have it in the new version, so echo it on every append if you use it. In a GovWorx-owned section the stored value is carried forward; an echo that adds, changes, or removes it differs from what\u0026#x27;s stored and is rejected (400). publish defaults to false: the new version is an unpublished draft and the previously published version stays live. Send \u0026quot;publish\u0026quot;: true to publish it immediately, replacing the previously published version (or becoming the first published one if there is none).\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"GovWorx API Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.govworx.ai/api-reference/knowledge/append-knowledge-version\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://govworx.mintlify.app/_mintlify/api/og/v2?division=Knowledge\u0026amp;title=Append+Knowledge+version\u0026amp;description=Add+a+new+immutable+version+to+an+existing+API-managed+Knowledge+entry.+The+version+number+is+assigned+automatically+%28previous+%2B+1%29.%0A%0A**API-owned+sections**+%28wh\u0026amp;theme=9ed98ad7a71cea6ade40e8a5\u0026amp;signature=951f9755ee39ea9912f2767219c614dce3b92b3a67f7477886eabc03511082af\">\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=\"Append Knowledge version - GovWorx API Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Add a new immutable version to an existing API-managed Knowledge entry. The version number is assigned automatically (previous + 1). API-owned sections (where the apiControl flag was set to true on create): Send the updated content. Full-overwrite semantics apply — whatever you send becomes the new version\u0026#x27;s content. Omitting a list, sending null, or sending [] sets that section to empty. Echo a referenceId from the previous version to update that item; omit the referenceId to add a new item. Supplying an unknown referenceId is rejected (400). GovWorx-owned sections (where the apiControl flag was false on create): Do NOT send content for these sections. GovWorx automatically carries the previous version\u0026#x27;s content forward. Sending content for a GovWorx-owned section is rejected (400). Flag immutability: apiControl is set once at creation — you do not need to resend it on append. Omitting it is recommended; the stored flags are used automatically. If you do include it, each flag must match the value set on create (400 if different). externalReferenceId: in an API-owned section it follows the full-overwrite rule — an item sent without it doesn\u0026#x27;t have it in the new version, so echo it on every append if you use it. In a GovWorx-owned section the stored value is carried forward; an echo that adds, changes, or removes it differs from what\u0026#x27;s stored and is rejected (400). publish defaults to false: the new version is an unpublished draft and the previously published version stays live. Send \u0026quot;publish\u0026quot;: true to publish it immediately, replacing the previously published version (or becoming the first published one if there is none).\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://govworx.mintlify.app/_mintlify/api/og/v2?division=Knowledge\u0026amp;title=Append+Knowledge+version\u0026amp;description=Add+a+new+immutable+version+to+an+existing+API-managed+Knowledge+entry.+The+version+number+is+assigned+automatically+%28previous+%2B+1%29.%0A%0A**API-owned+sections**+%28wh\u0026amp;theme=9ed98ad7a71cea6ade40e8a5\u0026amp;signature=951f9755ee39ea9912f2767219c614dce3b92b3a67f7477886eabc03511082af\">\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/govworx/LV4nt-UNetYIjxXN/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"GovWorx API Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#339af0\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.govworx.ai/api-reference/knowledge/append-knowledge-version\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/knowledge/append-knowledge-version.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.govworx.ai/#organization\",\"name\":\"GovWorx API Documentation\",\"url\":\"https://developers.govworx.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/govworx/0FFQLB-2pFQKMa2M/logo/GovWorx-Logo_light.png?fit=max\u0026auto=format\u0026n=0FFQLB-2pFQKMa2M\u0026q=85\u0026s=6f689d9f51a89e59482167234491c4ee\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.govworx.ai#website\",\"name\":\"GovWorx API Documentation\",\"url\":\"https://developers.govworx.ai\",\"publisher\":{\"@id\":\"https://developers.govworx.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.govworx.ai/api-reference/knowledge/append-knowledge-version#webpage\",\"url\":\"https://developers.govworx.ai/api-reference/knowledge/append-knowledge-version\",\"name\":\"Append Knowledge version\",\"description\":\"Add a new immutable version to an existing API-managed Knowledge entry. The version number is assigned automatically (previous + 1). API-owned sections (where the apiControl flag was set to true on create): Send the updated content. Full-overwrite semantics apply — whatever you send becomes the new version's content. Omitting a list, sending null, or sending [] sets that section to empty. Echo a referenceId from the previous version to update that item; omit the referenceId to add a new item. Supplying an unknown referenceId is rejected (400). GovWorx-owned sections (where the apiControl flag was false on create): Do NOT send content for these sections. GovWorx automatically carries the previous version's content forward. Sending content for a GovWorx-owned section is rejected (400). Flag immutability: apiControl is set once at creation — you do not need to resend it on append. Omitting it is recommended; the stored flags are used automatically. If you do include it, each flag must match the value set on create (400 if different). externalReferenceId: in an API-owned section it follows the full-overwrite rule — an item sent without it doesn't have it in the new version, so echo it on every append if you use it. In a GovWorx-owned section the stored value is carried forward; an echo that adds, changes, or removes it differs from what's stored and is rejected (400). publish defaults to false: the new version is an unpublished draft and the previously published version stays live. Send \\\"publish\\\": true to publish it immediately, replacing the previously published version (or becoming the first published one if there is none).\",\"dateModified\":\"2026-10-29T03:04:22.169Z\",\"isPartOf\":{\"@id\":\"https://developers.govworx.ai#website\"},\"breadcrumb\":{\"@id\":\"https://developers.govworx.ai/api-reference/knowledge/append-knowledge-version#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.govworx.ai/api-reference/knowledge/append-knowledge-version#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://developers.govworx.ai/api-reference/capture-radio-controller/put-apiv1internalcapture-radioclaims-audio\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Knowledge\",\"item\":\"https://developers.govworx.ai/api-reference/knowledge/list-knowledge-entries\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Append Knowledge version\",\"item\":\"https://developers.govworx.ai/api-reference/knowledge/append-knowledge-version\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.govworx.ai/api-reference/knowledge/append-knowledge-version#apireference\",\"headline\":\"Append Knowledge version\",\"name\":\"Append Knowledge version\",\"description\":\"Add a new immutable version to an existing API-managed Knowledge entry. The version number is assigned automatically (previous + 1). API-owned sections (where the apiControl flag was set to true on create): Send the updated content. Full-overwrite semantics apply — whatever you send becomes the new version's content. Omitting a list, sending null, or sending [] sets that section to empty. Echo a referenceId from the previous version to update that item; omit the referenceId to add a new item. Supplying an unknown referenceId is rejected (400). GovWorx-owned sections (where the apiControl flag was false on create): Do NOT send content for these sections. GovWorx automatically carries the previous version's content forward. Sending content for a GovWorx-owned section is rejected (400). Flag immutability: apiControl is set once at creation — you do not need to resend it on append. Omitting it is recommended; the stored flags are used automatically. If you do include it, each flag must match the value set on create (400 if different). externalReferenceId: in an API-owned section it follows the full-overwrite rule — an item sent without it doesn't have it in the new version, so echo it on every append if you use it. In a GovWorx-owned section the stored value is carried forward; an echo that adds, changes, or removes it differs from what's stored and is rejected (400). publish defaults to false: the new version is an unpublished draft and the previously published version stays live. Send \\\"publish\\\": true to publish it immediately, replacing the previously published version (or becoming the first published one if there is none).\",\"url\":\"https://developers.govworx.ai/api-reference/knowledge/append-knowledge-version\",\"mainEntityOfPage\":{\"@id\":\"https://developers.govworx.ai/api-reference/knowledge/append-knowledge-version#webpage\"},\"dateModified\":\"2026-10-29T03:04:22.169Z\",\"publisher\":{\"@id\":\"https://developers.govworx.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.govworx.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"GovWorx API Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"GovWorx API Documentation","nav":{"global":{"anchors":[{"anchor":"About GovWorx","icon":"book-open-cover","href":"https://www.govworx.ai"},{"anchor":"Trust Center","icon":"lock","href":"https://security.govworx.ai"}]},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"Connections Platform","pages":[{"title":"Connections Platform","href":"/connections-platform/overview"}]},{"tab":"API reference","groups":[{"group":"API documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction"}]},{"group":"API Reference","pages":[{"group":"capture-radio-controller","pages":[{"title":"Put apiv1internalcapture radioclaims audio","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs put /api/v1/internal/capture-radio/claims/{childId}/audio","href":"/api-reference/capture-radio-controller/put-apiv1internalcapture-radioclaims-audio"},{"title":"Post apiv1internalcapture radioclaims","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs post /api/v1/internal/capture-radio/claims","href":"/api-reference/capture-radio-controller/post-apiv1internalcapture-radioclaims"},{"title":"Post apiv1internalcapture radioclaims finalize","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs post /api/v1/internal/capture-radio/claims/{childId}/finalize","href":"/api-reference/capture-radio-controller/post-apiv1internalcapture-radioclaims-finalize"},{"title":"Get apiv1internalcapture radioclaims","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/internal/capture-radio/claims/{childId}","href":"/api-reference/capture-radio-controller/get-apiv1internalcapture-radioclaims"},{"title":"Get apiv1internalcapture radiocapability","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/internal/capture-radio/capability","href":"/api-reference/capture-radio-controller/get-apiv1internalcapture-radiocapability"}]},{"group":"Incident","pages":[{"title":"Upload Incident","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs put /api/v1/external/incident","href":"/api-reference/incident/upload-incident"}]},{"group":"Media Ingest","pages":[{"title":"Ingest SRT radio media","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs post /api/v1/external/media","href":"/api-reference/media-ingest/ingest-srt-radio-media"}]},{"group":"Knowledge","pages":[{"title":"List Knowledge entries","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/knowledge","href":"/api-reference/knowledge/list-knowledge-entries"},{"title":"Create Knowledge entry","description":"Create a new Knowledge entry with its first version. The `externalId` + `provider` pair must be unique for the tenant (409 if a duplicate exists). \n\nGovWorx generates a stable `referenceId` for every item in every content list, plus the interview and action set's own `id`, and echoes them back in the response. Any id supplied in the request — on an item or a digest — is ignored, not stored; this never fails the request. **Store all `referenceId` values** from the response — they are required to update existing items in place on future append calls.\n\nSection ownership is declared via a single top-level `apiControl` object. Each flag defaults to false (GovWorx-owned) when absent or when `apiControl` is omitted entirely. Flags are immutable after creation — delete and recreate to change them.\n\nEach item may optionally carry an `externalReferenceId` — an opaque identifier owned by you. GovWorx stores and returns it exactly as sent; it is never generated, never required to be unique, and never used to identify or match items (`referenceId` stays the only item identity). Max length 255; an empty string is treated as absent.\n\n`publish` defaults to false: the created version is an unpublished draft until it is published in GovWorx. Send `\"publish\": true` to publish it immediately and make it available to GovWorx runtime consumers.","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs post /api/v1/external/knowledge","href":"/api-reference/knowledge/create-knowledge-entry"},{"title":"Append Knowledge version","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs post /api/v1/external/knowledge/{knowledgeId}/versions","href":"/api-reference/knowledge/append-knowledge-version"},{"title":"Get Knowledge entry","description":"Fetch an API-managed Knowledge entry's current state, in the same shape as the create response. Returns the latest version — which may be an unpublished draft; check `publishedVersion` for the version currently live — with its full `interview` and `actions` content and every `referenceId`. \n\nContent is the *effective* content: GovWorx-side edits made inside the product are reflected here, not just what the API last wrote.\n\nUse this to recover a card's state and `referenceId`s when they weren't stored locally, then send the result back as an append after editing the API-owned sections.\n\nOnly entries created via this API are visible here; a GovWorx-authored entry returns 404, the same as an entry that doesn't exist.","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/knowledge/{knowledgeId}","href":"/api-reference/knowledge/get-knowledge-entry"},{"title":"Look up Knowledge by externalId","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/knowledge/by-external-id","href":"/api-reference/knowledge/look-up-knowledge-by-externalid"}]},{"group":"Users","pages":[{"title":"List Users","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/user","href":"/api-reference/users/list-users"},{"title":"Lookup User","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/user/single","href":"/api-reference/users/lookup-user"}]},{"group":"TRAIN","pages":[{"title":"List Training Observation Reports","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/train/user/{userId}/reports","href":"/api-reference/train/list-training-observation-reports"},{"title":"List User Phase Enrollments","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/train/user/{userId}/enrollments","href":"/api-reference/train/list-user-phase-enrollments"},{"title":"List Phases","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/train/phases","href":"/api-reference/train/list-phases"}]},{"group":"Research Access","pages":[{"title":"List eligible Research recipients","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/research-access/recipients","href":"/api-reference/research-access/list-eligible-research-recipients"}]},{"group":"Quality Assurance","pages":[{"title":"List Feedback Reports","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/qa/user/{userId}/reports","href":"/api-reference/quality-assurance/list-feedback-reports"},{"title":"List Evaluations","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/qa/user/{userId}/evaluations","href":"/api-reference/quality-assurance/list-evaluations"}]},{"group":"MCP Resources","pages":[{"title":"Search the Resource Center","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/mcp/resources/resource-center/search","href":"/api-reference/mcp-resources/search-the-resource-center"},{"title":"Get Media by ID","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/mcp/resources/media/{mediaId}","href":"/api-reference/mcp-resources/get-media-by-id"},{"title":"Get a knowledge item's current card","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/mcp/resources/knowledge/{knowledgeId}/card","href":"/api-reference/mcp-resources/get-a-knowledge-items-current-card"},{"title":"Get a knowledge version's source document","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/mcp/resources/knowledge-versions/{versionId}/source","href":"/api-reference/mcp-resources/get-a-knowledge-versions-source-document"},{"title":"Get the version before a knowledge version","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/mcp/resources/knowledge-versions/{versionId}/previous","href":"/api-reference/mcp-resources/get-the-version-before-a-knowledge-version"},{"title":"Get Incident by ID","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/mcp/resources/incidents/{incidentId}","href":"/api-reference/mcp-resources/get-incident-by-id"},{"title":"List configured geo areas","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/mcp/resources/geo-areas","href":"/api-reference/mcp-resources/list-configured-geo-areas"},{"title":"Get Event by ID","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/mcp/resources/events/{eventId}","href":"/api-reference/mcp-resources/get-event-by-id"},{"title":"Get ePCRs by Event ID","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/mcp/resources/epcrs/{eventId}","href":"/api-reference/mcp-resources/get-epcrs-by-event-id"},{"title":"List ePCR attachments by Event ID","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/mcp/resources/epcr-attachments/{eventId}","href":"/api-reference/mcp-resources/list-epcr-attachments-by-event-id"}]},{"group":"Audit Log Export","pages":[{"title":"Export Audit Log Records","deprecated":null,"version":null,"openapi":"https://app.govworx.net/u/api-docs get /api/v1/external/logs","href":"/api-reference/audit-log-export/export-audit-log-records"}]}]},{"group":"Realtime API Reference","pages":[{"title":"Introduction","href":"/api-reference/realtime-introduction"},{"title":"CAD Vendor Guide","href":"/api-reference/realtime-cad-integration"},{"group":"Webhook Handlers","pages":[{"title":"Call Events","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs post /webhookhandler/call","href":"/api-reference/webhook-handlers/call-events"},{"title":"CAD Integration Events","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs post /webhookhandler/cad","href":"/api-reference/webhook-handlers/cad-integration-events"},{"title":"Assistant Events","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs post /webhookhandler/assistant","href":"/api-reference/webhook-handlers/assistant-events"}]},{"group":"Webhook Registration","pages":[{"title":"Call Events Registration","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs post /realtime/v1/webhook/call","href":"/api-reference/webhook-registration/call-events-registration"},{"title":"Delete Call Events Registration","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs delete /realtime/v1/webhook/call/{id}","href":"/api-reference/webhook-registration/delete-call-events-registration"},{"title":"Update Call Events Registration","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs patch /realtime/v1/webhook/call/{id}","href":"/api-reference/webhook-registration/update-call-events-registration"}]},{"group":"Realtime Calls","pages":[{"title":"Stream Call Audio","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs post /realtime/v1/call/{id}/audio/stream","href":"/api-reference/realtime-calls/stream-call-audio"},{"title":"Seek Live Audio Stream","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs post /realtime/v1/call/{id}/audio/stream/{streamId}/seek","href":"/api-reference/realtime-calls/seek-live-audio-stream"},{"title":"Pause/Unpause Audio Stream","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs post /realtime/v1/call/{id}/audio/stream/{streamId}/pause","href":"/api-reference/realtime-calls/pauseunpause-audio-stream"},{"title":"Get Calls","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs get /realtime/v1/call","href":"/api-reference/realtime-calls/get-calls"},{"title":"Get Call","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs get /realtime/v1/call/{id}","href":"/api-reference/realtime-calls/get-call"},{"title":"Get Call Transcript Segments","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs get /realtime/v1/call/{id}/transcript","href":"/api-reference/realtime-calls/get-call-transcript-segments"},{"title":"Retrieve Call Events Registration","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs get /realtime/v1/call/webhooks","href":"/api-reference/realtime-calls/retrieve-call-events-registration"}]},{"group":"CAD Integration","pages":[{"title":"Link Incident","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs post /realtime/v1/cad/incident","href":"/api-reference/cad-integration/link-incident"},{"title":"Incident Notes","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs get /realtime/v1/cad/incident/{callId}/notes","href":"/api-reference/cad-integration/incident-notes"}]},{"group":"Authentication","pages":[{"title":"Generate token","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs post /realtime/v1/auth/token","href":"/api-reference/authentication/generate-token"}]},{"group":"CAD Integration Handler","pages":[{"title":"Allows Assist to set the active response plan for an Incident.\n","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs post /cad-integration-handler/response-plan","href":"/api-reference/cad-integration-handler/allows-assist-to-set-the-active-response-plan-for-an-incident"},{"title":"Allows for sending CAD Incident Notes/Remarks.","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs post /cad-integration-handler/notes","href":"/api-reference/cad-integration-handler/allows-for-sending-cad-incident-notesremarks"},{"title":"Allows for metadata fields to be set on a CAD Incident.\n","deprecated":null,"version":null,"openapi":"https://realtime.govworx.net/u/api-docs post /cad-integration-handler/fields","href":"/api-reference/cad-integration-handler/allows-for-metadata-fields-to-be-set-on-a-cad-incident"}]}]}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp-tools"}]}]},"basePath":"","title":"Append Knowledge version - GovWorx API Documentation","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js","Markdown-DfhCTwyA.js","clsx-xpJZXxdP.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BTZUMDnx.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-DqdKa2R4.js"]}